PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL...

133
PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL MENGGUNAKAN MEDIA IP BERBASIS OPEN SOURCE oleh : FITRI MULIANTI S 107091002778 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H

Transcript of PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL...

Page 1: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL MENGGUNAKAN MEDIA IP

BERBASIS OPEN SOURCE

oleh :

FITRI MULIANTI S

107091002778

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2011 M / 1432 H

Page 2: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV

DIGITAL MENGGUNAKAN MEDIA IP BERBASIS OPEN SOURCE

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

FITRI MULIANTI S

107091002778

PROGRAM STUDI TEKNIK INFORMASI

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2011 M / 1432 H

ii

Page 3: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV

DIGITAL MENGGUNAKAN MEDIA IP BERBASIS OPEN SOURCE

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh

Gelar Sarjana Komputer

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Fitri Mulianti S

107091002778

Menyetujui,

Pembimbing I,

Victor Amrizal, M.Kom NIP. 150411288

Pembimbing II,

Nenny Anggraini, MT NIP. -

Mengetahui,

Ketua Program Studi Teknik Informatika

Yusuf Durrachman, MIT, M.Sc NIP. 19710 522 200 604 1 002

iii

Page 4: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

PENGESAHAN UJIAN

Skripsi berjudul “Perancangan Aplikasi Antarmuka Pemancar Siaran TV

Digital Menggunakan Media IP Berbasis OpenSource” yang ditulis oleh Fitri

Mulianti S, NIM 107091002778 telah diuji dan dinyatakan lulus dalam sidang

Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif

Hidayatullah Jakarta pada tanggal 23 September 2011. Skripsi ini telah diterima

sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) Program

Studi Teknik Informatika.

Menyetujui :

Penguji I Penguji II

Hendra Bayu Suseno, M.Kom NIP. 198212 11 200912 11 003

Feri Fahrianto, M.Sc NIP. 19800829 201 101 1 002

Pembimbing I Pembimbing II

Victor Amrizal, M.Kom NIP. 150411288

Nenny Anggraini,MT NIP. - 

Mengetahui :

Dekan Fakultas Sains dan Teknologi

DR. Syopiansyah Jaya Putra, M.Sis NIP. 19680117 200112 1001

Ketua Program Studi Teknik Informatika

Yusuf Durrachman, MIT, M.Sc NIP. 19710 522 200 604 1 002

 

iii  

Page 5: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

HALAMAN PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-

BENAR ASLI KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI

ATAU LEMBAGA MANAPUN.

Jakarta, 23 September 2011

Fitri Mulianti S 107091002778

v

Page 6: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

ABSTRAK

Fitri Mulianti S (107091002778), Perancangan Aplikasi Antarmuka Pemancar siaran

TV Digital Menggunakan Media IP berbasis Open Source. (Di bawah bimbingan

Victor Amrizal, M.Kom dan Nenny Anggraini, MT)

Perkembangan Teknologi Telekomunikasi terutama pada dunia sistem penyiaran

TV (television broadcasting) telah mengalami perkembangan yang sangat pesat. Sistem

penyiaran TV mulai beralih dari sistem TV analog menjadi sistem TV digital. Salah satu

cara menerima program siaran TV digital adalah IPTV (Internet Protocol Televisi).

Penerima program siaran TV digital berbasis IPTV dapat menggunakan perangkat keras

PC (personal computer) atau laptop.

Penyiaran IPTV dapat menggunakan software berbasis Open Source yaitu

Open Caster dengan topologi jaringan lokal maupun internet. Pada OpenCaster

terdapat fungsi-fungsi untuk melakukan proses multiplexing atau manipulasi data

transport stream yang dijalankan melalui sebuah terminal. Pengguna harus

mengetikkan sintak yang diperlukan dalam menjalankan fungsi-fungsi

OpenCaster. Dan format video yang dapat digunakan dalam proses multiplexing

hanya video dengan format *.ts.

Dalam Tugas Akhir ini , penulis merancang aplikasi antarmuka untuk membantu

dan memudahkan dalam menerapkan penyiaran televisi digital, terutama IPTV. Aplikasi

ini menjadi perantara antara pengguna dengan OpenCaster tanpa harus menggunakan

terminal secara langsung. Aplikasi ini juga dirancang agar format video selain

*.ts(transport stream) dapat digunakan. Penyiaran konten berupa non-transport stream

dapat memungkinkan dengan bantuan ffmpeg dalam membantu proses konversi video

non-transport stream menjadi transport stream untuk kemudian dilakukan multiplexing.

Kata kunci: televisi digital, IPTV, Internet Protocol, software, transport stream , non-

transport stream, multiplexing, open source

vi  

Page 7: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

KATA PENGANTAR

Assalamualaikum, Wr. Wb

Segala puji dan syukur ke Hadhirat Allah Yang Maha Pengasih dan

Penyayang telah memberikan karunia yang melimpah sehingga penulis dapat

menyelesaikan Skripsi ini, dan shalawat serta salam semoga selalu terlimpah

kepada junjungan kita Nabi Besar Muhammad SAW, Beserta para keluarga,

Sahabat beserta para keluarga, Sahabat serta para pengikutnya hingga akhir zaman

kelak.

Penulisan skripsi ini disusun sebagai salah satu syarat untuk memperoleh

gelar sarjana komputer pada fakultas sains dan teknologi Universitas islam negeri

syarif hidayatullah jakarta. Adapaun judul skripsi yang dibuat adalah

“Perancangan Aplikasi Antarmuka Pemancar Siaran TV Digital

Menggunakan Media Ip Berbasis Open Source”

Penulis menyadari selesainya Skripsi ini tidak terlepas dari berbagai pihak

yang dengan rela membantu, mulai dari pelaksanaan penelitian sampai dengan

selesainya laporan ini. Karena hal tersebut, Penulis ingin mengucapkan terima

kasih kepada:

1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan

Teknologi UIN Syarif Hid.ayatullah Jakarta.

2. Bapak Yusuf Durrachman, MIT, M.Sc selaku Ketua Program Studi Teknik

Informasi Informasi dan Sekretaris Program Studi Teknik Informasi

Informasi, Ibu Viva Arifin, M.MSi.

vii

Page 8: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

3. Bapak Victor Amrizal, M.Kom selaku Dosen Pembimbing I dan Ibu Nenny

Anggraini, MT selaku Dosen Pembimbing II.

4. Papa dan Ibu tercinta yang senantiasa memberikan semangat dan selalu

senantiasa mendoakan kelancaran skripsi saya serta dorongan materil yang

cukup sampai saya bisa menyelesaikan kuliah saya.

5. Bapak Dr.Hary Budiarto selaku pembimbing dari BPPT.

6. Bapak Sofyan Mufti Prasetyo, Tri Miyarno, dan Muhammad Setiyobudi

selaku pembimbing lapangan di BPPT yang senantiasa membantu kami.

7. Triono yang telah membantu saya dalam menyelesaikan aplikasi, Nurul

Hidayah teman sepejuangan yang senantiasa bersama-sama dalam

pembuatan skripsi ini.

8. Teman-teman TI C 2007 dan TI Multimedia, yang tidak bisa disebutkan

satu per satu.

9. Teman-teman kosan saya yang selalu memberikan semangat kepada saya,

terima kasih kak veby, teh ela, inni (mamak), Zahra, haen, mini, enong,

widya, pipit dan juga ibu kos.

10. Terima Kasih kepada putri (puput) , Mama dan adik-adiknya yang

senantiasa menerima saya dirumah mereka sebagai tempat untuk

mengerjakan skripsi.

11. Kepada semua pihak yang telah memberikan dorongan moril dan materil

selama penyelesaian skripsi ini.

viii

Page 9: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

ix

Penulis menyadari bahwa penyusunan Skripsi ini masih terlalu banyak

kekurangan, oleh karena itu Penulis mengharapakan kritik dan saran yang bersifat

membangun agar penyusunan laporan ini menjadi lebih baik lagi.

Akhir kata, semoga skripsi ini bermanfaat khususnya kepada Penulis sendiri

dan umumnya bagi yang membaca.

Jakarta, 23 September 2011

Fitri Mulianti S

Penulis

Page 10: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

DAFTAR ISI

Halaman

Halaman Judul i

Halaman Sampul ii

Lembar Persetujuan Pembimbing iii

Lembar Pengesahan Ujian iv

Halaman Pernyataan v

Abstrak vi

Kata Pengantar vii

Daftar Isi x

Daftar Gambar xiv

Daftar Tabel xvi

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Permasalahan 4

1.2.1 Identifikasi Masalah 4

1.2.2 Rumusan Masalah 4

1.2.3 Batasan Masalah 5

1.3 Tujuan dan Manfaat 5

1.3.1 Tujuan 5

1.3.2 Manfaat 6

x  

Page 11: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

1.4 Metode penelitian 7

1.4.1 Metode Pengumpulan Data 7

1.4.2 Metode Pengembangan Sistem 7

1.5 Sistematika penulisan 8

BAB II LANDASAN TEORI 10

2.1 Pengertian Aplikasi 10

2.2 TV Digital 10

2.2.1 Standar Siaran TV Digital 11

2.2.2 Penerimaan Siaran TV Digital 13

2.3 Internet Protokol 15

2.4 Broadcasting 18

2.4.1 Broadcast Address 20

2.4.2 Multicast Address 21

2.5 Standar Kompresi MPEG-2 23

2.5.1 MPEG-2 Transport Stream 24

2.5.2 Multiplexing 29

2.6 OpenCaster 30

2.7 FFMPEG 33

BAB III METODELOGI PENELITIAN 38

3.1 Metode Pengumpulan Data 38

3.1.1 Studi Pustaka 38

3.1.2 Studi Literatur 39

3.1.3 Observasi 39

xi  

Page 12: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

3.3 Metode Perancangan Aplikasi 40

3.3.1 Envision (Membayangkan) 42

3.3.2 Conduct User and Task Analysis 42

3.3.3 Design and Prototype 43

3.3.4 Evaluate and Refine 43

3.3.5 Complete Detailed and Production 44

3.3.6 Release and Follow Up 44

BAB IV ANALISIS DAN PERANCANGAN SISTEM 46

4.1 Profil BPPT 46

4.4.1 Sejarah BPPT 46

4.4.2 Struktur Organisasi BPPT 47

4.4.3 Visi dan Misi BPPT 48

4.2 Hasil Observasi 48

4.3 Alasan Menggunakan Metode LUCID 52

4.4 Metode Pengembangan Aplikasi 54

4.3.1 Envision (Membayangkan) 54

4.3.2 Conduct User and Task Analysis 55

4.3.3 Design and Prototype 59

4.3.4 Evaluate and Refine 71

4.3.5 Complete Detailed and Production 73

4.3.6 Release and Follow Up 80

4.3.6.1 Sisi Pemancar 80

4.3.6.2 Sisi Klien 84

xii  

Page 13: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB V PENUTUP 87

5.1 Kesimpulan 87

5.2 Saran 88

DAFTAR PUSTAKA 89

LAMPIRAN SOURCE CODE 86

xiii  

Page 14: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

DAFTAR GAMBAR

Halaman

Gambar 2.1 Anycast 19

Gambar 2.2 Broadcast 19

Gambar 2.3 Multicast 20

Gambar 2.4 Pemetaan Alamat IP ke Alamat Ethernet 23

Gambar 2.5 MPEG-2 digunakan di DVB dan DVD 24

Gambar 2.6 Alur Model MPEG-2 transport stream 25

Gambar 2.7 Paket Transport Stream 26

Gambar 2.8 Skema Multiplexer 2 ke 1 29

Gambar 2.9 Bagian Komponen MPEG-2 transport stream pada proses

Multiplexing 30

Gambar 4.1 Struktur Organisasi BPPT 47

Gambar 4.2 Model Topologi yang dapat diterapkan 49

Gambar 4.3 Layer Program 50

Gambar 4.4 Proses Multiplexing Program 51

Gambar 4.5 Rancangan Penyiaran 55

Gambar 4.6 Usecase Diagram 60

Gambar 4.7 Sequence Diagram 61

Gambar 4.8 Class Diagram 68

Gambar 4.9 Flowchart Proses Video 65

Gambar 4.10 Layar Login 68

Gambar 4.11 Layar Simpan Konfigurasi 69

xiv  

Page 15: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

Gambar 4.12 Layar Tab Video 69

Gambar 4.13 Layar Tab Play 71

Gambar 4.14 Layar Utama 78

Gambar 4.15 Perancangan Latar Belakang 79

Gambar 4.16 Tampilan Login 80

Gambar 4.17 Halaman Konfigurasi Sistem 81

Gambar 4.18 Halaman Tab Video 82

Gambar 4.19 Halaman Tab Play 84

Gambar 4.20 Masukan UDP Protokol 85

Gambar 4.21 Hasil Siaran 85

Gambar 4.22 Pemilihan Program 86

xv  

Page 16: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

xvi  

DAFTAR TABEL

Halaman

Tabel 2.1 Daftar beberapa fungsi OpenCaste 32

Tabel 4.1 Variasi Pilihan Singkatan FrameSize 34

Tabel 4.1 Konsep Rancangan Umum 54

Page 17: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB I

Pendahuluan

1.1. Latar Belakang

Perkembangan Teknologi Telekomunikasi terutama pada dunia sistem

penyiaran TV (television broadcasting) telah mengalami perkembangan yang

sangat pesat. Sistem penyiaran TV mulai beralih dari sistem TV analog

menjadi sistem TV digital. Istilah TV digital bukanlah merujuk kepada

pesawat TV digunakan melainkan lebih kepada penggunaan sinyal digital

dalam penyiaran program televisi. Siaran digital hanya mengenal dua kondisi

status, terima (kode 1) atau tidak (kode 0).

Siaran digital ini atau yang lebih dikenal dengan TV Digital

memberikan banyak kelebihan dibandingkan dengan TV analog :

1. Sinyal Digital memungkinkan kompresi data dan transmisi data yang lebih

efisien, sehingga dapat menampung beberapa program siaran dalam satu

kanal frekuensi. Dibandingkan siaran TV analog yang mensyaratkan satu

program siaran dalam satu kanal frekuensi.

2. TV Digital menghasilkan kualitas gambar yang lebih jernih, Ketajaman

gambar pada televisi tergantung pada kerapatan titik gambar per-

sentimeter persegi, yang disebut dengan pixel. TV Analog maksimal

memiliki kerapatan gambar 512x400 pixel. Sedangkan TV Digital bisa

memiliki kerapatan gambar yang lebih besar dari TV analog.

Siaran TV digital dapat diterima di pesawat TV analog dengan

menggunakan Set- Top-Box (sebuah alat pengubah sinyal digital menjadi

1

Page 18: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

2

gambar dan suara dan menampilkannya pada pesawat televisi analog).

Terdapat beberapa cara yang telah dirancang untuk menerima siaran

TV Digital, yaitu : melalui kabel atau sering disebut dengan digital cable dan

melalui satelit atau disebut digital satellite. Standar lain, seperti DMB

(Digital Multimedia Broadcasting) dan DVB-H (Digital Video Broadcasting-

Handheld), yang dirancang untuk menangani perangkat keras seperti telepon

genggam untuk menerima program siaran TV Digital. Dan cara lain untuk

menerima program siaran TV digital adalah IPTV (Internet Protocol Televisi),

dengan IPTV dapat menerima program siaran TV digital melalui internet

protocol, menggunakan koneksi broadband DSL(Digital Subscriber Line)

menggunakan media kabel telepon atau dengan kabel serat optik.

Kesimpulan, IPTV merupakan alternatif untuk menerima sinyal siaran TV

Digital melaui internet.

Dengan IPTV penonton tidak lagi tergantung dengan jadwal program

yang telah ditentukan oleh penyedia program (provider). Sebaliknya

penonton dapat memilih sendiri program yang mereka inginkan yang dapat

diperoleh dari daftar acara yang tersedia, tanpa harus menunggu jadwal yang

telah disusun oleh penyedia program siaran televisi.

Penerima program siaran TV digital berbasis IPTV dapat

menggunakan perangkat keras PC (personal computer) atau laptop karena

data yang disiarkan sudah dalam data digital yang artinya sudah dapat

langsung dibaca/diterjemahkan oleh bahasa mesin.

Page 19: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

3

Penyiaran konten TV digital melalui IPTV dapat menggunakan

perangkat lunak OpenCaster. Pada OpenCaster terdapat fungsi-fungsi untuk

melakukan proses multiplexing atau manipulasi data transport stream yang

dijalankan melalui sebuah terminal. Pengguna harus mengetikkan sintak yang

diperlukan dalam menjalankan fungsi-fungsi OpenCaster. Dan format video

yang dapat digunakan dalam proses multiplexing hanya video dengan format

*.ts.

Berdasarkan uraian diatas, penulis bermaksud untuk merancang

aplikasi antarmuka untuk membantu dan memudahkan dalam menerapkan

penyiaran televisi digital, terutama IPTV. Aplikasi ini menjadi perantara

antara pengguna dengan OpenCaster tanpa harus menggunakan terminal

secara langsung. Aplikasi ini juga dirancang agar format video selain

*.ts(transport stream) dapat digunakan. Dalam perancangan aplikasi

antarmuka untuk IPTV ini, penulis menggunakan open source. Alasan penulis

memilih menggunakan open source dalam perancangan perangkat lunak yaitu

mendapatkan kelegalan dari perangkat lunak dengan biaya minimum atau

hampir tidak berbayar. Selain itu open source juga telah terkenal

kehandalannya dalam pemanfaatannya sebagai jaringan.

Berdasarkan latar belakang di atas maka penulis membuat tugas akhir

dengan judul "Perancangan Aplikasi Antarmuka Pemancar siaran TV Digital

Menggunakan Media IP berbasis Open Source”. Penelitian dan perancangan

dilakukan di BPPT (Badan Pengkajian dan Penerapan Teknologi), di Pusat

Teknologi Informasi dan Komunikasi Gedung II BPPT Lantai 21,

Page 20: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

4

Jalan M.H.Thamrin No.8, Jakarta Pusat. Diharapkan dengan adanya aplikasi

ini, dapat menjadi contoh dasar dalam mempelajari cara memancarkan siaran

TV digital menggunakan IPTV.

1.2. Permasalahan

Terdapat beberapa pokok permasalahan dalam mewujudkan proses

penyiaran konten IPTV yang akan dilakukan penelitian lebih lanjut :

1.2.1. Identifikasi Masalah

1. Tingkat ketelitian pengguna menjadi masalah dalam menjalankan

sintaks menggunakan terminal. Mengurangi kesalahan dan

mempermudah pengetikan sintak fungsi dari OpenCaster untuk

meminimalisasi erorrs atau dengan kata lain proses tidak dapat

dilakukan.

2. Format video yang hanya berupa format *.ts menjadi keterbatasan

dalam menyiarkan konten TV digital sehingga perlu penambahan

format lain agar lebih bervariasi.

3. Perkembangan dunia internet mengubah kebiasaan sebagian orang

dimana kebutuhan untuk menonton televisi tidak hanya didapat

melalui perangkat televisi melainkan penonton dapat melihat siaran

TV melalui internet.

1.2.2. Rumusan Masalah

1. Bagaimana merancang GUI (antarmuka) untuk penyiaran konten

berbasiskan IP dengan menggunakan java?

Page 21: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

5

2. Bagaimana memancarkan siaran TV digital yang lebih interaktif?

3. Bagaimana video selain .*ts (transport stream) dapat disiarkan

menggunakan aplikasi ini?

4. Bagaimana mengahasilkan video yang akan dipancarkan dengan

ukuran video yang kecil namun dengan kuliatas yang cukup bagus?

1.2.3. Batasan Masalah

Permasalahan yang akan dibahas hanya akan dibatasi oleh

beberapa pokok masalah dibawah ini:

1. Aplikasi antarmuka yang hanya bisa dilakukan oleh admin.

2. Aplikasi antarmuka ini digunakan untuk melakukan proses

multiplexing, konversi video, filter data video dan melakukan

playout / memancarkan berkas transport stream.

3. Aplikasi hanya berjalan pada platform linux.

4. Layanan IPTV terbatas pada penyiaran konten.

5. Penerima atau klien hanya dapat menerima siaran TV digital

dengan menggunakan media PC atau laptop.

1.3. Tujuan dan Manfaat

Adapun tujuan dan manfaat yang dilakukan penelitian ini diuraikan

sebagai berikut :

1.3.1. Tujuan

1. Menghasilkan suatu aplikasi GUI penyiaran IPTV berbasis software

open source.

2. Menghasilkan video yang berukuran rendah dengan kualitas yang

Page 22: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

6

1.3.2. Manfaat

• Bagi Penulis

1. Sebagai salah satu syarat kelulusan dalam menyelesaikan

Program Strata 1.

2. Menambah ilmu dan pengetahuan penulis, khususnya dalam

bidang TV Digital.

• Bagi Universitas

1. Dapat menjadi sumbangan karya ilmiah dalam disiplin ilmu

teknologi informasi.

2. Mengetahui kemampuan mahasiswa dalam menguasai materi

ilmu yang telah diperoleh selama kuliah.

3. Mengimplementasikan ilmunya dan sebagai bahan evaluasi.

• Bagi Pengguna dan Penerima layanan IPTV

1. Memberikan kemudahan dalam melakukan penyiaran dan

menikmati layanan IPTV.

2. Penonton dapat dengan bebas menonton dimana saja dengan

menggunakan perangkat keras laptop .

3. Penonton atau klien dapat bebas memilih program TV yang

mereka suka.

4. Tidak perlu mengikuti jadwal siaran televisi disusun oleh jaringan

televisi.

Page 23: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

7

1.4. Metodologi Penelitian

Pada penulisan skripsi ini, metode penelitian yang digunakan meliputi

dua metode, metode pengumpulan data dan metode pengembangan teknologi.

1.4.1. Metode Pengumpulan Data

Dalam proses penulisan skripsi ini, bentuk metodologi

pengumpulan data yang akan dilakukan antara lain:

1. Studi pustaka, yakni mengumpulkan data - data dari berbagai buku,

jurnal, karya ilmiah dan sumber bacaan dari situs internet yang

berkaitan dengan masalah yang akan dibahas dalam pembuatan

aplikasi return channel ini.

2. Studi Literature, menggunakan referensi lain berupa : bahan tulisan

dari skripsi atau penelitian yang objek pembahasannya hampir sama

3. Observasi, yakni teknik pengumpulan data dengan jalan pengamatan

langsung secara sistematis terhadap objek penelitian.

1.4.2. Metode Pengembangan Sistem

Perancangan aplikasi ini menggunakan metode Lucid (Logical

User-Centered Design). LUCID adalah suatu kerangka kerja untuk

melakukan kegiatan yang mendefinisikan dan bentuk produk interaktif.

Pada awalnya diciptakan untuk mendukung pengembangan perangkat

lunak yang sangat bermanfaat dan situs web.

Enam tahapan pada metode Logical User-Centered Design

(Charles B. Kreitzberg, PhD) yaitu :

Page 24: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

8

1. Envision (Membayangkan)

2. Conduct User and Task Analysis (Perilaku pengguna dan Analisis

tugas)

3. Design and Prototype (Rancangan dan Prototipe)

4. Evaluate and Refine (Evaluasi dan Perulangan)

5. Complete Detailed Design and Production (Melengkapi detail

Rancangan dan Produksi)

6. Release and Follow Up (Rilis dan tindakan lanjut)

1.5. Sistematika Penulisan

Secara garis besar. Sistematika penulisan skripsi ini dibagi menjadi 5 bab,

yaitu :

BAB I PENDAHULUAN

Pendahuluan yang terdiri dari latar belakang dilakukannya

penelitian, perumusan masalah, pembatasan masalah, tujuan, dan

manfaat yang dapat diambil dari penelitian ini.

BAB II LANDASAN TEORI

Bab ini akan menguraikan teori-teori yang digunakan sebagai

landasan atau dasar dari penulisan skripsi ini, serta menjelaskan

secara singkat perangkat lunak yang digunakan dalam perancangan

aplikasi.

BAB III METODOLOGI PENELITIAN

Bab ini berisi metodologi penelitian yang menggunakan dua tahap

berupa metode pengumpulan data dan metode perancangan

Page 25: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

9

aplikasi (Logical User-Centered Design).

BAB IV ANALISIS DAN PERANCANGAN APLIKASI

Bab ini akan diuraikan dan membahas analisis terhadap kebutuhan

sistem, serta implementasi perancangan aplikasi.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang dapat diambil dari penulisan skripsi

ini dan saran untuk memperbaiki dan mengembangkan aplikasi ini.

Page 26: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB II

LANDASAN TEORI

2.1. Pengertian Aplikasi Antarmuka

Application atau sering disebut program aplikasi adalah program yang

siap pakai. Program yang direka untuk melaksanakan suatu fungsi bagi

pengguna atau aplikasi yang lain. Contoh-contoh aplikasi adalah program

pemoroses kata, dan web browser. Aplikasi akan menggunak sistem operasi

(OS) komputer dan aplikasi yang lainnya yang mendukung. Istilah ini masuk

kedalam istilah Teknologi Informasi semenjak tahun 1993, yang biasanya

juga disingkat dengan app. App adalah software yang dibeli perusahaan dari

tempat pembuatannya.

Application Interface atau dalam bahasa Indonesia aplikasi

antarmuka adalah penghubung antar aplikasi, misalnya sekumpulan software

yang memungkinkan programmer untuk memasuki suatu sistem dan memakai

layanan yang disediakan didalam suatu jaringan.

2.2. TV Digital

Digital Television (DTV) atau sering disebut TV Digital adalah

transmisi dari audio dan video menggunakan sinyal digital, kebalikan dari

sinyal analog yang digunakan pada TV Analog. Televisi digital mendukung

format gambar yang berbeda didefinisikan oleh kombinasi dari ukuran, rasio

aspek (lebar x tinggi rasio) dan interlace (teknik menggandakan frame rate

yang dirasakan dari sinyal video tanpa mengkonsumsi bandwidth ekstra.).

Dari berbagai format yang ada, penyiaran digital terresterial dibagi menjadi

10

Page 27: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

11

dua kategori format yaitu HDTV(High-defenition television) dan SDTV

(Standard definition television). High-definition televisi (HDTV) adalah

format televisi digital memberikan gambar berkualitas teater dan kualitas

suara CD. HDTV merupakan salah satu dari beberapa format yang berbeda

yang dapat ditransmisikan melalui DTV, menggunakan beberapa format,

diantaranya : 1280x720 pixel di modus progressive scan (ringkas 720p) or

1920×1080 pixels dimodus interlace (1080i). Progresif (atau pemindaian

noninterlaced) adalah cara menampilkan, menyimpan, atau mengirimkan

gambar bergerak di mana semua baris dari setiap frame digambar secara

berurutan. HDTV tidak dapat ditransmisikan melalui saluran analog saat ini.

Standart definition TV (SDTV), dapat menggunakan salah satu dari

beberapa format yang berbeda mengambil bentuk berbagai aspek rasio

tergantung pada teknologi yang digunakan di negara yang broadcast. Untuk-

aspek ratio 4:3 dengan format 640x480 digunakan di negara yang

menggunakan sistem NTSC, sedangkan 720x576 piksel digunakan di negara

yang menggunakan sistem PAL. Untuk aspek rasio 16:9, format 704x480

digunakan di negara yang menggunakan sistem NTSC, sedangkan 720x576

digunakan di negara yang menggunakan sistem PAL.

2.2.1. Standar Siaran TV Digital

Siaran TV Digital memiliki beberapa standar, yaitu Digital

Video Broadcasting dan Advanced Television System Comitte. Berikut

akan dijelaskan secara singkat mengenai DVB dan ATSC :

Page 28: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

12

1. Digital Video Broadcasting (DVB)

DVB sebagai standar global untuk penyiaran TV digital

berawal dari pembentukan DVB project pada 11 September 1993

(Budianto dkk, Sistem TV Digital dan Prospeknya di Indonesia,

Hary(Jakarta: MultikomIndo Persada2007), hal 67). DVB Project

beranggotakan sekitar 250 broadcasters, manufacturers, network

operators, software developers, regulatory bodies dan lebih dari 35

negara berkomitmen merancang standar teknis terbuka untuk

pengiriman global dari TV digital dan data servis. Teknologi DVB

telah menjadi bagian integral dari dunia penyiaran, menetapkan

standar untuk satelit, kabel, terresterial, layanan berbasis IP

(dvb.org). Semua data ditransmisikan dalam MPEG transport

streams dengan beberapa kendala tambahan (DVB-

MPEG)(http://en.wikipedia.org/wiki/Digital_Video_Broadcasting).

2. Advanced Television System Comitte (ATSC)

Advanced Television System Comitte merupakan sebuah

organisasi non-profit yang dibentuk pada tahun 1982 yang bertugas

mengembangkan standar-standar teknis untuk semua aspek dari

televisi digital. Standar ATSC dikembangkan oleh Grand Alliance,

sebuah konsorsium perusahaan elektronik dan telekomunikasi yang

berkumpul untuk mengembangkan spesifikasi untuk apa yang

sekarang dikenal sebagai HDTV. ATSC juga menggunakan standar-

definition (SDTV) format, meskipun awalnya hanya layanan HDTV

Page 29: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

13

diluncurkan dalam format digital. Standar ATSC mendefenisikan

suatu sistem yang didesain untuk transmisi video dan audio kualitas

tinggi serta data melalui suatu kanal radio selebar 6MHz. Sistem

televisi digital ATSC menggunakann MPEG-2 untuk pengodean

video dan Digital Audio Compression (AC-3) untuk pengodean

audio (Budianto dkk,2007: 52 dan 53). Advanced Television System

Comitte untuk transmisi TV Digital melalui Teristerial , kabel dan

jaringan satelite.

2.2.2. Penerima Siaran TV Digital

Ada sejumlah cara yang berbeda untuk menerima siaran TV

Digital. Salah satu yang paling tertua cara penerimaan DTV (dan TV

secara unum) adalah menggunakan antenna (atau lebih dikenal dengan

aerial di beberapa Negara). Cara ini dikenal juga sebagai Digital-

Terresterial Television (DTT).Cara lain yang telah dirancang untuk

penerima siaran TV Digital dengan menggunakan digital cable dan

digital satellite. Di beberapa Negara, transmisi dari sinyal Televisi

melalui gelombang micro,menggunakan digital MMDS (Multichannel

Multipoint Distribution Service). Standar lain, seperti DMB dan DVB-

H, dirancang untuk perangkat genggam seperti telepon genggam

untuk menerima sinyal TV. Cara lain menggunakan IPTV, menerima

TV melalui Internet Protocol, menggandalkan DSL atau kebel optikal.

IPTV merupakan cara alternative untuk menerima sinyal TV Digital

melalui internet. Sebagai contoh, perangkat lunak P2P (peer-to-peer)

Page 30: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

14

televisi Internet yang dapat digunakan untuk menonton TV pada

komputer.

Berikut merupakan penjelasan secara singkat mengenai digital

terestrial, digital cable, digital satellite:

1. Digital Terrestrial Television (DTTV or DTT) adalah evolusi dan

perkembangan teknologi dari terrestrial televisi analog, untuk

jaringan siaran darat yang ditangkap melalui antenna. Tujuan dari

Terrestrial TV Digital hampir sama dengan digital versus analog

pada platform lain seperti kebel, satelit, ditandai dengan

pengurangan penggunaan spektrum dan kapasitas lebih dari analog,

kualitas gambar lebih baik, dan biaya operasi yang lebih rendah

untuk siaran dan transmisi setelah biaya upgrade awal. Sebuah-

implementasi teknologi terestrial televisi digital menggunakan

siaran udara untuk antena konvensional (atau udara), bukan dari

parabola atau koneksi kabel.

2. Digital cable adalah istilah generik untuk semua jenis distribusi

televisi kabel menggunakan kompresi video digital atau distribusi,

Teknologi Digital Cable telah memungkinkan penyedia saluran

kabel untuk mengkompresi video sehingga mereka mengambil

sedikit ruang frekuensi dan menawarkan berbagai kemampuan

komunikasi dua arah. Hal ini memungkinkan penyedia kabel digital

untuk menawarkan lebih banyak saluran, video on demand (tanpa

menggunakan saluran telepon), layanan telepon, internet kecepatan

Page 31: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

15

tinggi, dan layanan televisi interaktif. Selain itu, teknologi digital

kabel memungkinkan untuk koreksi kesalahan untuk memastikan

kualitas sinyal yang diterima dan menggunakan sistem distribusi

digital yang aman (yaitu sinyal enkripsi yang aman untuk

mencegah penyadapan dan pencurian pelayanan.)

3. Televisi satelit adalah televisi disampaikan dengan cara

komunikasi satelit dan diterima oleh antena luar, biasanya

menggunakan parabola, dan sejauh pengguna rumah tangga yang

bersangkutan, penerima satelit baik dalam bentuk seperangkat

eksternal set-top box atau modul tuner satelit dibangun menjadi

sebuah TV. Tuner TV satelit juga tersedia sebagai kartu atau USB

stick harus terpasang ke komputer. Di banyak daerah di dunia

televisi satelit menyediakan berbagai saluran dan layanan, sering ke

daerah-daerah yang tidak dilayani oleh penyedia terestrial atau

kabel.

Siaran televisi satelit langsung datang ke masyarakat umum

dalam dua cara yang berbeda - analog dan digital. Analog televisi

satelit digantikan oleh televisi satelit digital dan yang terakhir akan

tersedia dalam kualitas yang lebih dikenal sebagai high-definition

television.

2.3. Internet Protocol Television (IPTV)

Internet protocol television (IPTV) adalah sebuah proses menyediakan

layanan televisi (video dan audio) melalui jaringan Protokol Internet(Internet

Page 32: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

16

Protocol dikenal dengan IP). Jaringan IP ini memulai, memproses dan

menerima suara atau komunikasi multimedia menggunkan IP. Sistem IP

mungkin merupakan sistem IP publik (contoh : Internet), Sistem data pribadi

(contoh : berbasis LAN), atau sistem hybrid baik publik ataupun swasta.

Pengertian lain dari IP Television (IP TV)-IP television mentransmisikan

video dan audio digital melalui data networks, biasanya melalui internet.

Layanan IPTV mungkin secara berlangganan (dibayar oleh penerima) atau

mungkin didanai oleh iklan atau instansi pemerintah. Penyiaran televisi IP

mengirimkan sinyal data multimedia kepada pengguna akhir atau ke titik

distribusi yang mengarahkan sinyal televisi digital untuk pengguna akhir

(http://www.iptvdictionary.com/).

Internet Protocol Television (IPTV) saat ini merupakan layanan

sekumpulan video (dan terkait) dikirimkan kepada konsumen untuk tujuan

hiburan. Layanan video ini mungkin meliputi:

• Video siaran langsung.

• Content on Demand

• Layanan Interactive TV (iTV)

Layanan IPTV dikirimkan ke seluruh paket jaringan transportasi

berdasarkan Protokol Internet dengan keamanan yang sesuai, kualitas layanan

dan kehandalan yang diperlukan. Jaringan IP end-to-end mengangkut sinyal

audio, video dan control sinyal antara sumber konten dan konsumen. Jaringan

IP end-to-end memiliki karaktetistik umum :

• Ini terdiri dari beberapa bagian antara konsumen akhir dan sumber

konten, misalnya, jaringan lokal, jaringan akses, jaringan inti.

Page 33: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

17

• Paket IP dapat dienkapsulasi oleh beberapa transportasi 2 lapisan

(misalnya, Ethernet frame.)

• Jaringan akses bagian dari jaringan IP terdiri dari berbagai jenis teknologi

untuk transmisi fisik yang terdapat di layer 2 yaitu protokol data unit layer

(misalnya, berbagai versi dari DSL, serat optik dan nirkabel.)

• Jaringan lokal yg merupakan bagian dari jaringan IP terdiri dari berbagai

jenis teknologi untuk transmisi fisik dari frame Ethernet (misalnya, titik ke

titik kabel data (Cat 5 atau 6), Ethernet melalui kabel coaxial, Ethernet

melalui kabel listrik dan / atau lokal nirkabel pilihan.)

• Layanan IP lainnya diaktifkan dapat disampaikan secara paralel dengan

layanan IPTV saat ini menggunakan akses yang sama.

• Perangkat lain mungkin beroperasi di jaringan lokal secara paralel dan /

atau berinteraksi dengan perangkat IPTV saat ini

(http://www.atis.org/tops/IEG/ATIS_IPTV_EG_RPT_final.pdf).

Teknologi multicast dapat mengiriman konten yang sama ke-

sejumlah pelanggan pada waktu yang bersamaan, multicast tidak membantu

pada fitur video on demand, dimana membutuhkan unique stream untuk

sampai ke rumah pengguna. Untuk mendukung VoD dan layanan lain

menggunakan sebuah unicast stream Jenis stream ini dikontrol oleh Real

Time Streaming Protocol (RTSP). Sedangkan Internet Group Management

Protocol(IGMP) digunakan untuk mendukung multicasting

MPEG2 telah menjadi format video utama untuk penyiaran tetapi

MPEG2 pindah ke lingkungan jaringan dapat menjadi bermasalah karena

Page 34: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

18

file yang terlalu besar dan akan membuat jaringan menjadi lambat. MPEG-

4/AVC (H.264) merupakan encoding (pengkodean) video yang memenuhi

persyaratan berkualitas tinggi menggunakan bandwidth yang lebih rendah.

H.264 dapat menyampaikan kualitas yang sama seperti MPEG-2 tapi

dengan lebar pita yang lebih sedikit (Budianto dkk, 2007: 22) . Hasil output

(keluaran) dari encoder MPEG-4/AVC adalah sebuah UDP-IP multicast

atau unicast dalam sebuah program tunggal MPEG-2 TS.

2.4. Broadcasting

Broadcasting adalah penyaluran konten audio dan video kekhalayak

melalui radio, televisi dan lain. Sejarah Broadcasting televisi secara

eksperimen dimulai sejak 1925, dan komersial sejak 1930-an, media

pemograman video telah ditunggu oleh masyarakat sejak lama dan cepat

berkembang bersaing dengan radio broadcasting yang telah lebih dulu. Kabel

radio atau sering disebut juga dengan kabel FM sejak 1928 dan kabel televisi

sejak 1932, keduanya menggunakan kabel coaxial, dengan prinsip

pelanyanan sebagai media transmisi untuk memproses program, baik itu radio

ataupun stasiun televesi, dengan produksi terbatas berdedikasi kabel

pemrograman. Televisi satelit ada dari sekitar tahun 1974 dan radio satelit

ada sekitar tahun 1990, Webcasting video / televisi (dari sekitar tahun 1993)

dan audio / radio (dari sekitar 1994) stream: menawarkan campuran radio

tradisional dan program siaran stasiun televisi dengan internet yang

didedikasikan pemrograman webcast.

Page 35: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

19

Pada dunia komputer, broadcasting merupakan metode pengiriman

pesan ke-semua penerima secara serentak. Penyiaran dapat dilakukan sebagai

operasi tingkat tinggi dalam program, misalnya untuk Interface Message

Passing , atau mungkin operasi jaringan tingkat rendah, misalnya untuk

penyiaran pada Ethernet. Dalam jaringan komputer, broadcasting lebih

kepada transmisi sebuah paket yang akan diterima oleh setiap perangkat pada

jaringan. (Andrew Tanenbaum (2003). Computer Networks. p.368. ISBN

0130661023.) Dalam praktenya, cakupan dari broadcast dibatasi oleh

broadcast domain. Broadcast kebalikan dari unicast addressing, dimana

sebuah host mengirim datagram ke sebuah host single yang diidentifikasi oleh

alamat IP yang unik.

Gambar 2.1. Anycast Sumber : http://en.wikipedia.org/wiki/File:Anycast.svg

28 Juni 2011, 09:31 WIB

Gambar 2.2. Broadcast Sumber : http://en.wikipedia.org/wiki/File:Broadcast.svg

28 Juni 2011, 09:31 WIB

Page 36: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

20

Penerus Internet Protocol Version 4 (IPv4), IPv6 juga tidak

menerapkan metode siaran untuk mencegah terganggunya semua node dalam

jaringan ketika hanya beberapa mungkin tertarik dalam layanan tertentu.

Sebaliknya bergantung pada multicast addressing secara konsep mirip

metode routing one-to-many . Namun, multicasting membatasi penerima

untuk bergabung dengan kelompok multicast tertentu. Ethernet dan IPv4

menggunakan semua yang alamat broadcast untuk menunjukkan paket

broadcast. Token Ring menggunakan nilai khusus dalam bidang kontrol IEEE

802.2.

Gambar 2.3. Multicast Sumber : http://en.wikipedia.org/wiki/File:Multicast.svg

28 uni 2011, 09:5 WIB

2.4.1. Broadcast address

Broadcast address adalah alamat logika di mana semua

perangkat yang terhubung ke multiple-access jaringan komunikasi

diaktifkan untuk menerima datagram. Sebuah pesan dikirim ke alamat

broadcast biasanya diterima oleh semua jaringan terpasang host,

bukan oleh host tertentu.

Page 37: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

21

Alamat Ethernet Broadcast dalam hexadecimal adalah

FF:FF:FF:FF:FF:FF. Ada beberapa tipe dari IP broadcasting :

1. Batas Alamat IP broadcast adalah 255.255.255.255. Broadcast

tidak diteruskan oleh router.

2. Sebuah broadcast diarahkan ke jaringan memiliki bentuk

x.255.255.255, dimana x adalah alamat dari jaringan kelas.

Broadcast dapat diteruskan tergantung pada program router

3. Paket data dikirim ke smua subnetwork jika paket data itu adalah

10.1.255.255 pd jaringan 10.1.0.0 dan jaringan subnetting dengan

beberapa jaringan 10.1.x.0, maka paket data itu akan dikirim ke

smua alamat subnetwork

4. Paket data dikirim dengan bentuk alamat subnet 10.1.1.255

dengan subnet mask 255.255.255.0.

2.4.2. Multicast address

"Multicast" kadang-kadang juga salah digunakan untuk

mengacu pada siaran multiplexing. Multicast biasa digunakan untuk

streaming multimedia, video conference, dan masih banyak yang lain

seiring dengan berkembangnya internet.

IP Multicast- Sebuah Internet protocol yang digunakan untuk

menyiarkan (broadcast) pesan yang sama ke beberapa penerima.

Sebuah pesan multicast IP ditransfer ke semua anggota dalam

kelompok ditetapkan (http://www.iptvdictionary.com/).

Page 38: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

22

Sebuah alamat multicast adalah identifier logis untuk sebuah

kelompok host dalam jaringan komputer, yang tersedia untuk proses

datagram atau frame yang dimaksudkan untuk multicast untuk layanan

jaringan yang ditunjuk. Pengalamatan multicast dapat digunakan di

Link Layer (dalam model OSI Layer 2), seperti Ethernet multicast,

dan pada layer internet (untuk OSI Layer 3 ) untuk Internet Protocol

Versi 4 (IPv4) atau Versi 6 (IPv6).

• Ethernet Addressing:

The internet assigned numbers authority (IANA) mengalokasikan

alamat ethernet dari 01:00:5E:00:00:00 melalui 01:00:5E:7F:FF:FF

untuk multicasting. Ini berarti ada 23 bit yang tersedia untuk ID

grup multicast.

• IP Addressing :

Rentang alamat IP multicast dimulai dari 224.0.0.0 sampai

239.255.255.255. Dalam heksadesimal yaitu E0.00.00.00 sampai

EF.FF.FF.FF. Untuk menjadi alamat multicast, tiga bit pertama dari

byte paling signifikan harus diset dan bit keempat harus jelas. Pada

alamat IP multicast terdapat 28 bit, sedangkan pada Alamat

Ethernet terdapat 23 bit sehingga ada 5 bit IP multicast tidak dapat

dipetakan ke dalam sebuah paket data Ethernet. 5 bit tersebut

adalah 5 bit yang paling signifikan.

Page 39: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

23

Gambar 2.4. Pemetaan alamat IP ke alamat Ethernet Sumber : http://www.comptechdoc.org/independent

/networking/guide/netbroadcasting.html 30 Juni 2011, 12:19 WIB

2.5. Standar Kompresi MPEG-2

MPEG-2 adalah standar untuk "pengkodean generik gambar bergerak

dan informasi audio yang terkait". MPEG-2 menggambarkan kombinasi dari

kompresi video lossy dan lossy metode kompresi data audio yang

memungkinkan penyimpanan dan transmisi film menggunakan media

penyimpanan saat ini tersedia dan bandwidth transmisi. Perkembangan

teknologi siaran TV yang mengarah ke siaran TV digital telah menetapkan

suatu standar kompresi untuk audio dan video digital yaitu MPEG-2.

Standar MPEG-2 atau ISO/IEC 13818 digunakan sebagai format dari

sinyal TV digital yang disiarkan melalui sistem terrestrial (melalui udara),

kabel dan sistem televise satelit. MPEG-2 juga merupakan spesifikasi dari

format film dan program lain yang didistribusikan pada DVD dan disc

sejenis. Seperti stasiun televisi, penerima siaran televisi, pemutar DVD, dan

perangkat lain yang sering dirancang menggunakan standar ini. MPEG-2

adalah yang kedua dari beberapa standar yang dikembangkan oleh Moving

Pictures Expert Group (MPEG) dan merupakan standar internasional

ISO/IEC 13818. Bagian 1 dan 2 dari MPEG-2 dikembangkan dalam sebuah

Page 40: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

24

tim kolaboratif bersama dengan ITU-T, dan memiliki nomor katalog masing-

masing di Seri Rekomendasi ITU-T.

Gambar. 2.5. MPEG-2 digunakan di DVB dan DVD

MPEG-2 digunakan pada Digital Video Broadcast dan Digital Versatile

Discs, MPEG transport stream, TS, dan MPEG program stream, PS, adalah

format. MPEG-2 adalah inti dari televisi digital dan format DVD. MPEG-2

video tidak dioptimalkan untuk bit rate rendah, terutama kurang dari 1 Mbit /

s = 1,000,000 bit/s pada resolusi definisi standar.

2.5.1. MPEG-2 Transport Stream

MPEG-2 Transport Stream adalah sebuah standar transmisi

dan penyimpanan audio, video dan data, digunakan pada sistem DVB

dan ATSC. Sebuah MPEG-2 Transport Stream, juga disebut sebagai

MPEG-2 atau MPEG TS atau hanya TS, adalah format khusus untuk

transmisi MPEG (MPEG-1, MPEG-2, atau MPEG-4) video muxed

dengan stream lainnya. Ini umumnya digunakan untuk televisi digital

dan streaming di seluruh jaringan, termasuk internet.

Transport stream menentukan format kontainer encapsulating

packetized elementary streams, dengan koreksi kesalahan dan fitur

Page 41: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

25

sinkronisasi streaming untuk menjaga integritas transmisi ketika sinyal

yang terdegradasi.

Gambar 2.6. Alur model MPEG-2 transport stream

Beberapa program MPEG digabungkan kemudian dikirim ke

antena pemancar. Sebuah ATSC receiver kemudian dekode file TS dan

menampilkannya.

Transport stream memiliki beberapa elemen penting, elemen-

elemen tersebut adalah :

1. Paket

Sebuah paket adalah unit dasar dari data dalam aliran

transportasi. paket memiliki data header dan payload. Header

tersebut berisikan informasi tabel diluar konten data yang terdapat di

dalam paket. Semua konten data di dalam paket berada di bagian

payload.

Page 42: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

26

Gambar 2.7. Paket transport stream

Header terdiri dari sync byte, yang nilainya 0x47, diikuti oleh

tiga flags satu-bit dan 13-bit paket Identifier (PID). Kemudian 2 bit

Scrambling control Dikuti oleh 4-bit continuity counter. Opsional

lahan transport tambahan sebagai sinyal opsional adaption field. Sisa

dari paket terdiri dari payload, Panjang dari paket adalah 188 byte.

2. PID

Setiap paket di transport stream yang terdiri dari elementary

stream memiliki paket ID 13 bit (PID) sebagai identitas dari setiap

paket tersebut saat dilakukan multiplex. Saat dilakukan demultiplex,

demultiplexer akan mengekstrak elemtary stream dari transport

stream dengan mencari paket-paket yang memiliki PID sama.

Kebanyakan aplikasi, pembagian waktu multiplexing berguna untuk

memutuskan seberapa sering PID tertentu muncul dalam aliran

transportasi.

Page 43: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

27

3. Program

Transport stream memiliki konsep program. Setiap program

tunggal dideskripsikan oleh Program Map Table (PMT) yang

memiliki PID yang unik, dan elementary streams yang terkait

dengan program yang memiliki PID tercantum dalam PMT.

Sebagai contoh, sebuah transport stream yang digunakan pada

televisi digital mungkin berisi tiga program, untuk mewakili 3 siaran

televisi. Misalkan masing-masing saluran terdiri dari satu video

stream, satu atau dua stream audio, dan setiap metadata yang

diperlukan. Sebuah penerima ingin dekode "channel" tertentu hanya

diizinkan dekode muatan dari setiap PID yang terkait dengan

program. Karena hal ini dapat membuang isi dari semua PID

lainnya. Sebuah transport stream dengan lebih dari satu program

yang disebut sebagai MPTS - Multi Program Transport Stream.

Sebuah program tunggal stream transportasi disebut sebagai SPTS.

4. PSI (Program Specific Information)

Terdapat empat tabel PSI: Program Association (PAT),

Program Map (PMT), Conditional Access (CAT), dan Network

Information (NIT).

• PAT (Program Association Table) adalah daftar semua program

yang tersedia dalam transport stream. Setiap program yang

tercantum didentifikasi dengan nilai 16-bit yang disebut

program_number. Setiap program yang tercantum dalam PAT

Page 44: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

28

memiliki nilai terkait dari PID untuk Program Map Table

(PMT). Untuk program_number bernilai 0x0000 sudah

dialokasikan untuk NIT. Akan tetapi, jika pada PAT tidak

terdapat suatu program apapun, maka NIT akan diberikan PID

0x0010. Paket TS yang berisi paket PAT informasi selalu

memiliki PID 0x0000.

• CAT - Conditional Access Table mendefinisikan jenis

pengacakan yang digunakan dan nilai-nilai PID dari transport

streams yang mengandung manajemen akses bersyarat dan hak

informasi entitlement information (EMM). PAT dikirim dengan

nilai PID 0x001.

• Program Map Tables (PMTs) berisi informasi tentang program.

Setiap program memiliki 1 PMT.

• NIT - Network Information Table (PID=10, berisi rincian dari

jaringan pembawa yang digunakan untuk mengirimkan MPEG

multiplex, termasuk frekuensi pembawa)

5. PCR (Program Clock Reference)

Pada transport stream dapat memiliki beberapa program

yang sudah di-multiplex. Setiap program diharapkan dapat

disinkronisasikan saat dilakukan decode pada setiap program. Oleh

karena itu, PCR dimasukkan saat proses multiplex dilakukan.

Page 45: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

29

2.5.2. Multiplexing

Dalam elektronik, sebuah multiplexer atau mux adalah perangkat

yang memilih salah satu dari beberapa sinyal input analog atau digital

dan meneruskan input yang dipilih ke dalam satu line.

Gambar 2.8. Skema Multiplexer 2-ke-1

Sebuah multiplexer dari 2n input memiliki n line, dimana

digunakan untuk memilih masukan mana yang akan dikirim ke ouput.

Multiplexer biasa digunakan untuk meningkatkan sejumlah data yang

dapat dikirim melalui jaringan internet dengan sejumlah waktu dan

bandwith tertentu.

Dalam telekomunikasi dan jaringan komputer, multiplexing (atau

dikenal dengan muxing) adalah sebuah metode dimana beberapa sinyal

pesan analog atau digital data stream digabungkan menjadi satu sinyal

melalui media bersama.

Multiplexing yang dimaksud disini secara teknik adalah sebuah

audio dan video stream digabung menjadi satu transport stream. Pada

sistem MPEG-2, multiplexing merupakan salah satu layanan yang

berfungsi untuk menggabungkan dua atau lebih dari elementary stream

ke dalam sebuah single stream yang dapat dibawa pada kanal transmisi.

Page 46: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

30

Gambar 2.9. Bagian komponen dari MPEG-2 transport stream pada proses multiplexing

Sumber: http://knol.google.com/k/mpeg-2-transmission#

Elementary stream (ES) merupakan suatu paket (stream) yang

hanya berisikan video atau audio saja. Dari masing-masing ES tersebut

akan dipaketkan menjadi suatu Packet Elementary Stream (PES).

Kemudian, beberapa PES akan di-multiplex menjadi suatu Program

Stream (PS). Selanjutnya PS yang bisa lebih dari satu akan di-multiplex

menjadi suatu file TS yang akan ditransmisikan pada MPEG-2 stream.

2.6. OpenCaster

Open Caster adalah kumpulan dari open source dan free software yang

berjalan pada sistem operasi linux untuk memainkan dan multiplex MPEG

transport stream (format standar untuk transmisi dan menyimpan audio,video)

OpenCaster merupakan sebuah perangkat lunak berlisensi GNU/GPL

yang dapat digunakan untuk menghasilkan paket data MPEG-2 transport

stream dan memanipulasi paket data tersebut. Perangkat lunak ini berjalan di

sistem Linux dan memiliki tujuan dasar untuk dapat melakukan multiplex

Page 47: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

31

video dan audio digital, serta mensinkronisasikan pada hasil keluaran.

Adapun pengembangan dari OpenCaster, baik dari segi tools ataupun library

yang disediakan adalah menggunakan bahasa pemrograman Python (2.4) dan

C (ANSI ’99). Python digunakan untuk menghasilkan data bagian, sedangkan

C digunakan sebagai pengkodean transport stream.

Selain menghasilkan paket data MPEG-2 transport stream dan

memanipulasi paket data, OpenCaster juga memiliki kemampuan spesifik

dalam segi fungsionalitasnya.

Berikut adalah beberapa kemampuan lainnya yang dapat dilakukan oleh

OpenCaster untuk versi terbaru, yaitu versi 3.0:

• Membuat tabel PSI/SI

• Mampu memainkan setiap jenis berkas MPEG-2 transport stream dengan

baik

• Menghasilkan data stream lainnya yang dibawa pada sebuah TS

• Mengubah filesystem di carousels DSMCC

• Memanipulasi TS secara real time yang disimpan dalam hard disk

• Melakukan multipleks transport stream constant bit rate (CBR)

• Melakukan restamp PCR, PTS & DTS

• Melakukan DVB-ASI dengan menggunakan perangkat keras PCI dan USB

• Melakukan DVB-S, DVB-T, dan DVB-C dengan menggunakan perangkat

keras DekTec DTA-110T.

• Dukungan awal untuk H264 (cek manual untuk x264 misalnya, tidak

mendukung untuk file gabungan)

Page 48: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

32

• udp transportasi stream remultiplexing (input dan ouput harus ts multicast

melalui udp)

• alat kompresi m2ts

• Mendukung frame rate 24fps

Pada OpenCaster terdapat fungsi-fungsi yang dapat dijalankan untuk

melakukan proses multiplex ataupun memanipulasi data transport stream.

Pada Tabel 2.1 memperlihatkan beberapa fungsi dalam melakukan kedua

proses tersebut yang terdapat di OpenCaster:

Tabel 2.1 Daftar beberapa fungsi pada OpenCaster.

Nama

Fungsi

Deskripsi

Tsloop Membuat berkas transport stream melakukan proses

loop.

Sintaks:

tsloop filename1.ts filename2.ts ... filenameN.ts

Tsstamp Memperbaiki PCR (Program Clock Reference) dimana

informasi pemilihan waktu pada transport stream

mengalami kesalahan.

Sintaks:

tsstamp input.ts transport_rate_bit/s

Tscbrmuxer Melakukan multiplex berbagai data, baik data audio,

video, ataupun data lainnya yang akan disiarkan melalui

transport stream.

Sintaks:

tscbrmuxer b:bitrate_pat pat.ts b:bitrate_cat cat.ts

b:pmt1_bitrate pmt1.ts b:nit_bitrate nit.ts

tspcrmeasure Mengkalkulasi laju bit dari suatu berkas transport

Page 49: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

33

stream.

Sintaks:

tspcrmeasure input.ts expected_bit/s

Tspidmapper Mengubah nilai PID yang lama ke sebuah nilai PID

yang baru.

Sintaks:

tspidmapper input.ts [b:buffer_size_in_packets] PID1 to

PID2 and PID3 to PID4 and ...

Tsnullshaper Memasukkan paket null ke dalam berkas transport

stream dengan yang berfungsi untuk mengisi transport

stream yang masih kosong.

Sintaks:

Tsnullshaper input.ts [b:packets_buffer] +file1.ts

+file2.ts +file3.ts ... t:1000 filex.ts ... s: ip.ts

tsudpsend Melakukan penyiaran audiovideo melalui jaringan IP

menggunakan protokol UDP.

Sintaks:

tsudpsend [file.ts] [ip address] [port] [bitrate]

2.7. FFmpeg

FFmpeg adalah alat konversi audio / video.. FFmpef termasuk

libavcodec, library terkemuka dari open source codec. Sebuah server

streaming untuk live broadcast juga termasuk dalam FFmpeg. FFmpeg

adalah cross-platform solusi untuk merekam, mengubah dan stream audio dan

video. FFmpeg adalah piranti lunak berlinsensi LGPL atau GPL tergantung

konfigurasi yang dipilih.

Sintaks Dasar dari command FFmpeg :

[rain]$ ffmpeg -i input.avi output.mpg

Page 50: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

34

FFmpeg secara otomatis menebak encoders mana yang akan

digunakan dengan memperhatikan format input dan file output. Pastikan

menyebutkan nama file dengan lengkap beserta dengan format file tersebut.

Generalisasi standar sintaks command dari ffmpeg :

[rain]$ ffmpeg -i inputfile.fmt1 outputfile.fmt2

Catatan : Pilihan FFmpeg selalu menerapkan ke file berikutnya dalam daftar

argumen. Tidak peduli apakah itu input atau output file. Misalnya

setiap flag/argumen yang disebutkan dalam perintah setelah nama

file input maka selanjutnya akan menjadi nama file output.

Berikut ini beberapa kombinasi sintaks yang lain yang terdapat pada ffmpeg :

1. Mengatur Resolusi atau frame size dari video menggunakan ffmpeg

Pengaturan frame size untuk hasil video akhir menggunakan flag

(tanda) '-s'.[shredder12]$ ffmpeg -i inputfile.avi -s 320x240 outputfile.avi

Dapat menggunakan notasi langsung di tempat menuliskan resolusi.

contoh: hd720 singkatan untuk 1280x720. Berikut akan ditulis beberapa

singkatan frame size lain yang sering digunakan. Lihat Tabel 2.2. Variasi

pilihan untuk singkatan frame size.

Tabel.2.2. Variasi pilihan untuk singkatan frame size

sqcif 128x96 qcif 176x144 cif 352x288 4cif 704x576 qqvga 160x120 qvga 320x240 vga 640x480 svga 800x600 xga 1024x768 uxga 1600x1200 qxga 2048x1536 sxga 1280x1024 qsxga 2560x2048 hsxga 5120x4096 wvga 852x480 wxga 1366x768 wsxga 1600x1024 wuxga 1920x1200 woxga 2560x1600 wqsxga 3200x2048 wquxga 3840x2400

whsxga 6400x4096 whuxga 7680x4800 cga 320x200

hd480 852x480 hd720 1280x720 hd1080 1920x1080

Page 51: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

35

2. Menagutur bitrate dari Video

-b <value> tanda ini digunakan untuk mengatur bitrate dari video file

[shredder12]$ ffmpeg -i input.avi -b 200k output.avi

3. Mangatur frame rate dari video

-r <value> tanda ini digunakan untuk mengatur frame rate.

[shredder12]$ ffmpeg -i input.avi -r 25 output.avi

4. Konversi High Quality file menjadi .flv format file

Spesifikasi output:

Video Bitrate: < 500 kbps

aspect ratio: 480x360

audio bitrate: 32kbps

Frames per second: 25

Menggunakan komen berikut untuk menerapkan spesifikasi diatas.

[shredder12]$ ffmpeg -i recorded_file.mov -ar 22050 -ab 32k -r

25 -s 480x360 -vcodec flv -qscale 9.5 output_file.avi

• ar digunakan untuk mengatur frekuensi audio untuk output file. Nilai

standar ar adalah 41000Hz tapi contoh diatas menggunakn nilai yang

lebih randah untuk menghasilkan flv file.

• qscale adalah skala kuantisasi yang pada dasarnya merupakan skala

kualitas untuk kecepatan bit variabel dan coding, dengan angka yang

lebih rendah

Unutk mengetahui seluruh format yang didukung oleh FFmpeg dapat

menjalankan command berikut ini : [rain]$ ffmpeg -formats

Page 52: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

36

5. Pengkodean dasar Audio pada FFmpeg

Stelah mengetahui command dasar dari ffmpeg, sekarang beberapa

pilihan dasar yang dapat digunakan untuk pengkodean audio transcoding

-ar <value> untuk mengatur frekuensi audio audio untuk output file.

Nilai comman yang digunakan adalah 22050, 44100, 48000 Hz.

-ac <value> Mengatur jumlah saluran audio.

-ab <value> tanda ini digunakan untuk mengatur nilai bitrate dari file

audio. misalnya menggunakan-ab 128k untuk menggunakan bitrate

128KB. Semakin tinggi nilai, semakin baik kualitas audio. Ini adalah

salah satu faktor penting yang bertanggung jawab atas kualitas audio.

Tapi itu tidak berarti Anda dapat membuat file audio yang jelek menjadi

lebih baik dengan meningkatkan bitrate nya. File yang dihasilkan hanya

akan menjadi ukuran yang lebih besar.

-an singkatan untuk "no audio recording" dan dapat digunakan untuk

menghapus sebuah stream audio dari file media. Ketika menggunakan

pilihan ini, semua yang lain atribut yang terkait audio dibatalkan.

-acodec pilihan ini memungkinkan untuk memilih jenis codec audio

yang inginkan. misalnya jika Anda menggunakan ffmpeg pada file mp3,

maka akan membutuhkan libmp3lame audio codec. Anda dapat

menentukan dengan menggunakan-acodec libmp3lame. Meskipun,

secara default, ffmpeg yang akan mencari dari codec yang dibutuhkan

(dengan menebak dari format file output) .

Page 53: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

37

[shredder12]$ ffmpeg -i input.wav output.mp3

Jika tidak mencari format file tertentu, kemudian coba dan gunakan

format open audio ogg vorbis. Berikut printah untuk mengkonversi file

audio ke format ogg vorbis.

[shredder12]$ ffmpeg -i input.mp3 -b 128k output.ogg

Sintak tersebuat akan langsung mengkonversi file audio mp3

menjadi format file open ogg.

Page 54: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB III

METODE PENELITIAN

Penelitian ini merupakan rangkaian dalam penulisan skripsi tentang

perancangan aplikasi antarmuka pemacar siaran TV digital menggunakan media

Internet Protokol. Metode penelitian yang digunakan dalam pembuatan aplikasi

pada bidang peminatan ini meliputi dua metode, yaitu metode pengumpulan data

dan metode pengembangan sistem.

Metode yang digunakan dalam pembuatan aplikasi pada bidang

peminatan ini meliputi dua metode, yaitu metode pengumpulan data dan metode

pengembangan sistem.

3.1. Metode Pengumpulan Data

Penyusunan skripsi ini memerlukan data-data serta informasi

sebagai bahan yang dapat mendukung kebenaran materi uraian dan

pembahasan. Adapun metode pengumpulan data yang digunakan dalam

pembahasan skripsi ini adalah menggunakan :

3.1.1. Studi Kepustakaan

Pada tahap pengumpulan data dengan cara studi

kepustakaan bermaksud untuk mengumpulkan data dan informasi

yang relevan dengan objek penelitian. Pencarian data dengan buku

maupun mencari artikel yang berkaitan dengan objek penelitian

melalui Internet. Data-data tersebut dijadikan sebagai landasan

teori skripsi.

38 

Page 55: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

39 

 

Beberapa refrensi diantaranya adalah :

1. Hary Budiarto. et al. 2007. Sistem TV Digital dan Prospeknya

di Indonesia. Bandung : PT. Multikom Indo Persada.

2. Fungsi-fungsi ffmpeg : http://ffmpeg.org/ffmpeg-

doc.html#SEC98

3.1.2. Studi Literatur

Selain studi pustaka , menggunakan referensi lain berupa :

bahan tulisan dari skripsi atau penelitian yang objek

pembahasannya hampir sama, contohnya adalah penelitian tentang

TV Digital, IPTV dan skripsi atau penelitian menggunakan metode

LUCID (Logical User Centered Interface Diagram).

Berikut beberapa studi literature yang digunakan :

1. PEMANCAR TV DIGITAL DVB-T BERBASIS SOFTWARE

http://digilib.its.ac.id/ITS-Undergraduate-100010039894/12839

2. Analisis Dan Usulan Pengembangan User Interface Software

Permainan Edukasi Untuk Anak- Anak Dengan Metode Lucid

(Logical User Centered Interaction Design)

ebookbrowse.com/l2h-004-604-doc-d61323980

3.1.3. Observasi

Observasi adalah cara pengambilan data dengan

menggunakan mata tanpa ada pertolongan alat standar lain untuk

keperluan tersebut (Moh.Nazir,2005:175)

Page 56: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

40 

 

Perancangan aplikasi melakukan pengamatan atau

peninjauan langsung yang dilakukan di Pusat Teknologi Informasi

dan Komunikasi (PTIK), Badan Pengkajian dan Penerapan

Teknologi (BPPT), Lantai 21 Gedung 2 Jalan MH. Thamrin no 8

Jakarta Pusat 10340. Obeservasi ini dilakukan pada bulan April

sampai bulan Agustus 2011. untuk mengetahui secara langsung

keadaan objek penelitian yang sebenarnya. Hal ini dilakukan untuk

memperoleh informasi secara jelas mengenai data-data dan

informasi dalam perancangan aplikasi.

3.2. Metode Perancangan Aplikasi

Perancangan aplikasi ini menggunakan metode Lucid (Logical

User-Centered Design). LUCID adalah suatu kerangka kerja untuk

melakukan kegiatan yang mendefinisikan dan bentuk produk interaktif.

Pada awalnya berguna untuk mendukung pengembangan perangkat lunak

yang sangat bermanfaat dan situs web. LUCID juga berguna untuk jenis

produk interaktif lainnya. Lucid memandu kita untuk memutuskan

fungsionalitas produk yang butuhkan. Hal ini tidak hanya fokus pada apa

yang seharusnya produk lakukan tetapi bagaimana merancang fungsi yang

terbaik dari perspektif pengguna. Prinsip utama dari Kerangka Lucid

adalah bahwa merancang produk harus menawarkan pengguna efektivitas,

efisiensi, keterlibatan, toleransi kesalahan dan kemudahan belajar.

(http://leadersintheknow.biz/Portals/0/Publications/Lucid-Paper-v2.pdf)

Page 57: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

41 

 

Enam tahapan pada metode Logical User-Centered Design (Charles

B. Kreitzberg, PhD) yaitu :

1. Envision (Membayangkan): Mengembangkan konsep produk secara jelas,

Menentukan tujuan kegunaan untuk rancangan antarmuka.

2. Conduct User and Task Analysis (Perilaku pengguna dan Analisis tugas):

Meneliti dan menganalisa kebutuhan pengguna agar mencapai target sesuai

dengan harapan.

3. Design and Prototype (Rancangan dan Prototipe) : Merancang konsep dan

membuat kunci layar prototipe untuk mengilustrasikan antarmuka.

4. Evaluate and Refine (Evaluasi dan Perulangan) : Rancangan berulang

dan perbaikan terhadap rancangan.

5. Complete Detailed Design and Production (Melengkapi detail Rancangan

dan Produksi) : Penerapan pada perangkat lunak.

6. Release and Follow Up (Rilis dan tindakan lanjut) : Merencanakan dan

implementasi pengenalan produk kepada pengguna , termasuk evaluasi

kemampuan akhir untuk meyakinkan bahwa hasil akhir telah dibangun

seperti yang telah dirancang pada awal projek.

Perancangan antarmuka dapat dilakukan dengan menggunakan alat

Delphi, Power Builder,VC++, Vbasic, Motif, Java, Toolbook, Hypercard,

Access, Labview, Netscape Gold, Internet Explorer,Powerpoint,MS

Access, SE tools. Komponen utama Lucid adalah ease-of-understanding

(memudahkan untuk mengerti) dan ease-to-use (memudahkan dalam

menggunakan). Lucid memfokuskan pada ‘front-end’ dari perangkat lunak:

menaksir kebutuhan dari pengguna (user requirement) dan mengembangkan

Page 58: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

42 

 

sebuah tampilan, perasaan dan pengarahan aliran (flow) yang mendukung

kebutuhan fungsi (function requirements) dari sebuah sistem. Lucid tidak

mempermasalahkan arsitektur teknis dibandingkan beberapa metodologi yang

telah ada sebelumnya.

3.2.1. Envision (Membayangkan)

Pada tahap ini, tahapan awal untuk menentukan rancangan

aplikasi. Terdapat dua blok dimana blok lama atau rancangan lama

adalah titik awal sehingga ide baru pada rancangan baru tercipta.

Berikut blok rancangan lama dan rancangan baru yang terdapat pada

Tabel. 3.1 dibawah ini :

Tabel 3.1 Rancangan Lama dan Rancangan Baru

Rancangan Lama Rancangan Baru

1. OpenCaster menggunakan

terminal.

2. Format video yang digunakan

adalah *.ts (transport stream)

1. Membuat rancangan antar muka

agar pengguna lebih mudah

dalam menyiarkan konten

program TV Digital.

2. Aplikasi ini akan dilakukan

pengaturan agar format selain

*.ts (transport stream) dapat

digunakan pada aplikasi ini.

3.2.2. Conduct User and Task Analysis (Perilaku pengguna dan Analisis

tugas)

Tahap ini mencari kebutuhan dari pengguna untuk merancang

aplikasi antarmuka yang akan dibuat. Beberapa analisa kebutuhan

aplikasi yang dirancang, yaitu :

Page 59: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

43 

 

1. Merancang GUI (Guide User Interface) untuk mempermudah

admin pemancar siaran TV digital dalam menyiarkan konten.

2. Format konten yang dapat dilakukan multiplexing sebelum

akhirnya dipancarkan hanya file dengan format *.ts, maka

dirancang agar format file lain dapat digunakan pada aplikasi yang

akan dibuat.

Tahap ini juga akan menganalisa spesifikasi dan kebutuhan

(Specification and Requirement) dari Aplikasi, Spesifikasi aplikasi

ini terbagi menjadi dua yaitu spesifikasi perangkat keras dan

perangkat lunak yang diperlukan oleh aplikasi ini.

3.2.3. Design and Prototype (Rancangan dan Prototipe)

Setelah analisis kebutuhan selesai maka tahap selanjutnya adalah

perancangan dan pembuatan prototype bagaimana aplikasi antarmuka ini

akan berjalan. Tahap perancangan (design) adalah membuat spesifikasi

aplikasi, spesifikasi yang akan dibuat berdasarkan pada langkah berikut :

1. UML (usecase diagram, sequence diagram dan class diagram)

2. Perancangan bagan alir (process flowchart).

3. Perancangan antar muka (user interface).

3.2.4. Evaluate and Refine (Evaluasi dan Perulangan)

Tahap ini akan dilakukan analisa kembali terhadap rancangan yang

telah disusun sebelumnya, dan akan dilakukan perbaikan terhadap

rancangan bila diperlukan. Evaluasi dilakukan pada kasus ini oleh admin,

apakah rancangan prototipe sudah sesuai dengan harapan admin. Jika

Page 60: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

44 

 

sesuai maka tahap selanjutnya akan dilakukan, jika tidak maka langkah 1,2

dan 3 diperbaiki.

3.2.5. Complete Detailed Design and Production (Melengkapi detail

Rancangan dan Produksi)

Pada tahap ini akan dilakukan proses produksi pembuatan

aplikasi antarmuka, dimana protyping yang sudah disepakati akan

diterjemahkan kedalam bahasa pemograman yang sesuai. Aplikasi ini

dibuat menggunakan editor : Netbeans dan multimedia tools : OpenCaster,

ffmpeg. Rancangan latar belakang aplikasi dirancang menggunakan Adobe

Photoshop CS2.

3.2.6. Release and Follow Up (Rilis dan tindakan lanjut)

Pada tahap akhir ini yang dilakukan adalah merencanakan dan

melaksanakan pengenalan produk kepada pengguna, pada kasus ini

aplikasi antarmuka akan dikenalkan kepada admin pemnacar konten TV

digital. Tahap ini juga akan dilakukan evaluasi kegunaan akhir untuk

meyakinkan bahwa hasil akhir yang telah dibangun seperti yang telah

dirancang pada awal proyek. Membuat dan memantau mekanisme umpan

balik untuk mengumpulkan data untuk peluncuran (launching/release).

3.3. Peralatan Penelitian

Peralatan yang digunakan pada saat penelitian antara lain berupa

peragkat keras dan perangkat lunak :

1. Perangkat Keras

Perangkat keras yang digunakan dalam penelitian ini adalah sebuah laptop

yang digunakan sebagai pemancar dengan spesifikasi Processor

Pentium(R) Dual-Core CPU T4200 @ 2.00 GHz , Memory RAM 2 GB

Page 61: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

45 

 

DDR2, DVD super multi dan WLAN. Dan sebuah laptop lainnya dengan

syarat memiliki WLAN.

2. Perangkat Lunak

Perangkat lunak yang digunakan pada penelitian ini antara lain :

• Sistem Operasi Open Source (Ubuntu 10.04 LTS)

• Open Caster 2.4 sebagai perangkat lunak server broadcast

• FFMPEG, dvgrab, dan tstools

• JDK (Java Development Kit) versi 6 sebagai Java Virtual Machine

• Netbeans IDE 6.9 sebagai tempat mengembangkan program.

• Photoshop CS 2 sebagai tempat untuk pendesain interface aplikasi

• VLC media player

Page 62: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB IV

ANALISA, PERANCANGAN DAN IMPLEMENTASI

4.1. Profil BPPT

4.1.1. Sejarah BPPT

Badan Pengkajian dan Penerapan Teknologi (BPPT) adalah

lembaga pemerintah non-departemen yang berada dibawah koordinasi

Kementerian Negara Riset dan Teknologi yang mempunyai tugas

melaksanakan tugas pemerintahan di bidang pengkajian dan penerapan

teknologi.

Proses pembentukan BPPT bermula dari gagasan Mantan

Presiden Soeharto kepada Prof Dr.Ing. B.J. Habibie pada tanggal

28-Januari-1974. Dengan surat keputusan no. 76/M/1974 tanggal

5-Januari-1974, Prof Dr. Ing. B.J. Habibie diangkat sebagai penasehat

pemerintah dibidang advance teknologi dan teknologi penerbangan

yang bertanggung jawab langsung pada presiden dengan membentuk

Divisi Teknologi dan Teknologi Penerbangan (ATTP) Pertamina.

Melalui surat keputusan Dewan Komisaris Pemerintah

Pertamina No.04/Kpts/DR/DU/1975 tanggal 1 April 1976, ATTP

diubah menjadi Divisi Advance Teknologi Pertamina. Kemudian

diubah menjadi Badan Pengkajian dan Penerapan Teknologi melalui

Keputusan Presiden Republik Indonesia No.25 tanggal 21 Agustus

1978. Diperbaharui dengan Surat Keputusan Presiden No.47 tahun

1991. 

46 

Page 63: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

47 

 

 

 

Berikut ke

1. Prof.

2. Prof.

3. Prof.

4. Dr. A

5. Ir. M.

6.Dr. Ku

7. Prof.

8. Dr. Ir

epala-kepala

Dr.Ing. B.J

Dr. Rahard

Dr. Zuhal M

A.S. Hikam

. Hatta Raja

usmayanto

Ir. Said Dja

r. Marzan A

a BPPT dar

J. Habibie 1

di Ramelan 1

MSEE 1998

1999-2001

asa 2001-20

Kadiman 20

auharsyah J

A. Iskandar 2

i awal berdi

974-1998

1998-1998

8-1999

004

004-2006

enie, Sc.D 2

2008-Sekara

iri sampai s

2006-2008

ang

sekarang:

4.1.2. Struktur O

Organisasi

Gam

BPPT

mbar. 4.1. SStruktur Orgganisasi BPPPT

Page 64: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

48 

 

4.1.3. Visi dan Misi BPPT

1. VISI

Pusat Unggulan Teknologi yang mengutamakan Kemitraan melalui

Pemanfaatan hasil rekayasa teknologi secara Maksimum.

2. MISI

• Memacu perekayasaan teknologi untuk meningkatkan daya saing

produk industri

• Memacu perekayasaan teknologi untuk meningkatkan pelayanan

publik instansi pemerintah.

• Memacu perekayasaan teknologi untuk kemandirian bangsa

4.2. Hasil Obeservasi

Perancangan aplikasi melakukan pengamatan atau peninjauan

langsung yang dilakukan di Badan Pengkajian dan Penerapan Teknologi,

Bagian Pusat Teknologi Informasi dan komunikasi Gedung II Lt.21, Jl.

M.H. Thamrin No.8 Jakarta Pusat 10340, untuk mengetahui secara langsung

keadaan objek penelitian yang sebenarnya. Hal ini dilakukan untuk

memperoleh informasi secara jelas mengenai data-data dan informasi dalam

perancangan aplikasi. Berikut ini merupakan informasi yang didapat dari

tempat penelitian :

Pada gambar 4.2 dibawah ini digambarkan tentang model topologi

yang dapat diterapkan dalam sistem IPTV.

 

 

Page 65: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

49 

 

Gambar 4.2 Model Topologi yang dapat diterapkan

Sumber: konsep BPPT

Pada gambar di atas dijelaskan bahwa pada sisi penyelenggara

terdiri dari penyedia konten dan penyiar konten. Penyedia konten

bertugas memproduksi konten yang akan disiarkan. Dalam hal ini

penyedia konten tersebut adalah setiap stasiun televisi. Sedangkan pada

penyiar konten, bertugas mengunduh konten pada penyedia konten

kemudian melakukan multiplexing dan menyiarkan hasil multiplex

tersebut melalui jaringan IP.

Kemudian pada sisi penikmat konten, dapat menikmati siaran

dengan syarat terhubung dengan jaringan internet (dapat juga untuk

jaringan lokal). Siaran Televisi Digital IPTV ini dapat dinikmati dengan

menggunakan pesawat televisi maupun perangkat komputer. Untuk

dapat menikmati layanan IPTV menggunakan pesawat televisi,

khususnya televisi analog maka diperlukan sebuah set top box yang

 

 

Page 66: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

50 

 

mendukung IPTV. Set top box ini berfungsi sebagai alat yang dapat

mengkonversi sinyal siaran digital yang diterima menjadi sinyal analog

yang dapat diterima oleh pesawat televisi analog. Sedangkan untuk

menikmati layanan IPTV menggunakan komputer, diperlukan media

player yang mendukung streaming video pada jaringan, contohnya

VLC media player.

Adapun proses transmisi data yang terjadi ketika proses penyiaran

dapat dilihat pada gambar struktur komunikasi data berikut.

server klien 

Gambar 4.3 Layer Program

Sumber: Konsep TCP/IP Layer

Pada gambar 4.3 di atas merupakan gambaran aliran data yang

terjadi dari server menuju klien. Proses tersebut digambarkan dalam

TCP/IP layer.

1. Aplication Layer

Pada layer ini tedapat perangkat lunak OpenCaster IPTV.

Pada perangkat lunak tersebut, akan melakukan multiplex audio  

 

Page 67: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

51 

 

video dengan bantuan tabel PSI yang dibentuk. Kemudian

mengubahnya menjadi pesan UDP melalui perintah “tsudpsend”.

Gambar 4.4. Proses multiplexing program

Selain OpenCaster, yang berada pada layer ini adalah VLC

media player. Pada VLC media player terjadi proses demultiplex,

yaitu memecah pesan UDP hasil multiplexing menjadi beberapa

stream sehingga dapat dinikmati oleh klien.

2. Transport Layer

Yang berada pada lapisan transport ini adalah protokol UDP

yang digunakan sebagai media transmisi data. Alasan menggunakan

UDP karena UDP merupakan protokol yang tidak perlu membuat

koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi

broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi

dapat mengirimkan paket data ke beberapa tujuan dengan

menggunakan alamat multicast atau broadcast.

3. Internet Layer

Yang berada pada internet layer adalah IP multicast. IP

multicast adalah metode pengiriman datagram IP kepada

sekelompok penerima dengan transmisi tunggal.  

 

Page 68: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

52 

 

4. Physical Layer

Yang termasuk ke dalam layer ini adalah perangkat media

transmisi yang digunakan pada sistem IPTV seperti ethernet card,

kabel UTP, dan modem.

4.3. Alasan Menggunakan LUCID

Alasan menggunakan metode LUCID, karena kerangka LUCID

menawarkan pengguna efektifitas, efisiensi, keletelibatan, toleransi kesalahan

dan kemudahan dalam belajar terhadap aplikasi. Berikut penjelasan lebih

lanjut manfaat dari produk berdasarkan metode LUCID, yaitu :

1. Efektifitas

Menurut kamus besar bahasa Indonesia, Kata efektif berarti ada

efeknya (akibatnya, pengaruhnya, kesannya); manjur atau mujarab (tt

obat); dapat membawa hasil; berhasil guna (tt usaha, tindakan); mulai

berlaku (tt undang-undang, peraturan). Berdasarkan pengertian kamus

bahasa Indonesia maka efektifitas yang dimaksud pada aplikasi ini adalah

aplikasi memberikan pengaruh yang positif terhadap admin (pihak yang

akan menggunakan aplikasi ini), admin jadi lebih mudah dalam melakukan

kegiatan menyiarkan konten siaran TV digital berbasis IPTV, dapat

digunakan secara langsung tanpa harus mempelajari fungsi-fungsi dari

OpenCaster dan FFmpeg karena aplikasi sudah mengatur semua kebutuhan

tersebut pada aplikasi.

 

 

Page 69: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

53 

 

2. Efisiensi

Kata efisien menurut kamus besar bahasa Indonesia yaitu tepat

atau sesuai untuk mengerjakan (menghasilkan) sesuatu (dengan tidak

membuang-buang waktu, tenaga, biaya), mampu menjalankan tugas

dengan tepat dan cermat, berdaya guna, bertepat guna. Sedangkan

efisiensi pada aplikasi adalah waktu untuk melakukan penyiaran siaran TV

digital berbasis IPTV dapat menghemat waktu karena admin tidak perlu

mengetik perintah-perintah OpenCaster dan FFmpeg secara manual

melalui terminal yang memerlukan waktu yang lebih banyak dibandingkan

menggunakan aplikasi antarmuka ini.

3. Keterlibatan

Aplikasi ini menuntut keterlibatan admin dalam melakukan setiap tahap

dalam memproses hasil akhir.

4. Toleransi Kesalahan

Dengan adanya aplikasi ini maka tingkat melakukan kesalahan dalam

melakukan penyiaran konten digital lebih kecil, karena admin yang tidak

perlu melakukan pengetikan perintah manual seperti yang telah dijelaskan

sebelumnya.

5. Kemudahan belajar

Mudah untuk mempelajari kegunaan dari aplikasi antar muka ini karena

sudah menggunakan tampilan antarmuka yang mudah dipahami.

 

 

Page 70: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

54 

 

4.4. Metode Pengembangan Aplikasi

4.4.1. Envision (Membayangkan)

Pada tahap ini, tahapan awal untuk menentukan rancangan

aplikasi. Terdapat dua blok dimana blok lama atau rancangan lama

adalah titik awal sehingga ide baru pada rancangan baru tercipta.

Tabel 4.1. Konsep Rancangan Umum

 

Rancangan Lama Rancangan Baru

1. OpenCaster menggunakan

terminal.

2. Format video yang digunakan

adalah *.ts (transport stream)

1. Membuat rancangan antar

muka agar pengguna lebih

mudah dalam menyiarkan

konten program TV Digital.

2. Aplikasi ini akan dilakukan

pengaturan agar format selain

*.ts (transport stream) dapat

digunakan pada aplikasi ini.

Dari tabel rancangan diatas maka diharapkan pengguna

aplikasi akan lebih mudah menyiarkan konten siaran TV digital

karena ada perantara yang mendukung yaitu tampilan antarmuka

(interface). Dan file yang bisa untuk aplikasi ini tidak lagi terbatas

pada file dengan format video transport stream,file dengan format

video yang lain seperti * mp4, wmv, flv, mpg, asf, mov, avi, mkv.

Berdasarkan pendekatan model topologi yang telah

dijelaskan, pada gambar 4.4 dibawah ini digambarkan topologi

penyiaran konten siaran Televisi Digital. Dimana CPU server

 

 

Page 71: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

55 

 

dipersiapkan untuk dapat menjadi pemancar IPTV dan PC lain atau

laptop dijadikan sebagai media penerima siaran.

Gambar 4.5. Rancangan Penyiaran

Adapun perbedaan model usulan dengan pendekatan model

topologi yang dijelaskan yaitu pada topologi jaringan dan media

penerima. Pada rancangan ini pemancar IPTV telah menyediakan file-

file sehingga tidak perlu mengunduh dari server penyedia konten dan

penerima siaran televisi digital pada rancangan ini hanya perangkat

keras Laptop ataupun komputer.

4.3.2. Conduct User and Task Analysis (Perilaku pengguna dan Analisis

tugas)

Tahap ini mencari kebutuhan dari pengguna untuk merancang

aplikasi antarmuka yang akan dibuat. Tahap ini juga menganalisa

kebutuhan dari aplikasi baik kebutuhan non fungsional maupun

kebutuhan fungsional.

 

 

Page 72: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

56 

 

Beberapa analisa kebutuhan aplikasi yang dirancang, yaitu :

1. Merancang GUI (Guide User Interface) untuk mempermudah

admin pemancar siaran TV digital dalam menyiarkan konten.

2. Format konten yang dapat dilakukan multiplexing sebelum

akhirnya dipancarkan hanya file dengan format *.ts, maka

dirancang agar format file lain dapat digunakan pada aplikasi yang

akan dibuat.

Spesifikasi dan Kebutuhan (Specification and Requirement)

dari Aplikasi, Spesifikasi aplikasi ini terbagi menjadi dua yaitu

spesifikasi perangkat keras dan perangkat lunak yang diperlukan oleh

aplikasi ini. Berikut merupakan spesifikasi yang diperlukan oleh

aplikasi :

1. Spesifikasi Minimum Perangkat Keras

Spesifikasi perangkat keras ada dua jenis kebutuhan. yaitu

spesifikasi untuk pemancar dan spesifikasi untuk klient. Berikut

rincian spesifikasi minimum untuk pemancar maupun klient:

1) Server

a) Prosesor dengan kecepatan 3,0 GHz

b) Memory 2GB

c) Harddisk 80GB

d) VGA 128MB

e) Monitor

f) Keyboard dan Mouse standar

 

 

Page 73: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

57 

 

2) Client

Kebutuhan minimum perangkat keras untuk client yang

dapat digunakan yaitu:

 

a) Prosesor dengan kecepatan 2,0 GHz

b) Memory 1GB

c) Harddisk 80GB

d) VGA 64MB

e) Monitor

f) Keyboard dan Mouse standar

2. Spesifikasi Perangkat Lunak

Aplikasi antarmuka ini yang dirancang harus memiliki

tampilan yang bersifat user-friendly sehingga memudahkan

pengguna dalam melakukan semua modul pada sistem. Untuk

dapat menggunakan aplikasi yang akan dirancang, diperlukan

penambahan perangkat lunak pendukung. Adapun usulan

spesifikasi perangkat lunak yang dibutuhkan adalah:

1) Spesifikasi perangkat lunak untuk server:

Operating System : Linux Ubuntu

Programming Tools : Java, Phyton

Editor : Netbeans

Multimedia Tool : OpenCaster 3.1, FFmpeg

Desain Tools : Adobe Photoshop CS 3

Reporting Tools : Microsoft Word 2007.

 

Page 74: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

58 

 

2) Spesifikasi perangkat lunak untuk client:

Media Player yang mendukung streaming pada jaringan

IP, seperti VLC media player.

Dan berikut ini merupakan kebutuhan (requirement)

fungsional admin terhadap aplikasi yang akan diproduksi, rincian

kebutuhan aplikasi sebagai berikut:

1. Admin dapat melakukan login dan logout : Adapun fungsi yang

dibutuhkan adalah fungsi autentifikasi dengan kondisi username

dan password yang dimasukkan. Sehingga hanya admin yang dapat

mengakses aplikasi.

2. Admin dapat mengubah konfigurasi dari server yang digunakan :

Dibutuhkan penggunaan paket FileInputStream, FileOutputStream,

dan util.properties pada pembangkitan kode java untuk dapat

menyimpan nama jaringan yang dimasukkan ke dalam sebuah file.

3. Admin dapat mengunduh video atau konten yang akan disiarkan :

Dibutuhkan paket JFileChooser untuk dapat membangkitkan fungsi

pengunduhan file audio video.

4. Admin dapat memasukan data/ informasi yang penting untuk

proses konversi video : Dibutuhkan fungsi-fungsi dari FFmpeg

untuk dapat melakukan proses konversi video.

5. Admin dapat melakukan proses filter dan check bitrate : Untuk

melakukan proses filter maka diperlukan fungsi tsfilter dan proses

check bitrate menggunakan tsmeasure.

 

 

Page 75: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

59 

 

6. Admin dapat menyiarkan konten melalui internet protocol : Untuk

menyiarkan konten dibutuhkan fungsi tsudpsend dengan parameter-

parameter yang telah dijelaskan pada bab II.

4.3.3. Design and Prototype (Rancangan dan Prototipe)

Setelah analisis kebutuhan selesai maka tahap selanjutnya

adalah perancangan dan pembuatan prototype bagaimana aplikasi

antarmuka ini akan berjalan. Tahap perancangan (design) adalah

membuat spesifikasi aplikasi, spesifikasi yang akan dibuat

berdasarkan pada langkah berikut :

1. UML (Unified Modeling Language),

Unified Modelling Language (UML) adalah sebuah

"bahasa" yg telah menjadi standar dalam industri untuk visualisasi,

merancang dan mendokumentasikan sistem piranti lunak. UML

menawarkan sebuah standar untuk merancang model sebuah

sistem. UML mendefinisikan berbagai jenis diagram, dalam

rancangan ini menggunakan tiga diagram, yaitu : Usecase

Diagram, Sequence Diagram dan Class Diagram.

Use case diagram menggambarkan fungsionalitas yang

diharapkan dari sebuah sistem. Sequence diagram analis untuk

menggambarkan interaksi dinamis antara obyek dalam suatu sistem

informasi. Class diagram menggambarkan struktur dan deskripsi

class, package dan objek beserta hubungan satu sama lain seperti

containment, pewarisan, asosiasi, dan lain-lain.

 

 

Page 76: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

60 

 

Gambar 4.6. Usecase Diagram

 

 

Page 77: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

61 

 

 

Gambar 4.7. Sequence Diagram

 

1. Admin melakukan login untuk mengawali sistem.

2. Admin memasukkan username.

3. Admin memasukkan password.

 

 

Page 78: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

62 

 

4. Proses ke tahap selanjutnya yaitu konfigurasi sistem.

5. Sistem akan mengecek apakah jaringan telah diberi ID dengan mengecek

keberadaan file konfigurasi.

6. Jika jaringan belum dikonfigurasi, maka sistem akan meminta admin untuk

memasukkan username dan network name.

7. Admin memasukkan username dan network name.

8. Masuk ke dalam form Utama diawali dengan tampilan tab video.

9. Admin kemudian diminta untuk memasukan data PID video dimulai dari 150,

kemudian Service provider dan Service Name.

10. Admin bebas milih size video dan ratio sesuai dengan pilihan yang tersedia

pada aplikasi.

11. Admin mulai mengunduh video dengan menekan tombol browse file, dan

memilih video yang akan disiarkan.

12. Informasi jumlah video yang telah akan keluar pada field jumlah video

13. Kemudian admin akan mengeklik tombol convert, dan filter, tombol-tombol

ini akan aktif sesuai dengan urutan sistem seperti diagram diatas.

14. Klik tombol check birate dan hasil akan tertera pada field Jumlah Birate.

15. Klik Tombol Muxing, maka semua file akan dilakukan multiplexing dengan

parameter-parameter tabel PSI yang telah ditetapkan.

16. Sistem akan meminta admin untuk memasukkan IP dan port server pemancar.

17. Admin memasukkan IP dan port server kemudian mengklik tombol play pada

Tab Play.

 

 

 

Page 79: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

63 

 

 

 

Gambar 4.8. Class Diagram  

 

Page 80: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

64 

 

Pada Class Diagram terdapat empat kelas yang terdiri dari:

1. Kelas Login

Kelas ini merupakan kelas yang berfungsi untuk mengautentikasi pengguna

aplikasi.

2. Kelas Mux

Kelas ini dapat dikatakan kelas utama karena pada kelas ini terdapat proses-

proses masukan data, pilih size video dan ratio kemudian, upload, convert,

filter, check bitrate, multiplexing, dan playout.

3. Kelas PSIGenerator

Kelas in merupakan kelas untuk melakukan pengelolaan pada tabel PSI yang

digunakan pada penyiaran.

4. Kelas SimpanKonfig

Kelas ini berfungsi sebagai pendefinisian nama jaringan dan ID Region

jaringan.

 

 

Page 81: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

65 

 

2. Perancangan bagan alir (process flowchart).

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

  Ya                 

              

          Tidak 

 

 

 

 

                                  

                        Gambar  4.9. Flowchart proses Video     

Mulai 

Masukan Data 

Konversi file video jadi .*ts

Filter file .*ts

Hasil video.*ts 

Tambah Video 

Muxing Video

Broadcast Video

Check bitrate

Selesai 

 

 

Page 82: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

66 

 

Berikut ini merupakan potongan program berdasarkan

flowchart proses. Dibawah ini merupakan coding untuk proses

konversi video.

Dan dibawah ini adalah coding untuk proses filter video.

Sehingga data video yang tertinggal hanya PID video dan PID audio.

Sedangkan coding berikut adalah coding untuk tombol next.

Tombol next ini memiliki fungsi untuk menghilangkan data yang

telah pernah kita masukan, kemudian setelah tombol ini ditekan

        String convert="ffmpeg ‐i "+jLokasiFile.getText()+ " ‐ar 22050 

‐ab 128k ‐b 2500k" 

                + " ‐r 24 ‐maxrate 5000k ‐bufsize 256k ‐vcodec 

mpeg2video ‐s "+size+" ‐aspect "+ratio+"" 

                + " ‐acodec mp2 ‐map 0:0 ‐map 0:1 ‐mpegts_start_pid 

0x"+jPIDVideo1.getText()+"" 

  + " ‐metadata 

service_provider="+jServisprovider.getText()+" ‐

metadata service_name="+jServisname.getText()+" ‐y 

"+folderUser+"temps/"+ini+".ts"; 

String[] fs = new String[3]; 

        fs[0] = "/bin/sh";//fungsi linux untuk buka consul baru 

        fs[1] = "‐c"; 

        fs[2] = "tsfilter "+folderUser+"temps/"+ini+".ts 

+"+Integer.parseInt(jPIDVideo1.getText(),16)+" 

+"+(Integer.parseInt(jPIDVideo1.getText(),16)+1)+">"+folderUser

+"temps/"+ini+"f.ts";

 

 

Page 83: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

67 

 

maka, tombol browse akan aktif dan tombol next tidak dapat

difungsikan.

Coding untuk langkah selanjutnya adalah memprediksi bitrate,

hasil prediksi ini akan berfungsi dalam proses muxing. Dibawah ini

merupakan inti untuk memproses prediksi birate.

Muxing merupakan proses inti yang harus dilakukan agar

video tersebut dapat disiarkan. Proses muxing ini akan

menggunakan video yang telah melewati proses konversi, filter dan

check bitrate.

    private void  

nextButtonActionPerformed(java.awt.event.ActionEvent evt) 

{                                            

         jLokasiFile.setText(""); 

        Jbirate.setText(""); 

        jPIDVideo1.setText(""); 

        jServisprovider.setText(""); 

        jServisname.setText(""); 

        jBrowseFile.setEnabled(true); 

        nextButton.setEnabled(false); 

}

String predict =  "tspcrmeasure "+av+" 4000000"; 

        textsum = "mkfifo "+folderUser+"temps/fifomuxed.ts;mkfifo 

"+folderUser+"temps/fifoloop.ts;" + 

                "tscbrmuxer " + 

 

 

Page 84: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

68 

 

Dan yang terakhir adalah untuk menyiarkan siaran tv digital

yang telah melewati proses-proses diatas. Dibawah ini merupakan

into untuk melakukan proses penyiaran konten TV digital.

 

 

 

combine ="tsudpsend "+folderUser+"temps/fifoloop.ts "+jIPServer.getText()+" "+jPortServer.getText()+" "+sumbitrate; 

3. Perancangan antar muka (user interface).

a. Desain Prototype Login

Layar login adalah layar awal pada perangkat lunak

penyiaran IPTV. Fungsi dari layar ini adalah sebagai kondisi awal

program untuk bisa masuk dan mengakses layar-layar lainnya.

 

 

 

 

 

           Gambar 4.10. Layar Login 

Layar ini hanya dapat di akses oleh admin, karena user dan

password hanya admin yang mengetahui. Jika user dan password

tidak sesuai dan juga kosong, maka ketika akan muncul

peringatan kesalahan user atau kesalahan password. admin tidak

dapat masuk ke layar selanjutnya.

Welcome To IPTV 

User : 

Pass : 

 Login 

 

 

Page 85: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

69 

 

 

 

b. Desai

untuk

yang

dima

video

c. Desa

rekam

in Prototype

                            

Layar Ko

k memberi

digunakan

asukkan dal

o yang diun

Konfigurasi

            Gamba

onfigurasi S

nama pada

n. Adapun

lam tabel P

duh.

ain Prototype

Pada Tab

man dan aka

 

 

 

 

 

 

 

 

 

                 

e Tab Video

b video pe

an ditonton

                     

i Sistem  

r 4.11. Layar

Sistem ada

a jaringan s

nama jarin

PSI dan dil

enyiar akan

oleh klien.

Gambar 4.1

r  Simpan Ko

lah layar y

ebagai iden

ngan yang

lakukan mu

n menyiark

2. Layar Tab 

 nfigurasi 

yang digun

ntitas dari s

diinputkan

ultiplex ber

kan video-v

 

 

Video 

nakan

server

akan

rsama

video

Page 86: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

70 

 

 Pada tab video ini akan diawali dengan mengisi kotak

kosong sebelum mengunduh file video dari penyimpanan konten

dengan mengklik browse. Setelah memilih video maka hasil

jumlah video akan tampil maka proses convert dilakukan. Filter

hanya dapat dilakukan bila proses convert selesai dan check

bitrate hanya bisa dilakukan juga bila proses filter telah selesai.

Jumlah video yang akan disiarkan maksimal sebanyak enam

video. Hal ini dikarenakan untuk menghindari jumlah bitrate

yang terlalu besar sehingga mempengaruhi kualitas layanan

(keterbatasan spesifikasi hardware juga mempengaruhi). Setelah

semua proses selesai, maka admin akan mengklik tombol muxing.

Proses muxing akan dilakukan terhahap file-file video yang telah

melewati proses-proses seperti penjelasan di atas. PAT, PMT,

SDT, dan NIT yang telah ditetapkan.

 

d. Desain Prototype Tab Play

Prototipe yang terakhir adalah Playout. Pada antarmuka ini

berfungsi sebagai konfigurasi server untuk dapat melakukan

perintah siar melalui jaringan IP.

                             

 

 

 

Page 87: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

71 

 

 

 

 

 

 

 

 

Gambar 4.13. Layar Tab Play 

Pada antarmuka ini, admin diminta untuk mengisikan

IP server pemancar dan port. Setelah itu dengan mengklik tombol

“play”, maka sistem akan menjalankan perintah:

tsudpsend [file.ts] [ip] [port] [bitrate]

4.3.4. Evaluate and Refine (Evaluasi dan Perulangan)

Tahap ini akan dilakukan analisa kembali terhadap rancangan

yang telah disusun sebelumnya, dan akan dilakukan perbaikan

terhadap rancangan bila diperlukan. Evaluasi dilakukan pada kasus ini

oleh admin, apakah rancangan prototipe sudah sesuai dengan harapan

admin. Jika sesuai maka tahap selanjutnya akan dilakukan, jika tidak

maka langkah 1,2 dan 3 diperbaiki.

Berikut ini evaluasi kembali mengenai proses rancangan

seperti yang telah dijelaskan pada tahap prototipe :

 

1. Proses Download Video

Admin dapat memilih video dengan format * mp4, wmv, flv,

mpg, asf, mov, avi, mkv dengan mudah dengan menggunakan

 

Page 88: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

72 

 

aplikasi yang dirancang. Sebelum mengunduh video terlebih

dahulu admin harus mengisi kolom kosong diatas kolom upload

video, dan dapat memilih size resolusi video yang diinginkan serta

ratio video yang sesuai dengan video yang diunduh. Fungsi dari

ratio sendiri untuk menjaga ukuran dari video tetap proposional

sesuai dengan file asli.

2. Proses PID (Paket ID)

Admin harus memasukkan PID video pada kolom yang telah

tersedia. Adapun informasi tersebut akan dimanfaatkan dalam

pembuatan tabel PSI pada saat multiplexing.

3. Proses Chanel

Nama channel sesuai dengan nama service provider dan

service name pada pengisian form pada tab video.

4. Proses Convert dan Filter

Tahap ini dapat terlaksana jika admin telah mengunduh file.

Proses ini akan memanfaatkan fungsi-fungsi dari FFMPEG untuk

proses convert dan OpenCaster untuk filter. Video yang telah

diunduh merupakan file dengan format non transport stream, oleh

karena itu perlu dilakukan proses convert video menjadi format .*ts

(transport stream). Setelah proses convert maka perlu melakukan

proses filter yaitu menghilangkan informasi dari video kecuali PID

yang telah ditentukan pada pengisian form PID video.

 

 

Page 89: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

73 

 

5. Proses Bitrate

Proses pengecekan bitrate perlu dilakukan untuk mengetahui

berapa besar Bit rate setiap video. Bit rate adalah ukuran tingkat

kandungan informasi dalam aliran video. Hal ini diukur dengan

menggunakan bit per detik (bit/s atau bps) unit atau Megabits per

detik (Mbit/s). Tingkat bit yang lebih tinggi memungkinkan

kualitas video yang lebih baik.

6. Proses Multiplexing

Multiplexing adalah teknik menggabungkan beberapa sinyal

untuk dikirimkan secara bersamaan pada suatu kanal transmisi.

Dimana perangkat yang melakukan Multiplexing disebut

Multiplexer atau disebut juga dengan istilah Transceiver / Mux.

Pada aplikasi ini yang dirancang, admin dapat melakukan proses

muxing secara otomatis.

7. Proses Penyiaran

Admin dapat melakukan playout siaran secara otomatis

dengan mudah tanpa harus direpotkan dengan sintaks-sintaks pada

Open Caster serta mampu memancarkan melalui jaringan IP.

Menggunakan Default untuk IP adalah 224.0.1.2, port video : 1234.

4.3.5. Complete Detailed Design and Production (Melengkapi detail

Rancangan dan Produksi)

Pada tahap ini akan dilakukan proses produksi pembuatan

aplikasi antarmuka, dimana protyping yang sudah disepakati akan

 

 

Page 90: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

74 

 

diterjemahkan kedalam bahasa pemograman yang sesuai. Aplikasi ini

dibuat menggunakan editor : Netbeans dan multimedia tools :

OpenCaster, ffmpeg. Rancangan latar belakang aplikasi dirancang

menggunakan Adobe Photoshop CS2. Langkah pertama yang harus

dilakukan sebelum melakukan proses produksi adalah konfigurasi

server.

Untuk dapat menjalankan aplikasi yang dibuat, maka server

perlu dikonfigurasi sedemikian sehingga aplikasi dapat berfungsi

dengan baik. Adapun konfigurasi yang dapat dilakukan adalah sebagai

berikut:

1. Alamat IP

$ sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

Perintah di atas berguna untuk mengatur IP dari server.

2. Multicast Routing

# route add –net 224.0.0.0 netmask 240.0.0.0 dev eth0

Perintah diatas digunakan untuk mengkonfigurasi routing

agar dapat menerapkan routing secara multicast.

3. OpenCaster

Langkah-langkah yang dilakukan dalam instalasi

OpenCaster dapat dijabarkan sebagai berikut:

a. Download OpenCaster 3.1 di http://www.avalpa.com/

b. Klik kanan pada “OpenCaster 3.1.tar” dan pilih Extract Here.

 

 

Page 91: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

75 

 

c. Buka file install di dalam folder OpenCaster 3.1 Pada file ini

terdapat persyaratan paket (dependency) yang harus terinstal

pada Ubuntu sebelum dapat menginstal OpenCaster.

d. Menginstal beberapa paket melalui System >> Administration

>> Synaptic Package Manager yaitu:

binutils; gcc; gcc-4.3; libc6-dev; libgomp; linux-libc-dev;

make; python-dev; python2.5-dev; zlib1g-dev

kemudian klik Apply.

e. Buka terminal kemudian pindah direktori menuju folder

OpenCaster 3.1. Kemudian lakukan 2 perintah, yaitu:

# make

# make install 

4. FFMPEG

Beberapa package yang perlu diunduh melalui System >>

Administration >> Synaptic Package Manager adalah:

a. ffmpeg

b. libavcodec52

c. libavformat52

5. Netbeans

Untuk dapat menggunakan NetBeans, diperlukan dua

perangkat lunak yaitu:

 

 

Page 92: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

76 

 

a. Netbeans IDE

Instalasi Netbeans IDE dapat dilakukan melalui System >>

Administration >> Synaptic Package Manager. Centang

Netbeans kemudian klik Apply.

b. Java Development Kit (JDK)

Langkah-langkah yang dilakukan dalam instalasi Java

Development Kit dapat dijabarkan sebagai berikut:

• Download JDK pada website

http://java.sun.com/javase/downloads/ index.jsp

• Execute file yang telah di-download dengan perintah

# ./[nama_file]

6. External Jar yang Digunakan

External jar merupakan class-class tambahan yang

digunakan untuk membuat aplikasi. Beberapa External jar yang

digunakan adalah:

a. commons-vfs-1.0.jar

b. commons-logging-1.1.1.jar

c. commons-net-ftp-2.0.jar

d. VFSJFileChooser-0.0.3.jar

Setelah semua perangkat lunak yang diperlukan selesai

diinstal, maka kegiatan selanjutnya adalah melakukan perancangan

pada perangkat lunak.

 

 

Page 93: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

77 

 

7. Adobe Photoshop

a. Langkah awal, instal program Wine di Linux.

b. Lalu klik kanan pada Adobe Photoshop Setup.exe dan klik Open

dengan program loader Windows Wine.

c. Proses instalasi akan dimulai secara otomatis.

Setelah Adobe Photoshop terinstall di Linux, untuk

membukanya tinggal klik ke Applications -> Wine -> Programs-

> Adobe Photoshop.

Setelah proses konfigurasi server selesai maka proses produksi

aplikasi dapat dilakukan. Proses pembuatan aplikasi menggunakan

editor Netbeans dan perancangan latar belakang menggunakan Adobe

Photoshop CS 2.

1. Proses pada editor Netbeans

Pada proses ini akan dilakukan implementasi dari rancangan-

rancangan yang telah diuraikan pada subbab sebelumnya. Proses

peneranapan prototype untuk antarmuka dilakukan, dan

pengkodingan untuk proses convert, filter, check bitrate dan

muxing diterapkan. Hasil coding akan terdapat pada lampiran

coding. Pengkodingan disini lebih kepada agar fungsi-fungsi dari

OpenCaster dan FFMPEG dapat berjalan secara otomatis sesuai

dengan tahap perintah yang akan dilaksanakan oleh admin nanti.

Pengkodingan juga dilakukan untuk dapat melakukan proses login,

konfigurasi sistem dan pembuatan tabel PSI untuk proses muxing

 

 

Page 94: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

78 

 

bisa berjalan. Aplikasi ini juga akan membuat folder sementara

untuk menyimpan hasil video konversi dan filter serta file-file

mptssdt.ts, mptsnit.ts, mptspat.ts, fifomuxed.ts, dan fifoloop.ts.

Gambar dibawah ini merupakan penerapan perancangan dari

layar utama Tab Video.

Gambar 4.14. Layar Utama.

Dari gambar di atas terlihat komponen yang digunakan dalam

pembuatan aplikasi ini menggunakan, JFrame, JMenuBar, JPanel,

JTabbed, JTextField, JButton dan JLabel. JMenuBar untuk

membuat menu pada bar aplikasi, terdapat tiga menu yaitu File,

Setting dan Help. JTabbed berfungsi untuk membuat dua tabulasi

yaitu video dan Play, dimana tab video untuk proses convert dan

filter sedangkan tab Play untuk menyiarkan siaran konten TV

digital. JTextField memiliki dua fungsi, yaitu untuk memasukan

data yang diperlukan dalam proses convert dan fungsi yang satu

 

 

Page 95: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

79 

 

lagi untuk menampilkan hasil dari proses seperti menampilkan

jumlah video dan hasil dari check Bitrate. JButton untuk

melaksanakan proses-proses yang ingin dilakukan oleh admin

sesuai dengan urutan, fungsi awal dari setiap button atau tombol

adalah disable atau tidak aktif, dimana tombol nanti akan aktif

setelah melewati proses sesuai dengan flowchart proses yang telah

dirancang sebelumnya. JLabel digunakan untuk memberikan

informasi pada setiap textfield yang ada. Coding dari setiap fungsi

dan proses yang ada akan dilampirkan pada lampiran coding.

2. Proses pada peracangan latar belakang

Agar tampilan dari setiap layar lebih menarik maka dibuat

sebuat layar belakang yang menarik dan sesuai. Pembuatan layar

belakang tersebut dilakukan menggunakan AdobePhotoshop CS 2.

Gambar dibawah ini merupakan perancangan latar belakang utama.

Terdapat tiga rancangan latar belakang, pertama rancangan latar

belakang login, layar utama dan konfigurasi.

Gambar 4.15. Perancangan Latar Belakang

 

 

Page 96: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

80 

 

4.3.6. Release and Follow Up (Rilis dan tindakan lanjut)

Pada tahap akhir ini yang dilakukan adalah merencanakan dan

melaksanakan pengenalan produk kepada pengguna, pada kasus ini

aplikasi antarmuka akan dikenalkan kepada admin pemancar konten

TV digital. Tahap ini juga akan dilakukan evaluasi kegunaan akhir

untuk meyakinkan bahwa hasil akhir yang telah dibangun seperti yang

telah dirancang pada awal proyek. Berikut ini penjelasan cara kerja

dari sisi Pemancar dan sisi Klien.

1. Sisi Pemancar

Antarmuka sistem ini dihasilkan sesuai dengan rancangan

antarmuka sistem yang sudah diuraikan pada subbab 4.3.3.

1. Halaman Login

Tampilan awal dari aplikasi antar muka penyiaran IPTV.

Seorang admin harus melewati validasi identitas dengan

memasukan nama pengguna username dan password agar bisa

mengakses aplikasi ini.

 

 

Gambar 4.16. Tampilan Login

 

 

Page 97: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

81 

 

2. Halaman Konfigurasi

Gambar 4.17. Halaman Konfigurasi Sistem

Halaman konfigurasi dapat diakses dengan memilih

menu setting dan konfigurasi. Admin harus mengisi dua kolom

yang tersedia, pertama “User Name” dan kedua “Network

Name”. Tombol “Simpan” berfungsi untuk menyimpan input

yang di ketikkan kedalam file “konfigurasi.ini” pada directory

user. Tombol close pada konfigurasi akan mengakhiri semua

proses, maka jika nama User Name dan Network sudah ada dan

tidak ingin melakukan perubahan maka sebaiknya dilakukan

saja proses simpan kembali.

3. Halaman Tab Video

Setelah melakukan proses login dan konfigurasi sistem

maka tahap berikut adalah proses pada tabulasi video. Admin

harus memasukan nilai PID Video mulai dari 150, karena jika

dibawah dari nilai tersebut maka proses convert akan gagal  

 

Page 98: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

82 

 

dilakukan. Kemudian memasukan Service Provider dan Service

Name, memilih size video yang dinginkan dan ratio video yang

sesuai agar video tetap proposional seperti file awal. Size video

terdapat empat pilihan, yaitu vga, 4cif, xga dan hd720. Aspek

ratio terdapat dua pilihan, yaitu 16: 9 dan 4 : 3. Tahap

selanjutnya adalah memilih video yang akan diunduh untuk

melewati proses-proses selanjutnya dengan menggunakan

tombol “Browse”.

Gambar 4.18. Halaman Tab Video

Tahap berikut adalah melakukan konversi video

dengan menggunakan tombol “convert”. Setelah konversi video

maka video yang telah dikonversi perlu dilakukan filter. Proses

 

 

Page 99: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

83 

 

filter dilakukan untuk membuang data-data yang nanti akan

diberikan saat proses muxing sehingga tidak terjadi penumpukan

data yang menyebabkan data tersebut tumpang tindih. Tahap

terakhir dari proses awal adalah pengecekan bitrate. Selesai

proses pengecekan bitrate selesai admin dapat melakukan

penambahan video atau langsung melakukan proses muxing.

Tombol “next” berfungsi untuk menambah video lain,

sedangkan tombol “muxing” berfungsi untuk melakukan proses

multiplexing atau sering disebut dengan muxing.

Tombol-tombol dari aplikasi ini akan aktif sesuai

dengan tahapan yang telah dirancang. Setelah menekan tombol

“browse” maka tombol “convert” akan aktif, setelah itu tombol

“filter” aktif dan jika menekan tombol “check” maka tombol

“next” dan “muxing” akan aktif. Dengan tombol “next” maka

kolom-kolom “textfield” akan kosong semua seperti awal.

Setelah proses muxing tombol “play video” pada tab video akan

aktif.

4. Halaman Tab Play

Pada tab play ini admin dapat mengatur alamat IP, dan port

recorded server yang akan digunakan sebagai sumber penerima

pada siaran IPTV. Tombol “Play Video” digunakan untuk

memulai penyiaran dan tombol “Stop Video” berfungsi untuk

menghentikan penyiaran.

 

 

Page 100: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

84 

 

Gambar 4.19. Halaman Tab Play

5. Exit.

Pilihan exit merupakan submenu dari menu yang

terdapat pada menubar. Fungsi dari tombol exit adalah untuk

keluar dari aplikasi dan menghapus folder yang sementara yang

telah dibuat pada awal aplikasi berjalan. 

2. Sisi Klien

Pada sisi klien hal yang harus dilakukan untuk dapat

menerima konten siaran TV digital adalah sebagai berikut:

1. Install VLC Media Player.

2. Buka VLC Media Player, kemudian klik media>open network

stream. Pilih protokol “UDP”, kemudian isikan IP address dan

port server penyiar. Klik play.  

 

Page 101: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

85 

 

 

 

Gambar 4.20. Masukan UDP Protokol

3. Klien menerima siaran TV digita yang telah disiarkan oleh sisi

pemancar, dimana klien sudah dapat menonton siaran TV digital

dengan kualitas yang dihasilkan untuk siaran video rekaman

sudah cukup baik. Hal ini diperlihatkan pada Gambar 4.20

berikut.

 

 

 

      Gambar 4.21. Hasil Siaran

Page 102: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

86 

 

 

 

4. Pemilihan chanel atau program dapat dilakukan melakui menu

utama pada VLC media player. Yaitu dengan mengklik

playback>program.

 

 

 

 

   

 

 

 

 

Gambar 4.22 Pemilihan Program

 

Page 103: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil penelitian dalam pembuatan skripsi ini, penulis

mendapatkan beberapa kesimpulan sebagai berikut :

1. Pemancar IPTV digunakan sebagai pemancar konten TV digital yang

disediakan oleh penyedia konten melalui protokol UDP.

2. Untuk menikmati layanan IPTV, klien cukup menggunakan VLC media

player (freeware).

3. Pemancar IPTV telah difungsikan menggunakan software berbasis open

source (Open Caster) pada platform linux.

4. Untuk memudahkan pengoperasian pemancaran video, maka telah aplikasi

antarmuka dirancangan dengan menggunakan Editor Netbeans

menggunakan bahasa pemrograman java.

5. Dengan menggunakan aplikasi antarmuka ini pengguna atau dalam hal ini

admin lebih mudah menyiarkan siaran TV digital IPTV. Tanpa harus

melakukan tahap-tahap penyiaran secara manual dengan menggunakan

terminal.

6. Aplikasi ini dirancang agar admin dapat menggunakan file-file video

dengan format * mp4, wmv, flv, mpg, asf, mov, avi, mkv secara langsung

untuk disiarkan menjadi konten siaran TV digital IPTV.

7. Aplikasi antarmuka ini juga menyediakan beberapa jenis size video dan

aspek ratio sehingga video yang dipancarkan bisa mendapat hasil yang

makasimal dengan ukuran video tidak terlalu besar sehingga proses

87 

Page 104: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

88 

 

pemancaran video dapat berjalan dengan baik, begitu juga pada sisi klien

dapat menerima hasil video dengan baik.

8. Dan proses konversi video dari format video non-transport stream menjadi

video transport stream menggunakan fungsi-fungsi dari ffmpeg.

9. Pengiriman data dari pemancar menuju klien yaitu dengan melakukan

multiplex terhadap konten. Kemudian memecahnya menjadi paket-paket

data secara FIFO (first in first out).

5.2. Saran

Aplikasi antarmuka ini masih jauh dari sempurna, oleh sebab itu penulis

mencoba memberikan saran bagi pihak-pihak yang ingin mengembangkan

aplikasi ini ke depan, yaitu :

1. Pada proses konversi video, penulis belum mengetahui cara untuk

mengetahui proses tersebut telah selesai secara otomatis, penulis harus

melihat hasil konversi pada folder sementara tempat penyimpanan video,

penulis berharap hal ini dapat dikembangkan pada penelitian selanjutnya.

2. Proses admin pada aplikasi ini belum memiliki database, dan diharapkan

pengembang selanjutnya dapat membuatkan database untuk aplikasi ini.

Page 105: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

89  

DAFTAR PUSTAKA

Hary Budiarto. et al. 2007. Sistem TV Digital dan Prospeknya di Indonesia.

Bandung : PT. Multikom Indo Persada.

Febrian, Jack. 2007. Kamus Komputer dan Teknologi Informasi. Bandung :

Informatika.

Hakim S, Rachmad dan Sutarto.2009. Mastering Java. Jakarta : Elex Media

Komputindo .

Leroy, Diana. 2003. Soal-Soal dan Pembahasan UAN Bahasa Indonesia SMP.

Jakarta : Erlangga.

IPTV and Streaming (online). Tersedia : http://www.synergybroadcast.com/video

-streaming-and-iptv/iptv-and-streaming- 11 Juni 2011. 10.31 WIB.

MPEG-2 Transport Stream (online). Tersedia : http://www.afterdawn.com/glossary/term.cfm/mpeg2_transport_stream  

Palarra, L., & F, A, OpenCaster User Manual 3.0, Open Caster(online), Tersedia :

http://www.avalpa.com/assets/freesoft/opencaster/AvalpaBroadcastServerUserMa

nual-v3.0.pdf. 11 Juli 2011 09:10 WIB

Avalpa, “OpenCaster 3.1: the free digital tv software”, Open Caster(online),

Tersedia : http://www.avalpa.com/the-key-values/15-free-software/33-opencaster,

11 Juli 2011 09:14 WIB

Arsyeachmad. 2010. Logical User-Centered Interactive Design (LUCID) (online).

Tersedia : http://arsyeachmad.wordpress.com/2010/12/24/logical-user-centered-

interactive-design-lucid/. 11 Juli 2011 09:30 WIB

Page 106: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

90  

Vivek Bhadra. 2009. MPEG-2 Transmission(online). Tersedia :

http://knol.google.com/k/mpeg-2-transmission#

________. 2011. FFMPEG. (online). Tersedia : http://www.ffmpeg.org/

_______. 2010. How to pad videos using ffmpeg (online). Tersedia :

http://linuxers.org/tutorial/how-pad-videos-using-ffmpeg

The LUCID Design Framework (Logical User Centered Interaction Design)

(online). Tersedia : ftp://ftp.cs.umanitoba.ca/pub/cs371/Readings/Lucid2a-overview.pdf

_____. 2006. An introduction to IPTV (online).

Tersedia : (http://arstechnica.com/business/news/2006/03/iptv.ars).

Page 107: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

91  

LAMPIRAN SOURCE CODE-LOGIN

/* formlogin.java   */ package form; import javax.swing.UIManager; import javax.swing.JOptionPane;  public class formlogin extends javax.swing.JFrame {      String pass;     /** Creates new form formlogin */     public formlogin() {         initComponents();     }      private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                     // TODO add your handling code here:         String host,user,pass;         user = userField.getText();         pass = String.valueOf(passField.getPassword());         if(user.equals("")==true||pass.equals("")==true){          JOptionPane.showMessageDialog(null,"User dan pass tidak boleh kosong");         }          else{             if(user.equals("admin")){                 if(pass.equals("admin")){                     videomux app = new videomux();                     //app.userActive(user,pass);                     app.setLocationRelativeTo(this);                     app.setVisible(true);                     this.dispose();                 }                 else{                     JOptionPane.showMessageDialog(null,"Password admin salah! Silakan masukkan kembali password admin..","Error",JOptionPane.ERROR_MESSAGE);                 }             }             else{                 JOptionPane.showMessageDialog(null,"Username Anda tidak sesuai. Silakan ulangi kembali..","Error",JOptionPane.ERROR_MESSAGE); 

Page 108: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

92  

            }         }         }                                                }                                          // Variables declaration ‐ do not modify                          public javax.swing.JLabel jLabel1;     public javax.swing.JLabel jLabel2;     public javax.swing.JLabel jLabel4;     public javax.swing.JLabel jLabel5;     public javax.swing.JLabel jLabel6;     public javax.swing.JLabel jLabel7;     public javax.swing.JLayeredPane jLayeredPane2;     public javax.swing.JButton loginButton;     public javax.swing.JPasswordField passField;     public javax.swing.JTextField userField;     // End of variables declaration                     }  LAMPIRAN SOURCE CODE-KONFIGURASI

 package form;  import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane;  public class SimpanKonfig extends javax.swing.JFrame {      /** Creates new form SimpanKonfig */     String IDRegion;     public String PROP_FILE = "konfigurasi.ini";     public SimpanKonfig() {         initComponents();  

Page 109: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

93  

        Properties p2 = new Properties();         p2 = loadProperties(PROP_FILE);         //Mendapatkan nilai key         jUserName.setText(p2.getProperty("Nama Aplikasi"));         jNetName.setText(p2.getProperty("Host Server"));     }     private void btnSimpanKonfigurasiActionPerformed(java.awt.event.ActionEvent evt) {                                           // TODO add your handling code here:           try { 

/** Menyimpan file properties ke file @param Properties p Object              Properties* @param String sFile String path file tujuan*/ 

    Properties p = new Properties();     //Menetapkan key dan value draft                 p.setProperty("Nama Aplikasi", jUserName.getText());     p.setProperty("Host Server", jNetName.getText());                 p.setProperty("ID Region", "62");     saveProperties(p, PROP_FILE);     }   catch (IOException ex) {     Logger.getLogger(SimpanKonfig.class.getName()).log(Level.SEVERE, null, ex);     JOptionPane.showMessageDialog(null, ex.getMessage());   }            dispose();     }                                                          public static Properties loadProperties(String sFile) {   Properties p = new Properties();     try {       FileInputStream in = new FileInputStream(sFile);       p.load(in);       System.out.println("File konfigurasi '" + sFile + "' berhasil dibuka");       in.close();     }      catch (IOException iOException) {                         //JOptionPane.showMessageDialog(null, "Lakukan konfigurasi pada menu Setting!!!","Error",JOptionPane.ERROR_MESSAGE);     }     return p; }  

Page 110: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

94  

public static void saveProperties(Properties p, String sFile) throws IOException{FileOutputStream out = null;   try {     out = new FileOutputStream(sFile);     p.store(out, "Data konfigurasi untuk IPTV server V 1.0\[email protected]\[email protected]");     JOptionPane.showMessageDialog(null, "File konfigurasi '"+sFile+"' sudah disimpan");     }    catch (FileNotFoundException ex) {     Logger.getLogger(SimpanKonfig.class.getName()).log(Level.SEVERE, null, ex);     JOptionPane.showMessageDialog(null, ex.getMessage());     }    finally {     try {       out.close();       }      catch (IOException ex) {Logger.getLogger(SimpanKonfig.class.getName()).log(Level.SEVERE, null, ex);     JOptionPane.showMessageDialog(null, ex.getMessage());     }   } }     public static void main(String args[]) {         java.awt.EventQueue.invokeLater(new Runnable() {             public void run() {                 new SimpanKonfig().setVisible(true);             }         });     }     // Variables declaration ‐ do not modify                          private javax.swing.JButton btnSimpanKonfigurasi;     private javax.swing.JLabel jLabel1;     private javax.swing.JLabel jLabel2;     private javax.swing.JLabel jLabel3;     private javax.swing.JTextField jNetName;     private javax.swing.JPanel jPanel1;     private javax.swing.JTextField jUserName;     // End of variables declaration                     } 

Page 111: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

95  

LAMPIRAN SOURCE CODE-MUXING

import javax.swing.SwingUtilities.*; 

import javax.swing.filechooser.FileFilter; 

import java.io.*; 

import java.util.Properties; 

import javax.swing.*; 

import logic.RunExternalCommand; 

public class videomux extends javax.swing.JFrame { 

String[] hasilvideo = new String[6]; 

String[] filevideo = new String[6]; 

String[] hasilbitrate = new String[6]; 

int [] pidvi=new int[6]; 

int [] pidau=new int[6]; 

String [] providername = new String [6]; 

String [] servisname = new String [6]; 

int ini = 0; 

String filename,filedir; 

String textsum, combine; 

int sumbitrate; 

PSIGenerator psi; 

File file; 

String folderUser; 

String userName,networkName,CountryID; 

 

public String PROP_FILE = "konfigurasi.ini"; 

    public videomux() { //konstruktor = fungsi yang nama nya sama dengan nama kelas 

         psi = new PSIGenerator(); 

        initComponents();                    

    } 

 private void bootOn(){ 

        //Lihat user yang sedang aktif pada ubuntu 

        BufferedReader stdInput = null; 

        String[] cmd1 = new String[3]; 

        cmd1[0] = "/bin/sh"; 

Page 112: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

96  

        cmd1[1] = "‐c"; 

        cmd1[2] = "whoami"; 

        try{ 

            Process pa = Runtime.getRuntime().exec(cmd1); 

            stdInput = new BufferedReader(new InputStreamReader(pa.getInputStream())); 

            String eachline = null; 

            while((eachline = stdInput.readLine()) != null){ 

                folderUser = "/home/"+eachline+"/"; //untuk mencari tau nama user komputer 

                System.out.println("User yang aktif adalah: "+eachline); 

                System.out.println("Lokasi folder yang aktif adalah: "+folderUser); 

                } 

            } 

        catch(Exception e){ 

            System.err.println("Ada kesalahan !!!"); 

            } 

        //Buka file properties 

        Properties p2 = new Properties(); 

        p2 = loadProperties(PROP_FILE); 

        //Mendapatkan nilai key 

        networkName = p2.getProperty("Host Server"); 

        System.out.println("Nama jaringan yang aktif: "+networkName); 

        userName = p2.getProperty("Nama Aplikasi"); 

        CountryID = p2.getProperty("ID Region"); 

 

        //Membuat folder temps jika belum ada 

        // [email protected] 

        String[] cmd = new String[3]; 

        cmd[0] = "/bin/sh"; 

        cmd[1] = "‐c"; 

        cmd[2] = "mkdir "+folderUser+"temps"; 

        System.out.println("Buat folder: "+cmd[2]); 

        try{ 

            Process p = Runtime.getRuntime().exec(cmd); 

           } 

Page 113: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

97  

        catch (IOException e) { 

            System.out.println("salah buat folder"); 

            e.printStackTrace(); 

            System.exit(‐1); 

           } 

    } 

    public static Properties loadProperties(String sFile) { 

  Properties p = new Properties(); 

    try { 

      FileInputStream in = new FileInputStream(sFile); 

      p.load(in); 

      System.out.println("File konfigurasi '" + sFile + "' berhasil dibuka"); 

      in.close(); 

                    } 

    catch (IOException iOException) { 

                    new SimpanKonfig().setVisible(true); 

                        JOptionPane.showMessageDialog(null, "Lakukan konfigurasi pada menu Setting 

\nterlebih dahulu!!!","Error",JOptionPane.ERROR_MESSAGE); 

                    } 

  return p; 

//Sintaks untuk memprediksi bitrate 

 private int predictBitrate(String av){ 

       String predict =  "tspcrmeasure "+av+" 4000000"; 

        int bitrateAV = 0; 

        BufferedReader stdInput = null; 

        String[] xi = new String[3]; 

        xi[0] = "/bin/sh"; 

        xi[1] = "‐c"; 

        xi[2] =  predict; 

 

        try{ 

            Process p = Runtime.getRuntime().exec(xi); 

            System.out.println("hasil"+predict); 

Page 114: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

98  

            stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); 

            } 

        catch(Exception e){ 

            System.err.println("Ada kesalahan dalam menghitung bitrate"); 

            } 

 

        try{ 

            String eachline = null; 

            String hasil=""; 

            while((eachline = stdInput.readLine()) != null){ 

                hasil = eachline; 

                System.out.println(hasil); 

                eachline = stdInput.readLine(); 

                } 

            String[] bitrate = hasil.split(" "); 

            double bitrate2 = Double.parseDouble(bitrate[bitrate.length‐1]); 

            //System.out.println("fungsi bitrate:"+bitrate2); 

            bitrateAV = (int)bitrate2; 

            //System.out.println("fungsi bitrateav:"+bitrateAV); 

            } 

        catch(Exception e){ 

            return 0; 

            //JOptionPane.showMessageDialog(null,"Gagal membuat 

bitrate","Error",JOptionPane.ERROR_MESSAGE); 

            //e.printStackTrace(); 

            } 

        return bitrateAV; 

    } 

    

    private void createPSI(int[] pidau, int[] pidvi){ 

        String s = ""; 

        String namaFile = folderUser+"temps/psiconfig.py"; 

        file = new File(namaFile); 

        try{ 

Page 115: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

99  

            int[] serviceID = {1,2,3,4,5,6,7}; 

            String [] serviceName = new String [servisname.length]; 

            for (int i=0; i<servisname.length;i++){ 

                serviceName [i]= servisname[i]; 

            } 

            int[] valuePMTID = {1031,1032,1033,1034,1035,1036,4095}; 

            //String[] providerName = {"Prog‐1","Prog‐2","Prog‐3","Prog‐4","Prog‐5","Prog‐6","Prog‐

Live"}; 

             

              String [] providerName = new String [providername.length]; 

            for (int i=0; i<providername.length;i++){ 

               providerName [i]= providername[i]; 

            } 

            FileWriter fw = new FileWriter(namaFile); 

            s = psi.generatePSI(ini,serviceID, serviceName, valuePMTID, networkName, 

providerName,folderUser, pidau, pidvi); 

            fw.write(s); 

            // Close file writer 

            fw.close(); 

 

            // Beri hak akses unutuk eksekusi 

            RunExternalCommand xi = new RunExternalCommand(); 

            xi.cmd[0] = "/bin/sh"; 

            xi.cmd[1] = "‐c"; 

            xi.cmd[2] =  "chmod +x "+folderUser+"temps/psiconfig.py"; 

            xi.runcommand(); 

 

            xi.cmd[0] = "/bin/sh"; 

            xi.cmd[1] = "‐c"; 

            xi.cmd[2] =  folderUser+"temps/psiconfig.py"; 

            xi.runcommand(); 

            System.out.println("Program berhasil dijalankan"); 

            } 

        catch(Exception e){ 

Page 116: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

100  

            JOptionPane.showMessageDialog(null,"Gagal membuat file  

PSI","Error",JOptionPane.ERROR_MESSAGE); 

            e.printStackTrace(); 

            }               

    } 

           private void jMenuExitActionPerformed(java.awt.event.ActionEvent evt) {                                           

        // TODO add your handling code here: 

        this.dispose(); 

        //Jalankan pengapusan file temp 

        String[] cmd = new String[3]; 

        cmd[0] = "/bin/sh"; 

        cmd[1] = "‐c"; 

        cmd[2] = "rm ‐r "+folderUser+"temps"; 

        try{ 

            Process p = Runtime.getRuntime().exec(cmd); 

            } 

        catch (IOException e) { 

            System.out.println("[IOException]. Printing Stack Trace"); 

            e.printStackTrace(); 

            System.exit(‐1); 

            }         

    }                                          

 

    private void jConfigureActionPerformed(java.awt.event.ActionEvent evt) {                                            

        // TODO add your handling code here: 

        new SimpanKonfig().setVisible(true); 

        //this.dispose();         

    }                                           

 

    //Dijalankan ketika form di load 

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                      

        // TODO add your handling code here: 

        bootOn(); 

    }                                     

Page 117: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

101  

//Action tombol untuk check bitrate 

    private void jCheckBitActionPerformed(java.awt.event.ActionEvent evt) {                                           

         int bitrate = predictBitrate(folderUser+"temps/"+ini+"f.ts");//untuk hasil bitrate 

        hasilbitrate[ini] = (String.valueOf(bitrate)); 

       Jbirate.setText(String.valueOf(hasilbitrate[ini])); 

         

        jBrowseFile.setEnabled(false); 

        JFilter.setEnabled(false); 

        jconvert.setEnabled(false); 

        nextButton.setEnabled(true); 

        jMuxing.setEnabled(true); 

    }                                          

 

 

//Action tombol untuk check convert 

    private void jconvertActionPerformed(java.awt.event.ActionEvent evt) {                                          

        // TODO add your handling code here: 

        String size, aspect; 

        Object ukuran, ratio; 

        ukuran=JsizeVideo.getSelectedItem(); 

        size=String.valueOf(ukuran); 

        ratio=jratio.getSelectedItem(); 

        aspect=String.valueOf(ratio); 

         

        String convert="ffmpeg ‐i "+jLokasiFile.getText()+ " ‐ar 22050 ‐ab 128k ‐b 2500k" 

                + " ‐r 24 ‐maxrate 5000k ‐bufsize 256k ‐vcodec mpeg2video ‐s "+size+" ‐aspect "+ratio+"" 

                + " ‐acodec mp2 ‐map 0:0 ‐map 0:1 ‐mpegts_start_pid 0x"+jPIDVideo1.getText()+"" 

  + " ‐metadata service_provider="+jServisprovider.getText()+" ‐metadata 

service_name="+jServisname.getText()+" ‐y "+folderUser+"temps/"+ini+".ts"; 

         

        String[] cmd = new String[3]; 

        cmd[0] = "/bin/sh"; 

        cmd[1] = "‐c"; 

        cmd[2] = convert; 

Page 118: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

102  

        try{ 

            Process p = Runtime.getRuntime().exec(cmd); 

            System.out.println(convert); 

        } catch (IOException e) { 

            System.out.println("salah koding"); 

            e.printStackTrace(); 

            System.exit(‐1); 

        } 

        jBrowseFile.setEnabled(false); 

        jconvert.setEnabled(false); 

        JFilter.setEnabled(true); 

    }                                         

//Action tombol untuk check Filter 

    private void JFilterActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here: 

         

        String[] fs = new String[3]; 

        fs[0] = "/bin/sh";//fungsi linux untuk buka consul baru 

        fs[1] = "‐c"; 

        fs[2] = "tsfilter "+folderUser+"temps/"+ini+".ts +"+Integer.parseInt(jPIDVideo1.getText(),16)+" 

+"+(Integer.parseInt(jPIDVideo1.getText(),16)+1)+">"+folderUser+"temps/"+ini+"f.ts"; 

        System.out.println("filter: "+fs[2]); 

        try{ 

            Process p = Runtime.getRuntime().exec(fs); 

            String filelokasi = (folderUser+"temps/"+ini+"f.ts"); 

            filevideo[ini]= filelokasi; 

            FileLokasi.setText(filevideo[ini]); 

            System.out.println(filevideo[ini]); 

                 

        } catch (IOException e) { 

            System.out.println("[IOException]. Printing Stack Trace"); 

            e.printStackTrace(); 

            System.exit(‐1); 

        } 

Page 119: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

103  

        jBrowseFile.setEnabled(false); 

        jconvert.setEnabled(false); 

        JFilter.setEnabled(false); 

        jCheckBit.setEnabled(true); 

        nextButton.setEnabled(false); 

    }                                        

 

 

 

 

//Action tombol untuk check menambah Video 

    private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            

        // TODO add your handling code here: 

         jLokasiFile.setText(""); 

        Jbirate.setText(""); 

        jPIDVideo1.setText(""); 

        jServisprovider.setText(""); 

        jServisname.setText(""); 

        jBrowseFile.setEnabled(true); 

        nextButton.setEnabled(false); 

}                                           

 

    private void jBrowseFileActionPerformed(java.awt.event.ActionEvent evt) {                                             

        // TODO add your handling code here: 

        JFileChooser fileChooser = new JFileChooser(); 

        fileChooser.setFileFilter(new FileFilter() { 

            public boolean accept(File f) { 

                return 

f.getName().toLowerCase().endsWith(".avi")||f.getName().toLowerCase().endsWith(".MPEG")||                        

f.getName().toLowerCase().endsWith(".mkv")||f.getName().toLowerCase().endsWith(".mp4")||                        

f.getName().toLowerCase().endsWith(".mmv") ||f.getName().toLowerCase().endsWith(".mpg")||                        

f.getName().toLowerCase().endsWith(".asf")||f.getName().toLowerCase().endsWith(".mov")|| 

f.isDirectory(); 

            } 

Page 120: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

104  

             

            public String getDescription() { 

                return "Video Files"; 

            } 

        }); 

         int returnVal = fileChooser.showOpenDialog(this); 

        if(returnVal == JFileChooser.APPROVE_OPTION){ 

            String filepath = fileChooser.getSelectedFile().getPath(); 

            jLokasiFile.setText(filepath); 

            filename = fileChooser.getSelectedFile().getName(); 

            filedir = filepath.substring(0,(filepath.length()‐filename.length()‐1)); 

        } 

         

        //Hitung jumlah video dengan array 

        if (ini > 5 ){ 

            JOptionPane.showMessageDialog(null, "Maaf hanya diperbolehkan sampai 6 

video","Error",JOptionPane.ERROR_MESSAGE); 

        } 

                else{ 

                hasilvideo[ini] = jLokasiFile.getText(); 

                System.out.println(hasilvideo[ini]); 

                JmlVideo.setText(String.valueOf(ini+1)+" TS"); 

                jLokasiFile.setText(hasilvideo[ini]);   

                                

            pidvi[ini]=Integer.valueOf(jPIDVideo1.getText()); 

            pidau[ini]=Integer.valueOf(pidvi[ini]+1); 

            servisname[ini]=jServisname.getText(); 

            providername[ini]=jServisprovider.getText();                     

            ini = ini+1;                                  

        } 

        jBrowseFile.setEnabled(false); 

        jconvert.setEnabled(true);                     

    }                             

                

Page 121: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

105  

//Action tombol untuk  Play Video/ mengirim video 

    private void PlayIPTVActionPerformed(java.awt.event.ActionEvent evt) {                                         

     // Jalankan dan konfigurasi untuk TSUDPSEND 

        combine ="tsudpsend "+folderUser+"temps/fifoloop.ts "+jIPServer.getText()+" 

"+jPortServer.getText()+" "+sumbitrate; 

         

        String[] cmd = new String[3]; 

        cmd[0] = "/bin/sh"; 

        cmd[1] = "‐c"; 

        cmd[2] = textsum+combine; 

        System.out.println("Proses muxing: "+cmd[2]); 

                try{ 

            Process p = Runtime.getRuntime().exec(cmd); 

        } catch (IOException e) { 

            System.out.println("[IOException]. Printing Stack Trace"); 

            e.printStackTrace(); 

            System.exit(‐1); 

        } 

         jStopIPTV.setEnabled(true); 

        PlayIPTV.setEnabled(false); 

    }                         

                 

 //Action tombol untuk  STOP Video/ mengirim video 

    private void jStopIPTVActionPerformed(java.awt.event.ActionEvent evt) {                                           

        // TODO add your handling code here: 

        //Keluarkan proses tsudpsend dari system 

        String[] cmd = new String[3]; 

        cmd[0] = "/bin/sh"; 

        cmd[1] = "‐c"; 

        cmd[2] = "killall ‐TERM tsudpsend;rm "+folderUser+"temps/fifoloop.ts;rm 

"+folderUser+"temps/fifomuxed.ts"; 

                try{ 

            Process p = Runtime.getRuntime().exec(cmd); 

        } catch (IOException e) { 

Page 122: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

106  

            System.out.println("[IOException]. Printing Stack Trace"); 

            e.printStackTrace(); 

            System.exit(‐1); 

        } 

        jStopIPTV.setEnabled(false); 

        PlayIPTV.setEnabled(true); 

        nextButton.setEnabled(true); 

         

}                                          

 

    private void jMuxingActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here: 

            //buat table PSI 

        createPSI(pidau, pidvi); 

         

        //Proses Muxing sementara 

        //[email protected] 

        int psibit = 2000; 

        int bit1=0,bit2=0; 

        //Menghitung jumlah birate keseluruhan 

        //[email protected] 

       

        for(int i = 1 ; i <= (ini) ; ++i){ 

            bit1 = bit1+Integer.valueOf(psibit).intValue(); 

            bit2 = bit2+Integer.valueOf(hasilbitrate[i]).intValue(); 

        } 

        sumbitrate = bit1 + bit2; 

                //Menjalankan proses muxing dengan opencaster 

           textsum = "mkfifo "+folderUser+"temps/fifomuxed.ts;mkfifo 

"+folderUser+"temps/fifoloop.ts;" + 

                "tscbrmuxer " + 

                 lopingpmttable(ini,psibit,hasilbitrate,filevideo) + 

                "b:"+psibit+" "+folderUser+"temps/mptssdt.ts "+ 

                "b:"+psibit+" "+folderUser+"temps/mptsnit.ts "+ 

Page 123: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

107  

                "b:"+psibit+" "+folderUser+"temps/mptspat.ts "+ 

                "> "+folderUser+"temps/fifomuxed.ts & " + 

                "tsloop "+folderUser+"temps/fifomuxed.ts > "+folderUser+"temps/fifoloop.ts & "; 

           System.out.println("Total hasil bitrate: "+sumbitrate); 

          PlayIPTV.setEnabled(true); 

        jMuxing.setEnabled(false); 

        jBrowseFile.setEnabled(false); 

        nextButton.setEnabled(false); 

}                                        

    private String lopingpmttable(int ini,int psibit, String[] hasilbitrate, String[] filevideo) { 

        String hasilengkap = ""; 

        for(int i = 1 ; i <= (ini) ; ++i){ 

      hasilengkap += "b:"+hasilbitrate[i]+" "+filevideo[i]+" b:"+2000+" 

"+folderUser+"temps/mptspmt"+(i)+".ts "; 

            } 

            return hasilengkap; 

    } 

    public static void main(String args[]) { 

              java.awt.EventQueue.invokeLater(new Runnable() { 

            public void run() { 

               new videomux().setVisible(true); 

            } 

        }); 

    } 

    // Variables declaration ‐ do not modify                      

    private javax.swing.JTextField FileLokasi; 

    private javax.swing.JButton JFilter; 

    private javax.swing.JLabel JIPTV; 

    private javax.swing.JPanel JPanel; 

    private javax.swing.JLabel JUIN; 

    private javax.swing.JTextField Jbirate; 

    private javax.swing.JLabel Jlogouin; 

    private javax.swing.JTextField JmlVideo; 

    private javax.swing.JLabel Jsaintek; 

Page 124: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

108  

    private javax.swing.JComboBox JsizeVideo; 

    private javax.swing.JButton PlayIPTV; 

    private javax.swing.JButton jBrowseFile; 

    private javax.swing.JButton jCheckBit; 

    private javax.swing.JMenuItem jConfigure; 

    private javax.swing.JTextField jIPServer; 

    private javax.swing.JLabel jLabel1; 

    private javax.swing.JLabel jLabel12; 

    private javax.swing.JLabel jLabel13; 

    private javax.swing.JLabel jLabel14; 

    private javax.swing.JLabel jLabel16; 

    private javax.swing.JLabel jLabel17; 

    private javax.swing.JLabel jLabel18; 

    private javax.swing.JLabel jLabel2; 

    private javax.swing.JLabel jLabel25; 

    private javax.swing.JLabel jLabel26; 

    private javax.swing.JLabel jLabel27; 

    private javax.swing.JLabel jLabel28; 

    private javax.swing.JLabel jLabel3; 

    private javax.swing.JLabel jLabel30; 

    private javax.swing.JLabel jLabel7; 

    private javax.swing.JLabel jLabel8; 

    private javax.swing.JTextField jLokasiFile; 

    private javax.swing.JMenuBar jMenuBar1; 

    private javax.swing.JMenu jMenuClose; 

    private javax.swing.JMenuItem jMenuExit; 

    private javax.swing.JMenu jMenuHelp; 

    private javax.swing.JMenuItem jMenuItem1; 

    private javax.swing.JMenuItem jMenuItem2; 

    private javax.swing.JMenuItem jMenuOpen; 

    private javax.swing.JButton jMuxing; 

    private javax.swing.JTextField jPIDVideo1; 

    private javax.swing.JPanel jPanel3; 

    private javax.swing.JPanel jPanel4; 

Page 125: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

109  

    private javax.swing.JTextField jPortServer; 

    private javax.swing.JTextField jServisname; 

    private javax.swing.JTextField jServisprovider; 

    private javax.swing.JMenu jSetting; 

    private javax.swing.JButton jStopIPTV; 

    private javax.swing.JTabbedPane jTabbedPane1; 

    private javax.swing.JButton jconvert; 

    private javax.swing.JComboBox jratio; 

    private javax.swing.JButton nextButton; 

    // End of variables declaration                 

  

Page 126: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

110  

LAMPIRAN SOURCE CODE-TABEL PSI

package form; 

// @author gregorio 

public class PSIGenerator { 

    public String getAvalpaServiceID(int jumlahUser,int[] serviceId){ 

        String avalpa_service_id = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            avalpa_service_id += "avalpa"+(i)+"_service_id = "+serviceId[i‐1]+"\n"; 

        } 

        return avalpa_service_id; 

    } 

    public String getAvalpaPMTID(int jumlahUser,int[] value){ 

        String avalpa_pmt_id = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            avalpa_pmt_id += "avalpa"+(i)+"_pmt_pid = "+value[i‐1]+"\n"; 

        } 

        return avalpa_pmt_id; 

    } 

    public String getServiceDescriptor(int jumlahUser){ 

        String service_descriptor = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            service_descriptor +=   "\t\t\t\t\t\t service_descriptor_loop_item(\n" + 

                                    "\t\t\t\t\t\t\t service_ID = avalpa"+(i)+"_service_id,\n" + 

                                    "\t\t\t\t\t\t\t service_type = 1,\n" + 

                                    "\t\t\t\t\t\t ),\n"; 

        } 

        return service_descriptor; 

    } 

Page 127: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

111  

    public String getLogicalChannel(int jumlahUser,int[] serviceId){ 

        String lcn = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            lcn +=  "\t\t\t\t\t\t lcn_service_descriptor_loop_item(\n" + 

                    "\t\t\t\t\t\t\t service_ID = avalpa"+(i)+"_service_id,\n" + 

                    "\t\t\t\t\t\t\t visible_service_flag = 1,\n" + 

                    "\t\t\t\t\t\t\t logical_channel_number = " + (100*i)+",\n" + 

                    "\t\t\t\t\t\t ),\n"; 

        } 

        return lcn; 

    } 

    public String getProgramLoopPAT(int jumlahUser){ 

        String program_loop = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            program_loop += "\t\t program_loop_item(\n"+ 

                            "\t\t\t program_number = avalpa"+(i)+"_service_id,\n" + 

                            "\t\t\t PID = avalpa"+(i)+"_pmt_pid,\n" + 

                            "\t\t ),\n"; 

        } 

        return program_loop; 

    } 

    public String getServiceLoopSDT(int jumlahUser, String[] providerName, String[] serviceName){ 

        String service_loop = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            service_loop += "\t\t service_loop_item(\n" + 

                            "\t\t\t service_ID = avalpa"+(i)+"_service_id,\n" + 

                            "\t\t\t EIT_schedule_flag = 0,\n" + 

                            "\t\t\t EIT_present_following_flag = 0,\n" + 

Page 128: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

112  

                            "\t\t\t running_status = 4,\n" + 

                            "\t\t\t free_CA_mode = 0,\n" + 

                            "\t\t\t service_descriptor_loop = [\n" + 

                            "\t\t\t\t service_descriptor(\n" + 

                            "\t\t\t\t\t service_type = 1,\n" + 

                            "\t\t\t\t\t service_provider_name = \""+providerName[i‐1]+"\",\n" + 

                            "\t\t\t\t\t service_name = \""+serviceName[i‐1]+"\",\n" + 

                            "\t\t\t\t ),\n" + 

                            "\t\t\t ],\n" + 

                            "\t\t ),\n"; 

        } 

        return service_loop; 

    } 

    public String getPMT(int jumlahUser, int[] pidau, int[] pidvi){ 

        String pmt = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            pmt +=  "pmt"+(i)+" = program_map_section(\n" + 

                    "\t program_number = avalpa"+(i)+"_service_id,\n" + 

                    "\t PCR_PID = 0x"+(pidvi[i‐1])+",\n" + 

                    "\t program_info_descriptor_loop = [],\n" + 

                    "\t stream_loop = [\n" + 

                    "\t\t stream_loop_item(\n" + 

                    "\t\t\t stream_type = 2,\n" + 

                    "\t\t\t elementary_PID = 0x"+(pidvi[i‐1])+",\n" +//hasil pid input diletak diini 

                    "\t\t\t element_info_descriptor_loop = []\n" + 

                    "\t\t ),\n" + 

                    "\t\t stream_loop_item(\n" + 

                    "\t\t\t stream_type = 4,\n" + 

Page 129: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

113  

                    "\t\t\t elementary_PID = 0x"+(pidau[i‐1])+",\n" + // +1 

                    "\t\t\t element_info_descriptor_loop = []\n" + 

                    "\t\t ),\n" + 

                    "\t ],\n" + 

                    "\t version_number = 1,\n" + 

                    "\t section_number = 0,\n" + 

                    "\t last_section_number = 0,\n" + 

                    ")\n"; 

        } 

        return pmt; 

    } 

    public String generatePMT(int jumlahUser, String folderUser){ 

        String output = ""; 

        for(int i = 1 ; i <= jumlahUser‐1 ; ++i){ 

            output += "out = open('"+folderUser+"temps/pmt"+(i)+".sec', \"wb\")\n" + 

                "out.write(pmt"+(i)+".pack())\n" + 

                "out.close\n" + 

                "out = open('"+folderUser+"temps/pmt"+(i)+".sec', \"wb\")\n" + 

                "out.close\n" + 

                "os.system('sec2ts ' + str(avalpa"+(i)+"_pmt_pid) + ' < "+folderUser+"temps/pmt"+(i)+".sec > "+folderUser+"temps/mptspmt"+(i)+".ts')\n"; 

        } 

        return output; 

    } 

    public String generatePSI(int ini,int[] serviceId,String[] serviceName, int[] valuePMTID,String networkName,String[] providerName, String folderUser, int[] pidau, int[] pidvi) throws Exception{ 

        String s = ""; 

        int jumlahUser = ini+1; 

Page 130: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

114  

        s = "#! /usr/bin/env python\n" + 

                "import os \n" + 

                "from dvbobjects.PSI.PAT import *\n" + 

                "from dvbobjects.PSI.NIT import *\n" + 

                "from dvbobjects.PSI.SDT import *\n" + 

                "from dvbobjects.PSI.PMT import *\n" + 

                "from dvbobjects.PSI.TDT import *\n" + 

                "from dvbobjects.DVB.Descriptors import *\n" + 

                "from dvbobjects.MPEG.Descriptors import *\n" + 

                "avalpa_transport_stream_id = 1\n" + 

                "avalpa_original_transport_stream_id = 1\n" + 

                getAvalpaServiceID(jumlahUser,serviceId)+ 

                 getAvalpaPMTID(jumlahUser,valuePMTID) + 

                 "\n" + 

                "nit = network_information_section(\n" + 

                "\t network_id = 1,\n" + 

                "\t network_descriptor_loop = [\n" + 

                "\t\t network_descriptor(network_name = \""+networkName+"\",),\n" + 

                "\t ],\n" + 

                "\t transport_stream_loop = [\n" + 

                "\t\t transport_stream_loop_item(\n" + 

                "\t\t\t transport_stream_id = avalpa_transport_stream_id,\n" + 

                "\t\t\t original_network_id = avalpa_original_transport_stream_id,\n" + 

                "\t\t\t transport_descriptor_loop = [\n" + 

                "\t\t\t\t service_list_descriptor(\n" + 

                "\t\t\t\t\t dvb_service_descriptor_loop = [\n" + 

                getServiceDescriptor(jumlahUser) + 

                "\t\t\t\t\t ],\n" + 

Page 131: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

115  

                "\t\t\t\t ),\n" + 

                "\t\t\t\t logical_channel_descriptor(\n" + 

    "\t\t\t\t\t lcn_service_descriptor_loop = [\n" + 

                getLogicalChannel(jumlahUser,serviceId)+ 

                               "\t\t\t\t\t ],\n" + 

    "\t\t\t\t ),\n" + 

                "\t\t\t ],\n" + 

                "\t\t ),\n" + 

                "\t ],\n" + 

                "\t version_number = 1,\n" + 

                "\t section_number = 0,\n" + 

                "\t last_section_number = 0,\n" + 

                ")\n" + 

                "\n" + 

                "pat = program_association_section(\n" + 

                "\t transport_stream_id = avalpa_transport_stream_id,\n" + 

                "\t program_loop = [\n" + 

                getProgramLoopPAT(jumlahUser) + 

                                

                "\t ],\n" + 

                "\t version_number = 1,\n" + 

                "\t section_number = 0,\n" + 

                "\t last_section_number = 0,\n" + 

                ")\n" + 

                "\n" + 

                "sdt = service_description_section(\n" + 

                "\t transport_stream_id = avalpa_transport_stream_id,\n" + 

                "\t original_network_id = avalpa_original_transport_stream_id,\n" + 

Page 132: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

116  

                "\t service_loop = [\n" + 

                getServiceLoopSDT(jumlahUser,providerName,serviceName) + 

                

                "\t ],\n" + 

                "\t version_number = 1,\n" + 

                "\t section_number = 0,\n" + 

                "\t last_section_number = 0,\n" + 

                ")\n" + 

                "\n" + 

                getPMT(jumlahUser, pidau, pidvi) + 

 

                "out = open('"+folderUser+"temps/nit.sec\', \"wb\")\n" + 

                "out.write(nit.pack())\n" + 

                "out.close\n" + 

                "out = open('"+folderUser+"temps/nit.sec', \"wb\")\n" + 

                "out.close\n" + 

                "os.system('sec2ts 16 < "+folderUser+"temps/nit.sec > "+folderUser+"temps/mptsnit.ts')\n" + 

                "out = open('"+folderUser+"temps/pat.sec', \"wb\")\n" + 

                "out.write(pat.pack())\n" + 

                "out.close\n" + 

                "out = open('"+folderUser+"temps/pat.sec', \"wb\")\n" + 

                "out.close\n" + 

                "os.system('sec2ts 0 < "+folderUser+"temps/pat.sec > "+folderUser+"temps/mptspat.ts')\n" + 

                "out = open('"+folderUser+"temps/sdt.sec', \"wb\")\n" + 

                "out.write(sdt.pack())\n" + 

                "out.close\n" + 

                "out = open('"+folderUser+"temps/sdt.sec', \"wb\")\n" + 

Page 133: PERANCANGAN APLIKASI ANTARMUKA PEMANCAR SIARAN TV DIGITAL ...repository.uinjkt.ac.id/dspace/bitstream/123456789/4959/1/FITRI... · perancangan aplikasi antarmuka pemancar siaran tv

117  

                "out.close\n" + 

                "os.system('sec2ts 17 < "+folderUser+"temps/sdt.sec > "+folderUser+"temps/mptssdt.ts')\n" + 

                generatePMT(jumlahUser, folderUser) + 

                "os.system('rm "+folderUser+"temps/*.sec') \n" ; 

                        return s; 

    }