• Tidak ada hasil yang ditemukan

Simulasi Sistem Antrian Pada Statistical Time Division Multiplexing Dengan Bahasa Pemrograman Visual C++ 6.0

N/A
N/A
Protected

Academic year: 2016

Membagikan "Simulasi Sistem Antrian Pada Statistical Time Division Multiplexing Dengan Bahasa Pemrograman Visual C++ 6.0"

Copied!
97
0
0

Teks penuh

(1)

TUGAS AKHIR

SIMULASI SISTEM ANTRIAN PADA

STATISTICAL TIME DIVISION MULTIPLEXING

DENGAN BAHASA PEMROGRAMAN VISUAL C++ 6.0

Diajukan untuk memenuhi salah satu persyaratan dalam

menyelesaikan pendidikan sarjana (S-1)

pada Departemen Teknik Elektro

Oleh

IPENGADOHAR EZRA PANGARIBUAN 020402048

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

SIMULASI SISTEM ANTRIAN PADA

STATISTICAL TIME DIVISION MULTIPLEXING

DENGAN BAHASA PEMROGRAMAN VISUAL C++ 6.0

Oleh :

IPENGADOHAR EZRA PANGARIBUAN 020402048

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar sarjana Teknik Elektro

Disetujui Oleh : Pembimbing,

MAKSUM PINEM, ST, MT NIP. 132282135

Disetujui Oleh :

Ketua Departemen Teknik Elektro FT USU,

Prof. Dr. Ir. USMAN BAAFAI NIP. 130365322

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

(3)

ABSTRAK

Teknologi komunikasi merupakan teknologi yang paling pesat perkembangannya pada beberapa tahun terakhir ini. Seiring dengan itu, teknologi multiplexing memiliki peranan yang sangat penting dalam meningkatkan efisiensi penggunaan perangkat komunikasi. Dari beberapa teknik multiplexing,

(4)

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala

rahmat dan karunianya sehingga penulis akhirnya dapat menyelesaikan Tugas Akhir

ini dengan judul ”Simulasi Sistem Antrian Pada Statistical Time Division

Multiplexing (TDM) Dengan Bahasa Pemrograman Visual C++ 6.0”. Adapun Tugas

Akhir ini dibuat untuk memenuhi syarat kesarjanaan di Departemen Teknik Elektro

Fakultas Teknik Universitas Sumatera Utara.

Dalam proses pembuatan Tugas Akhir ini penulis banyak menemukan

hambatan dan kesulitan. Namun berkat bantuan dan bantuan dari berbagai pihak,

penulis akhirnya dapat menyelesaikan Tugas Akhir ini. Untuk itu penulis ingin

mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Ayah dan Ibu tercinta yang telah banyak memberikan dukungan moril,

materil dan doa serta limpahan kasih sayang yang tiada terkira dan tiada

mungkin terbalaskan.

2. Bapak Maksum Pinem, ST, MT, selaku dosen Pembimbing Tugas Akhir, atas

segala bimbingan, solusi dan motivasi yang telah diberikan dalam

menyelesaikan Tugas Akhir ini.

3. Bapak Prof. Dr. Ir. Usman Baafai selaku Ketua Departemen Teknik Elektro

Fakultas Teknik Universitas Sumatera Utara.

4. Bapak Ir. Sihar P. Panjaitan, MT, selaku Penasehat Akademik penulis yang

(5)

5. Seluruh Dosen dan Civitas Akademika Departemen Teknik Elektro Fakultas

Teknik Universitas Sumatera Utara.

6. Abang dan adikku, Herbert Pangaribuan, SE dan Exaudi Pangaribuan, yang

telah memberikan dukungan dan semangat bagi penulis selama ini.

7. Abang Rudianto, ST yang telah banyak membantu dan memberi masukan

yang sangat berarti bagi penulis.

8. Rekan-rekan mahasiswa Teknik Elektro, khususnya teman-teman stambuk

2002, Pak Bos Badu, Esron, Bugi, Denny Dewa, Adhi, Rahmat Ketua,

Rahmat Regar, Medison, Agus, Farid, Dodi, Yos, Junaris, Bismar, Hendra,

Hamdani Handre, Ardiansyah, Iqbal, Abu, Daniel, Syafril, Sylvia, Berry,

Frans, Aritta Andra, Yandi Boy, dan teman-teman 2002 lainnya.

9. Seluruh pihak yang telah banyak membantu penulis yang tidak dapat

disebutkan satu persatu.

Berbagai usaha telah penulis lakukan agar Tugas Akhir ini dapat diselesaikan

dengan baik, namun penulis menyadari bahwa Tugas Akhir ini masih jauh dari

sempurna karena masih banyak terdapat kekurangan baik dari segi isi maupun

susunannya. Oleh karena itu penulis mengharapkan saran dan kritik yang sifatnya

(6)

Akhir kata penulis berserah diri kepada Tuhan Yang Maha Esa, semoga

Tugas Akhir ini bermanfaat bagi pembaca sekalian terutama bagi penulis sendiri.

Medan, Desember 2007

Penulis,

Ipengadohar Ezra Pangaribuan

(7)

DAFTAR ISI

ABSTRAK... i

KATA PENGANTAR... ii

DAFTAR ISI... v

DAFTAR GAMBAR... . viii

DAFTAR TABEL... x

BAB I PENDAHULUAN... 1

1.1 Latar Belakang... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan Penulisan... 2

1.4 Pembatasan Masalah... 3

1.5 Metodologi Penulisan... 3

1.6 Sistematika Penulisan... 4

BAB II MULTIPLEXING... 6

2.1 Umum... 6

2.2 Frequency Division Multiplexing (FDM)... 7

2.3 Synchronous Time Division Multiplexing (TDM)... 10

2.3.1 Framing... 12

2.3.2 Pulse Stuffing... 13

2.4 Statistical Time Division Multiplexing (TDM)………...…..…….... 13

(8)

BAB III PERANCANGAN SIMULASI DENGAN VISUAL C++ 6.0... 22

3.1 Umum ... 22

3.2 Komponen Visual C++ 6.0... 22

3.3 Lingkungan Program Visual C++ 6.0... 24

3.3.1 Jendela Project Wokspace... 25

3.3.2 Jendela Editor... 26

3.3.3 Jendela Output……….. 27

3.3.4 Toolbox………. 28

3.3.5 Toolbar……….. 28

3.3.6 Menu Bar... 29

3.4 Perancangan Simulasi... 29

3.4.1 Model Sistem... 29

3.4.2 Pembangkitan Bilangan Acak... 30

3.4.3 Disiplin Antrian... 31

3.4.4 Pola Kedatangan... 32

3.4.5 Pola Pelayanan... 37

3.4.6 Algoritma dan Diagram Alir Simulasi... 38

3.4.7 Prototype Simulasi... 41

3.4.7.1 Prototype Antarmuka Program... 41

(9)

BAB IV SIMULASI PERANGKAT LUNAK... 44

4.1 Umum... 44

4.2 Pemodelan Sistem... 44

4.3 Asumsi-Asumsi Pembangun Sistem... 45

4.4 Mode Analisis... 45

4.5 Batasan-Batasan Model Sistem... 46

4.6 Performansi Sistem... 47

4.7 Hasil Akhir... 48

4.8 Tabel Hasil Akhir... 49

4.8.1 Tabel Hasil Akhir Kondisi I... 49

4.8.2 Tabel Hasil Akhir Kondisi II... 50

4.8.3 Tabel Hasil Akhir Kondisi III... 50

4.9 Grafik Hasil Simulasi... 56

4.9.1 Grafik Kondisi I... 56

4.9.2 Grafik Kondisi II... 57

4.9.3 Grafik Kondisi III... 59

BAB V PENUTUP... 61

5.1 Kesimpulan... 61

5.2 Saran... 61

(10)

DAFTAR GAMBAR

Gambar 2.1 Konsep Dasar Multiplexing... 6

Gambar 2.2 Konsep Dasar FDM... 7

Gambar 2.3 Skema Kinerja FDM... 9

Gambar 2.4 Skema Kinerja Synchronous TDM... 11

Gambar 2.5 Perbandingan Kinerja Synchronous TDM dan Statistical TDM... 15

Gambar 2.6 Format Frame Statistical TDM... 17

Gambar 3.1 Lingkungan Program Visual C++ 6.0... 24

Gambar 3.2 Jendela Project Workspace………... 25

Gambar 3.3 Jendela Editor………... 27

Gambar 3.4 Jendela Output……….. 27

Gambar 3.5 Toolbox………. 28

Gambar 3.6 Toolbar...... 28

Gambar 3.7 Menu Bar.... 29

Gambar 3.8 Model Sistem Antrian………... 30

Gambar 3.9 Proses Kedatangan pada Proses Poisson... 35

Gambar 3.10 Diagram Alir Simulasi……….. 40

Gambar 4.1 Model Sistem Statistical TDM... 44

Gambar 4.2 Model Sistem yang Disimulasikan... 45

Gambar 4.3 Tampilan Parameter-Parameter dalam Simulasi... 47

(11)

Gambar 4.6 Tampilan Tabel Hasil Akhir Kondisi I... 49

Gambar 4.7 Tampilan Tabel Hasil Akhir Kondisi II... 50

Gambar 4.8 Tampilan Tabel Hasil Akhir Kondisi III... 49

Gambar 4.9 Grafik Kondisi I... 57

Gambar 4.10 Grafik Kondisi II... 58

(12)

DAFTAR TABEL

Tabel 3.1 Bilangan Acak Metode LCG... 31

Tabel 3.2 Urutan Waktu Kedatangan dengan = 5 kedatangan/s... 36

Tabel 3.3 Urutan Waktu Kedatangan dengan = 10 kedatangan/s... 36

Tabel 3.4 Waktu Interval Antar Kedatangan dengan = 5 kedatangan/s... 37

Tabel 3.5 Waktu Interval Antar Kedatangan dengan = 10 kedatangan/s... 37

Tabel 4.1 Variansi pada Panjang Antrian Rata-Rata untuk = 0,1... 51

Tabel 4.2 Variansi pada Panjang Antrian Rata-Rata untuk = 0,2... 53

(13)

BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi komunikasi yang sangat pesat belakangan ini

semakin menuntut adanya peningkatan efisiensi penggunaan perangkat komunikasi.

Dalam hal ini teknologi multiplexing memiliki peranan yang sangat penting.

Multiplexing memungkinkan beberapa sumber transmisi berbagi satu saluran

transmisi yang sama sehingga penggunaan perangkat komunikasi dapat

dimaksimalkan.

Salah satu kelebihan dari statistical TDM dibanding synhronous TDM adalah

kemampuannya mengalokasikan time slot secara dinamis sesuai dengan kebutuhan.

Seperti diketahui pada synchronous TDM, sejumlah time slot telah diperuntukkan

bagi masing-masing sumber selama melakukan transmisi. Jika salah satu sumber

tidak menggunakan time slot yang dimilikinya, maka time slot tersebut tidak dapat

juga digunakan oleh sumber lain, sehingga akan terjadi pemborosan bandwith.

Sementara pada kenyataannya tidak semua perangkat yang terpasang melakukan

transmisi sepanjang waktu, sehingga dengan mengalokasikan time slot secara

dinamis, maka statistical TDM dapat mendukung perangkat yang lebih banyak

dibandingkan dengan synchronous TDM dengan kapasitas saluran yang sama.

Adapun permasalahan yang dihadapi adalah jika trafik mencapai kondisi

puncak pada saat laju data input melebihi kapasitas saluran. Untuk itu perlu

(14)

saluran. Salah satu metoda yang dipakai untuk menganalisa hal tersebut adalah

dengan memandang multiplexer sebagai sebuah sistem antrian dengan server tunggal

dengan pola kedatangan acak dan pola pelayanan deterministik.

Dalam perkembangannya kinerja dari sistem antrian tersebut dapat diperoleh

dari hasil simulasi dengan sebuah perangkat lunak. Oleh karena itu, pada Tugas

Akhir ini akan dirancang sebuah perangkat lunak untuk mensimulasikan proses

antrian yang terjadi pada statistical TDM. Pada simulasi ini akan dianalisa kinerja

sistem seperti delay rata-rata, panjang antrian rata-rata, dan utility sistem.

1.2 Rumusan Masalah

Dari latar belakang di atas dapat dirumuskan beberapa permasalahan, antara

lain :

1. Apa pengertian multiplexing secara umum?

2. Bagaimana konsep statistical TDM?

3. Apa kelebihan statistical TDM dibandingkan dengan synchronous TDM?

4. Bagaimana proses antrian yang terjadi pada statistical TDM?

5. Mensimulasikan proses antrian pada statistical TDM dengan menggunakan

Visual C++ 6.0.

1.3 Tujuan Penulisan

Tujuan penulisan Tugas Akhir ini adalah :

(15)

2. Mendapatkan kinerja dari sistem antrian tersebut, seperti delay (penundaan)

rata-rata antrian, panjang antrian rata-rata-rata-rata, dan utility sistem.

1.4 Batasan Masalah

Untuk mendapatkan hasil yang maksimal dan menghindari pembahasan yang

meluas, maka penulis perlu membatasi masalah yang akan dibahas. Adapun batasan

masalah dalam Tugas Akhir ini adalah :

1. Menjelaskan konsep dasar multiplexing secara umum.

2. Simulasi yang dilakukan dibatasi hanya pada proses antrian yang terjadi saja.

3. Simulasi tidak membahas proses yang terjadi sebelum proses antrian dan

sesudahnya.

4. Pada perancangan perangkat lunak ini, pola kedatangan diasumsikan adalah acak

dengan distribusi Poisson.

5. Pada perancangan perangkat lunak ini, pola pelayanan adalah deterministik.

6. Pada perancangan perangkat lunak ini, disiplin antrian yang digunakan adalah

FIFO (First In First Out).

1.5 Metodologi Penulisan

Metode penulisan yang digunakan dalam pengerjaan Tugas Akhir ini adalah

sebagai berikut :

1. Studi Literatur : Berupa tinjauan pustaka dari buku-buku, jurnal ilmiah yang

(16)

dengan dosen pembimbing, dosen-dosen lain dan rekan-rekan mahasiswa

mengenai masalah yang timbul dalam penulisan.

2. Simulasi : Berupa perancangan simulasi dengan menggunakan Visual C++ 6.0

yang meliputi :

a. Menentukan model sistem yang disimulasikan.

b. Menentukan parameter-parameter yang digunakan dalam simulasi.

c. Membangun simulasi sesuai dengan model dan parameter yang telah

ditetapkan.

d. Mengambil kesimpulan dari hasil simulasi.

1.6 Sistematika Penulisan

Tugas Akhir ini disusun berdasarkan sistematika penulisan sebagai berikut:

BAB I : PENDAHULUAN

Pada bab ini dijelaskan latar belakang masalah, tujuan penulisan,

rumusan masalah, batasan masalah, metode penulisan dan sistematika

penulisan sebagai gambaran umum dari pembahasan keseluruhan.

BAB II : MULTIPLEXING

Pada bab ini dijelaskan tentang teori-teori yang mendukung dan

melandasi penulisan Tugas Akhir ini yang memberikan gambaran

(17)

BAB III : PERANCANGAN SIMULASI DENGAN VISUAL C++ 6.0

Pada bab ini dijelaskan tentang alasan penggunaan Visual C++ 6.0

sebagai salah satu bahasa pemrograman pembuat perangkat lunak

beserta komponen-komponennya serta penjelasan perancangan

perangkat lunak beserta prinsip kerjanya.

BAB IV : SIMULASI PERANGKAT LUNAK

Pada bab ini berisi tentang proses dan hasil simulasi perangkat lunak

yang telah dirancang secara utuh.

BAB V : PENUTUP

Bab ini berisikan kesimpulan dari simulasi yang telah dilakukan serta

rekomendasi atau saran untuk perbaikan dan pengembangan lebih

(18)

BAB II

MULTIPLEXING

2.1 Umum

Komunikasi jarak jauh merupakan suatu jaringan yang mahal. Seringkali

terminal-terminal dipergunakan secara maksimum untuk berkomunikasi, sehingga

diperlukan suatu cara untuk mengefektifkan pengguanaan jaringan. Salah satu cara

untuk mengatasi permasalahan ini adalah dengan multiplexing.

Multiplexing adalah proses untuk mengkombinasikan aliran-aliran data dari

sejumlah kanal untuk ditransmisikan pada satu jalur transmisi yang sama[3]. Konsep

dasar multiplexing diilustrasikan pada Gambar 2.1[7]. Terdapat sejumlah n buah kanal

data yang berbeda dihubungkan ke sebuah multiplexer. Multiplexer akan

mengkombinasikan data dari n kanal dan mengirimkannya melalui satu saluran

transmisi yang sama. Pada sisi penerima, demultiplexer akan memisahkan data yang

diterima sesuai dengan kanal pengirimnya dan mengirimkannya ke kanal yang

sesuai.

(19)

Pada bab ini hanya akan dibahas tiga teknik multiplexing, yaitu frequency

division multiplexing (FDM) dan time division multiplexing (TDM), yang terbagi

menjadi synchronous TDM dan statistical TDM.

2.2 Frequency Division Multiplexing

Pada sistem FDM sejumlah sinyal secara simultan dibawa menuju media

yang sama dengan cara mengalokasikan band frekwensi yang berbeda ke

masing-masing sinyal[7]. FDM dimungkinkan bila bandwith dari media transmisi yang

digunakan lebih besar dari bandwith kombinasi sinyal-sinyal yang ditransmisikan.

Kasus umum dari FDM ditunjukkan pada Gambar 2.2 dimana enam sumber

sinyal dimasukkan ke dalam multiplexer yang memodulasi setiap sinyal ke dalam

frekwensi yang berbeda (f1, f2, f3, f4, f5, f6)[7].

(20)

Masing-masing sinyal yang dimodulasi memerlukan lebar pita tertentu yang

dipusatkan di sekitar frekwensi pembawa, yang disebut channel. Untuk mencegah

munculnya interferensi, channel dipisahkan oleh band pelindung (guard band), yang

merupakan bagian dari spektrum yang tidak digunakan.

Gambaran umum dari kinerja sistem FDM ditunjukkan pada Gambar 2.3[7].

Sejumlah sinyal dimultiplex ke satu media transmisi yang sama. Masing-masing

sinyal mn(t) dimodulasi ke frekwensi subpembawa fn. Sinyal-sinyal analog

termodulasi yang dihasilkan kemudian ditambahkan sehingga menghasilkan sinyal

baseband campuran mb(t). Istilah baseband dipergunakan untuk menunjukkan band

frekwensi dari sinyal yang dikirim oleh sumber dan potensial untuk dipergunakan

sebagai sinyal pemodulasi[7]. Gambar 2.3.b menunjukkan hasilnya. Biasanya

spektrum sinyal baseband berada pada band yang terjangkau. Spektrum sinyal mn(t)

kemudian digeser ke tengah dari frekwensi fn. Agar proses ini bekerja, harga fi harus

dipilih sehingga lebar pita dari sinyal-sinyal yang lain tidak saling tumpang tindih

secara signifikan.

Sinyal FDM s(t) memiliki total bandwith B, dimana i n

penerima, sinyal FDM kemudian didemodulasi sehingga memperoleh kembali mb(t),

yang kemudian disalurkan melalui bandpass filter n, dimana masing-masing filter

dipusatkan di fn dan memiliki bandwith Bi, dimana 1≤i≤n. Dengan cara ini, maka

sinyal dapat dipisahkan kembali menjadi komponen-komponen. Setiap komponen ini

(21)

.

.

.

.

.

.

(22)

2.3 Synchronous Time Division Multiplexing

Sistem synchronous TDM adalah teknik digital yang melakukan proses

interleaving data yang datang dari sejumlah terminal dan mengrimkan sekelompok

aliran data secara serial melalui jalur berkecepatan tinggi[7]. Interleaving dapat

dilakukan pada level bit atau pada level karakter.

Gambaran umum mengenai sistem synchronous TDM disajikan pada Gambar

2.4[7]. Sejumlah sinyal dimultiplex pada media transmisi yang sama. Data yang

dibangkitkan dari setiap terminal sumber segera disangga. Setiap penyangga

biasanya memiliki panjang satu bit atau satu karakter. Penyangga kemudian secara

berturut-turut di-scan sehingga membentuk deretan data digital campuran mc(t).

Operasi scan ini berlangsung begitu cepat sehingga setiap penyangga sudah

dikosongkan sebelum lebih banyak data yang tiba. Sinyal digital mc(t) yang telah

terbentuk kemudian dapat langsung ditransmisikan.

Data yang ditransmisikan dapat memiliki format seperti yang ditunjukkan

pada Gambar 2.4.b. Data tersebut disusun ke dalam sebuah bingkai. Masing-masing

bingkai berisikan siklus dari time slot. Pada setiap bingkai, satu slot atau lebih

ditujukan untuk masing-masing terminal sumber. Rangkaian time slot yang ditujukan

untuk satu sumber dari bingkai ke bingkai disebut dengan channel. Panjang time slot

(23)

Gambar 2.4 Skema Kinerja Synchronous TDM

Pada receiver, data yang diterima di-demultiplex dan diarahkan ke penyangga

tujuan yang sesuai. Untuk setiap terminal sumber mn(t), terdapat terminal tujuan

(24)

Synchronous TDM disebut synchronous karena time slot sudah ditetapkan

terlebih dahulu untuk sumber. Time slot untuk setiap sumber tetap dtransmisikan,

baik sumber tersebut memiliki data untuk ditransmisikan atau tidak. Sebagai

konsekwensinya, kapasitas saluran kerap terbuang agar implementasinya tidak terlalu

rumit.

2.3.1 Framing

Adalah sangat penting untuk mempertahankan sinkronisasi bingkai, sebab

bila clock dari sumber dan tujuan tidak sama maka data pada semua channel bisa

hilang. Terdapat aturan beberapa aturan dasar dalam hal framing. Karena tidak

disediakannya flag atau kararakter SYNC untuk menyusun suatu bingkai, maka

diperlukan suatu cara untuk memastikan sinkronisasi bingkai.

Adapun mekanisme yang paling umum dalam hal framing adalah yang

disebut dengan added-digit framing. Pada skema ini biasanya satu bit kontrol

ditambahkan ke setiap bingkai. Sebuah pola bit yang telah diidentifikasi dari bingkai

ke bingkai digunakan pada “channel kontrol” ini[7].

Untuk melakukan sinkronisasi, receiver membandingkan pola bit yang

diterima dari satu posisi bingkai dengan pola yang diinginkan. Bila polanya tidak

sesuai, maka posisi bit yang berurutan tersebut dicari sampai polanya sama

sepanjang bingkai. Sekali sinkronisasi bingkai ditetapkan, maka receiver akan terus

memonitor channel framing bit. Bila polanya terganggu, maka receiver harus masuk

(25)

2.3.2 Pulse Stuffing

Masalah tersulit adalah dalam merancang synchronous TDM adalah saat

mensinkronkan berbagai sumber data. Dengan adanya perbedaan clock di antara

masing-masing sumber akan dapat menyebabkan hilangnya sinkronisasi. Di samping

itu, pada beberapa kasus tertentu, laju dari deretan data input tidak dihubungkan

dengan angka rasional sederhana.

Pemecahan untuk kedua masalah tersebut adalah dengan menggunakan

metoda yang disebut dengan pulse stuffing. Dengan pulse stuffing, laju data yang

keluar dari multiplexer menjadi lebih tinggi dibanding jumlah maksimum laju instan

yang datang. Kapasitas tambahan dipergunakan dengan cara mengisikan bit

tambahan palsu atau pulsa-pulsa ke dalam sinyal yang datang untuk mensinkronkan

clock dari multiplexer pengirim dengan demultiplexer tujuan. Pulsa-pulsa yang

diisikan tersebut diselipkan ke lokasi tertentu dalam format bingkai multiplexer

sehingga bisa dikenali dan dibuang oleh demultiplexer[7].

2.4 Statistical Time Division Multiplexing

Pada synchronous TDM, sering sekali time slot dalam sebuah bingkai

terbuang. Salah satu aplikasi khusus pada synchronous TDM melibatkan penyaluran

sejumlah terminal menuju port komputer yang sudah terbagi-bagi. Sehingga

meskipun semua terminal sedang aktif digunakan, sesungguhnya sering kali tidak

ada transfer data yang terjadi pada salah satu terminal.

Salah satu cara untuk mengatasi masalah ini adalah dengan menggunakan

(26)

slot secara dinamis sesuai dengan permintaan[7]. Sebagaimana halnya dengan

synchronous TDM, statisticalmultiplexer memiliki sejumlah I/O pada salah satu sisi

serta saluran multiplexing pada sisi yang lain. Masing-masing saluran I/O memiliki

sebuah penyangga. Bagi input, fungsi multiplexer adalah untuk men-scan penyangga

input, mengumpulkan data sampai bingkai menjadi penuh, dan kemudian

mengirimkan bingkai tersebut. Bagi output, fungsi multiplexer adalah menerima

bingkai dan mendistribusikan slot data ke penyangga output yang tepat.

Karena kelebihan yang dimiliki statistical TDM yaitu perangkat yang

terpasang tidak semuanya melakukan transmisi sepanjang waktu, maka laju data

pada saluran multiplex menjadi lebih kecil dibandingkan dengan jumlah laju data

dari perangkat yang terpasang. Sehingga, multiplexer statistical dapat menggunakan

laju data yang lebih rendah untuk mendukung perangkat dalam jumlah yang sama

dengan multiplexer synchronous.

Gambar 2.5 menunjukkan contoh kinerja synchronous TDM dan statistical

TDM[7]. Gambar tersebut memperlihatkan empat sumber data serta menunjukkan

(27)

Gambar 2.5 Perbandingan Kinerja Synchronous TDM dan Statistcal TDM

Pada synchronous TDM, multiplexer memiliki laju dataoutput efektif sebesar

empat kali laju data dari masing-masing input. Pada setiap interval waktu, semua

data dikumpulkan dari semua sumber dan kemudian mengirimkannya. Misalkan

pada interval waktu pertama sumber C dan D tidak memiliki data untuk dikirimkan,

maka dua dari empat time slot yang dikirimkan oleh multiplexer adalah time slot

(28)

Sebaliknya, statistical multiplexer tidak akan mengirimkan time slot yang

kosong bila ada data yang dikirim. Dimana pada peluang waktu pertama, hanya slot

A dan B saja yang dikirim. Akan tetapi, posisi penting dari slot menjadi hilang dalam

skema seperti ini. Tidak diketahui sebelumnya data dari sumber mana yang ada pada

suatu slot tertentu. Karena suatu data yang diterima tidak dapat diperkirakan berasal

dari sumber yang mana serta didistribusikan ke saluran I/O yang mana, maka

diperlukan informasi pengalamatan untuk memastikan bahwa pengiriman yang

dilakukan tepat. Sehingga ada lebih banyak bit overhead pada TDM statistik karena

setiap slot itu selain membawa data juga membawa informasi pengalamatan.

Struktur bingkai yang digunakan oleh TDM statistik akan sangat

mempengaruhi kinerjanya. Tujuannya adalah untuk meminimumkan jumlah bit

overhead untuk meningkatkan proses transmisi. Gambar 2.6 menunjukkan dua

struktur yang mungkin[7]. Pada Gambar 2.6.b hanya satu sumber data dimasukkan

per bingkainya. Sumber tersebut diidentifikasi melalui alamatnya. Panjang bidang

data ini bervariasi, dimana ujungnya ditandai dengan akhir dari sebuah bingkai.

Skema ini dapat bekerja dengan baik pada beban yang ringan, tetapi kurang efisien

(29)

Flag Alamat Kontrol Subbingkai Statistical TDM FCS Flag

(a) Keseluruhan bingkai

Alamat Data

(b) Subbingkai dengan satu sumber per bingkai

Alamat Panjang Data Alamat Panjang Data

(c) Subbingkai dengan banyak sumber per bingkai

. . .

Gambar 2.6 Format Bingkai Statistical TDM

Salah satu cara untuk meningkatkan efisiensi adalah dengan memungkinkan

beberapa sumber data dipaketkan ke dalam sebuah bingkai. Untuk itu perlu

ditentukan panjang data dari setiap sumber. Dengan demikian, subbingkai TDM

statistik terdiri dari beberapa rangkaian data, yang masing-masing diberi label alamat

dan panjangnya[7]. Usaha-usaha untuk meningkatkan efisiensi pengiriman ini masih

perlu ditingkatkan.

2.4.1 Kinerja Statistical TDM

Seperti diketahui laju data output dari statistical multiplexer lebih kecil dari

jumlah keseluruhan laju data input. Hal ini dimungkinkan karena telah

diperhitungkan bahwa jumlah rata-rata input lebih kecil dari kapasitas saluran

multiplexing. Adapun masalah yang ditemui dengan pendekatan ini adalah sementara

rata-rata input lebih kecil dari kapasitas saluran mutiplexing, akan muncul periode

(30)

Pemecahan untuk masalah ini adalah dengan memasukkan sebuah penyangga

ke dalam multiplexer untuk menahan kelebihan input sementara. Terdapat kaitan

yang sangat erat antara ukuran dari penyangga yang digunakan dengan laju datadari

saluran, pengurangan dalam satu hal dapat menyebabkan peningkatan dalam hal

yang lain. Pada bagian ini akan dijelaskan beberapa ukuran perkiraan dalam

menganalisa suatu statistical TDM.

Berikut ini adalah parameter-parameter yang digunakan[7] :

I = Jumlah sumber input

R = Laju data setiap sumber (bps)

M = Kapasitas efektif dari saluran yang dimultiplex (bps)

α = Pecahan rata-rata dari waktu, saat setiap sumber melakukakan transmisi

K = Rasio kapasitas saluran yang dimultiplex terhadap total input maksimum

Sebelumnya besar kapasitas kanal telah ditentukan terlebih dahulu dengan

mempertimbangkan bit-bit overhead yang dimiliki multiplexer, sehingga laju

maksimum transmisi dapat diketahui.

Parameter K adalah ukuran pemadatan yang dapat dicapai oleh multiplexer.

Misalkan, untuk suatu kapasitas kanal tertentu, bila K = 0,25, multiplexer dapat

menangani perangkat empat kali lebih banyak dari synchronous TDM pada kapasitas

saluran yang sama. Nilai dapat dibatasi menjadi :

α< K < 1 (2.1)

Nilai K = 1 berkaitan dengan synchronous TDM, dimana sistem memiliki kapasitas

(31)

Multiplexer dapat juga dipandang sebagai sebuah antrian dengan server

tunggal. Kondisi antri akan meningkat bila pelanggan yang datang ke dalam sistem

menemukan server dalam kondisi sibuk, sehingga pelanggan harus menunggu.

Penundaan yang dilakukan oleh pelanggan adalah waktu yang dihabiskan untuk

menunggu antrian ditambah waktu untuk pelayanan. Persamaan (2.2), (2.3) dan (2.4)

meringkas hasil-hasil yang terjadi dan digunakan untuk kasus kedatangan acak dan

menggunakan distribusi Poisson dan waktu pelayanan konstan[7].

s

= Jumlah rata-rata kedatangan per detik [bps]

Ts = Waktu layanan untuk setiap kedatangan [s]

( )

1ρ-ρ ρ

N = Jumlah rata-rata pelanggan di dalam sistem (yang menunggu dan sedang

dilayani)

Tr = Waktu rata-rata yang dihabiskan pelanggan di dalam sistem [s]

(32)

Model ini dapat dihubungkan dengan mudah dengan statistical multiplexer.

Untuk menentukan rata-rata laju kedatangan yang terjadi dapat digunakan rumus[7] :

R

α = Pecahan rata-rata dari waktu, saat setiap sumber melakukan transmisi

R = Laju data setiap sumber [bps]

Sedangkan untuk mencari waktu layanan, yaitu waktu untuk mentransmisikan

satu bit dapat digunakan rumus[7] :

M 1

Ts = (2.6)

Dengan,

Ts = Waktu pelayanan [s]

M = Kapasitas efektif saluran multiplexing [bps]

Selanjutnya, kinerja dari server atau multiplexer akan dapat dicari dengan

(33)

R = Laju data setiap sumber [bps]

Perlu diingat bahwa akan lebih sedikit jumlah penyangga per sumber yang

diperlukan oleh multiplexer yang menangani sumber dalam jumlah yang besar dan

rata-rata penundaan akan semakin kecil bila kapasitas jalur meningkat untuk

(34)

BAB III

PERANCANGAN SIMULASI DENGAN VISUAL C++ 6.0

3.1 Umum

Simulasi adalah suatu proses untuk meniru suatu kejadian nyata dengan suatu

model dan serangkaian persamaan[5]. Perancangan simulasi pada Tugas Akhir ini

akan menampilkan proses perhitungan sistem antrian yang terjadi dan menampilkan

hasil akhirnya dalam bentuk sebuah grafik.

Bahasa pemrograman yang digunakan untuk merancang perangkat lunak ini

adalah Visual C++ 6.0. Visual C++ merupakan perangkat pengembangan aplikasi

yang menggunakan C++ sebagai bahasa pemrograman dan dapat digunakan untuk

membuat aplikasi berbasis Windows maupun berbasis teks (console application).

Perangkat ini menyediakan lingkungan yang dinamakan IDE (integrated

development environment) yang memungkinkan pengguna membuat,

mengkompilasi, dan menguji program dengan baik.

3.2 Komponen Visual C++ 6.0

Ada beberapa komponen penting yang terdapat pada program Visual C++ 6.0

yang berperan penting dalam pembangunan suatu aplikasi. Beberapa komponen

penting itu adalah :

1. Editor

(35)

memberi warna tersendiri terhadap kata-kata seperti itu. Keuntungannya program

akan menjadi lebih mudah dibaca dan sekiranya terjadi kesalahan, maka kesalahan

akan lebih cepat terdeteksi.

2. Compiler

Ciompiler adalah perangkat lunak yang berfungsi untuk menterjemahkan

kode sumber (source code) ke dalam bentuk bahasa mesin. Peranti ini akan dapat

memberikan pesan-pesan kesalahan jika terjadi kesalahan kaidah penulisan program

yang terdeteksi pada tahap proses kompilasi.

3. Linker

Linker adalah perangkat lunak yang berfungsi untuk menggabungkan

berbagai modul yang dihasilkan oleh compiler dan modul kode dari berbagai library

C++, serta membentuk menjadi kode yang dapat dieksekusi. Sebagaimana compiler,

linker juga dapat mendeteksi kesalahan. Kesalahan yang terjadi pada waktu proses

linking bisa disebabkan karena ada bagian library atau bagian program yang tidak

ditemukan.

4. Library

Visual C++ menyediakan berbagai pustaka (library) yang memudahkan

pemrogram dalam melakukan berbagai operasi seperti menghitung akar kuadrat

hingga mengakses database. Pustaka-pustaka yang tersedia antara lain berupa :

a. Standard C++ library, berisi semua rutin yang tersedia pada kebanyakan

compiler C++.

b. Microsoft Foundation Classes and Templates (MFC&T), yang berkaitan

(36)

5. AppWizard

Perangkat ini bermanfaat untuk membangkitkan suatu kerangka dasar

aplikasi Windows yang sangat memudahkan pemrogram untuk membuat aplikasi

Windows.

6. ClassWizard

Perangkat ini bermanfaat untuk mengedit kelas-kelas yang dibangkitkan oleh

AppWizard.

3.3 Lingkungan Program Visual C++ 6.0

Lingkungan program Visual C++ 6.0 berisi sarana program yang sangat

membantu dalam membangun suatu program Visual C++. Pada Gambar 3.1 dapat

(37)

3.3.1 Jendela Project Wokspace

Program Visual C++ terdiri dari banyak file dan modul yang digabungkan

dan dicompile ketika program tersebut telah rampung dan dieksekusi. Untuk

mempermudah pemrogram, Visual C++ telah menyediakan jendela Project

Workspace yang berisi semua file yang digunakan selama proses pemrograman. Pada

Gambar 3.2 dapat kita lihat contoh tampilan sebuah jendela Project Workspace.

Gambar 3.2 Jendela Project Workspace

Jendela Project Workspace tersebut berisi tiga buah tab, yaitu :

1. Tab ClassView, yang berguna untuk melihat maupun menyunting kelas-kelas

(38)

2. Tab ResourceView, yang berguna untuk melihat ataupun menyunting resource

yang berada dalam aplikasi, yang antara lain meliputi kotak dialog, menu, ikon

dan sebagainya.

3. Tab FileView, yang memungkinkan untuk melihat dan menyunting berkas-berkas

proyek.

3.3.2 Jendela Editor

Jendela Editor adalah jendela yang berfungsi sebagai tempat merancang

antarmuka program yang akan dibuat. Pada saat program yang dirancang tersebut

dieksekusi, maka tampilan yang terlihat itu adalah tampilan dari jendela Editor.

Selain tampilan antarmuka program yang disebut dialog box, jendela Editor juga

dapat menampilkan source code dari program yang dirancang. Jendela Editor dapat

(39)

Gambar 3.3 Jendela Editor

3.3.3 Jendela Output

Jendela Output berfungsi untuk memberikan pesan-pesan kesalahan jika

terjadi kesalahan, baik pada saat proses kompilasi maupun sewaktu proses linking.

Dengan adanya pesan-pesan kesalahan pada jendela Output, maka kesalahan yang

terjadi akan lebih cepat terdeteksi dan diperbaiki. Jendela Output dapat dilihat pada

Gambar 3.4.

(40)

3.3.4 Toolbox

Toolbox berfungsi untuk membangun tampilan antarmuka program dengan

menggunakan tool atau kontrol yang telah tersedia. Toolbox dapat dilihat pada

Gambar 3.5.

Gambar 3.5Toolbox

3.3.5 Toolbar

Pada Toolbar terdapat tombol-tombol sebagai sarana yang sangat membantu

pemrogram dalam dalam merancang suatu aplikasi. Tombol-tombol yang terdapat

pada Toolbar ini dapat dikurangi atau ditambah melalui menu Customize sesuai

(41)

3.3.6 Menu Bar

Menu Bar menyediakan akses untuk perintah-perintah yang mengendalikan

program secara umum. Secara umum, fungsi dari menu yang tersedia sama dengan

program-program lain yang berbasis Windows. Menu Bar dapat dilihat pada Gambar

3.7.

Gambar 3.7Menu Bar

3.4 Perancangan Simulasi

Model antrian sering digunakan untuk mengukur kinerja dari suatu jaringan

komunikasi. Dalam model antrian, “pelanggan” berarti semua hal yang dianggap

menghendaki layanan dari sistem. Sedangkan ”server” adalah suatu mekanisme yang

memberikan layanan yang dibutuhkan oleh pelanggan. Antrian merupakan proses

yang terjadi bila permintaan terhadap pelayanan dari suatu sistem melebihi kapasitas

sistem sehingga permintaan tersebut diantrikan.

3.4.1 Model Sistem

Model sistem antrian yang digunakan dalam simulasi ini adalah sistem

antrian M/D/1, dimana proses kedatangan menggunakan distribusi Poisson, distribusi

waktu pelayanannya adalah determinisitik dengan asumsi kapasitas buffer

(42)

λ

λ

Gambar 3.8 Model Sistem Antrian

3.4.2 Pembangkitan Bilangan Acak

Pembangkitan bilangan acak digunakan untuk menghasilkan deretan

angka-angka sebagai hasil perhitungan yang diketahui distribusinya sehingga angka-angka-angka-angka

tersebut muncul secara acak. Salah satu metode pembangkitan bilangan acak adalah

Linear Congruential Generator (LCG).

LCG digunakan untuk membangkitkan bilangan acak Z1, Z2, …Zn yang

bernilai [0,m], dengan memanfaatkan nilai sebelumnya untuk membangkitkan

bilangan acak ke n+1 (Zn+1). Hal ini dapat ditulis dalam Persamaan 3.1.

(3.1) )

)(mod

(aZ c m

Zi= i1+

Dengan,

1 0≤Zim

m = modulus

(43)

Z0 = nilai awal (bilangan bulat positif)

Untuk mendapatkan bilangan acak Ui (i = 1, 2,…) pada interval [0,1], maka

(3.2)

Bilangan acak yang dihasilkan dengan menggunakan metode LCG ini dapat

dilihat pada Tabel 3.1.

Tabel 3.1 Bilangan Acak Metode LCG

i Zi Ui

0 2147483647 --

1 139646976 0.065028190612793

2 82952360 0.038627702742815

3 146355436 0.0681520607322454

4 1700390088 0.7918058373034

5 533626304 0.248489111661911

6 1901565280 0.885485336184502

7 294768512 0.137262284755707

8 539969056 0.251442685723305

9 1188739904 0.553550153970718

10 2013477120 0.937598347663879

Pada Tabel 3.1, bilangan acak Ui yang dihasikan berada pada interval [0,1]

dengan distribusi uniform. Distribusi ini dilambangkan dengan U(0,1).

3.4.3 Disiplin Antrian

Disiplin antrian yang digunakan dalam simulasi ini adalah disiplin antrian

First In First Out (FIFO), di mana pelanggan yang datang akan diterima di

(44)

dalam kondisi idle, maka pelanggan akan langsung dilayani oleh server. Akan tetapi

jika pelanggan yang datang menemui kondisi server dalam keadaan sibuk (busy),

maka pelanggan akan mengantri di dalam penyangga sampai semua pelanggan yang

duluan datang selesai dilayani.

Selain disiplin antrian FIFO, ada beberapa disiplin antrian lain yang lazim

digunakan, yaitu[6] :

1. Last In, First Out (LIFO)

Paket yang lebih dahulu tiba, belakangan dilayani.

2. Random service

Paket yang akan dilayani dipilih secara acak.

3. Service sharing

Setiap paket yang menunggu di dalam antrian akan mendapat porsi pelayanan

yang sama meskipun belum lengkap, sehingga dalam hal ini sebenarnya tidak ada

antrian yang menunggu.

4. Preemptive priority

Jika pelanggan yang memiliki prioritas lebih tinggi datang, maka pelanggan

dengan prioritas lebih rendah yang sedang dalam pelayanan akan diinterupsi dan

dilanjutkan kembali jika pelanggan dengan prioritas lebih tinggi selesai dilayani.

3.4.4 Pola Kedatangan

Pola kedatangan merupakan salah satu komponen utama dalam sistem antrian

(45)

tergantung pada kedatangan sebelumnya. Pembangkitan pola kedatangan yang acak

dalam penyusunan Tugas Akhir ini menggunakan distribusi Poisson.

Kejadian pembangkitan pola kedatangan acak ini dapat dijelaskan dengan suatu

fungsi penghitung N(t) yang dibatasi untuk t ≥ 0. Fungsi penghitung ini akan

mewakili jumlah kedatangan yang muncul selama interval [0,t]. Proses penghitung

{N(t), t ≥ 0} disebut dengan proses Poisson dengan rata-rata kedatangan λ bila

memenuhi asumsi berikut ini[1] :

1. Kedatangan yang terjadi hanya satu pada setiap saat.

2. {N(t), t ≥ 0} memiliki pertambahan yang tetap. Distribusi jumlah kedatangan

antara t hingga t + s hanya tergantung pada interval kedatangan s, dan tidak

tergantung pada waktu awal t.

3. {N(t), t ≥ 0} memiliki pertambahan yang bebas. Jumlah kedatangan pada interval

waktu yang tidak bersamaan adalah variabel acak yang bebas. Sehingga besar

kecilnya jumlah kedatangan pada suatu interval waktu tertentu tidak

mempengaruhi jumlah kedatangan pada interval waktu berikutnya, dengan

demikian kedatangan yang berikut benar-benar acak.

Jika distribusi kedatangan sesuai dengan proses Poisson dan memenuhi tiga

kondisi di atas, maka peluang bahwa N(t) sama dengan t dapat diperoleh dengan

(46)

n = Jumlah kedatangan dalam interval waktu tertentu

t = Perioda waktu

Sedangkan mean dan variance pada proses Poisson adalah[1] :

E[N(t)] = V[N(t)] = λt (3.4)

Dengan,

E[N(t)] = Mean

V[N(t)] = Variance

Untuk sembarang waktu s dan t dimana s < t, maka asumsi pertambahan tetap

menunjukkan bahwa variabel acak N(t) - N(s) mewakili jumlah kedatangan pada

interval waktu antara s hingga t, sehingga diperoleh[1] :

Jika A adalah waktu antar kedatangan, maka kedatangan pertama terjadi pada

saat A1, kemudian kedatangan kedua terjadi pada waktu A1 + A2, demikian

seterusnya seperti pada Gambar 3.1. Karena kedatangan pertama terjadi setelah

waktu t jika dan hanya jika tidak ada kedatangan selama interval [0,t], maka dapat

dituliskan :

{ A1 > t } = { N(t) = 0 } (3.7)

sehingga,

(47)

Maka, peluang terjadinya kedatangan pada interval waktu [0,t] pada proses Poisson

adalah[1] :

P(A<t)=1-e-λt (3.9)

Yang merupakan cdf (cumulative distribution function) dari distribusi eksponensial.

Maka, A1 adalah terdistribusi secara eksponensial dengan rata-rata E(A1) = 1/λ. Ini

juga menunjukkan bahwa waktu antar kedatangan A1, A1, . . . , adalah terdistribusi

eksponensial dan tidak memiliki ketergantungan satu sama lain[1].

0 t A1 A1 + A2

. . . .

A1 A2

Gambar 3.9 Proses Kedatangan pada Proses Poisson

Proses pembangkitan waktu antar kedatangan yang berdistribusi Poisson

berdasar Persamaan 3.10. dengan rata-rata waktu antar kedatangan disimbolkan

dengan . Dengan algoritma, bangkitkan bilangan acak Ui, lalu dapatkan nilai ti dari

Persamaan 3.10.

i 1

-i

i =t - lnU

t 1 (3.10)

Pada Tabel 3.2 dan 3.3 dapat dilihat waktu kedatangan yang dihasilkan

(48)

Tabel 3.2 Urutan Waktu Kedatangan dengan = 5 kedatangan/s

Tabel 3.3 Urutan Waktu Kedatangan dengan = 10 kedatangan/s

Kedatangan

Sedangkan waktu antarkedatangan pelanggan di atas dapat dilihat pada Tabel

(49)

Tabel 3.4 Waktu Interval Antar Kedatangan dengan = 5 kedatangan/s

Tabel 3.5 Waktu Interval Antar Kedatangan dengan = 2 kedatangan/s

i ∆ ti (detik)

3.4.5 Pola Pelayanan

Salah satu komponen penting dalam sistem antrian adalah karakteristik

pelayanan yang dibutuhkan oleh setiap pelanggan. Pada simulasi ini diasumsikan

(50)

demand) terdistribusi secara identik dan dikenal sebagai distribusi pelayanan.

Kecepatan pelayanan menyatakan seberapa cepat elemen pelayanan menyelesaikan

pekerjaannya, yang diperoleh dari persamaan (3.11).

M 1

Ts = (3.11)

Dengan,

Ts = Waktu pelayanan [s]

M = Kapasitas efektif saluran multiplexing [bps]

Dalam hal ini elemen pelayanannya merupakan suatu kanal saluran transmisi,

maka kecepatannya dihitung dalam bps atau kbps yang menyatakan kecepatan

transmisi.

3.4.6 Algoritma dan Diagram Alir Simulasi

Diagram alir dari proses simulasi sistem antrian pada statistical time division

multiplexing dapat dapat dilihat pada Gambar 3.10. Sedangkan algoritma dari proses

simulasi yang terjadi adalah sebagai berikut :

1. Dilakukan proses inisialisasi variabel yaitu kapasitas kanal, rata-rata transmisi

input, dan jumlah sumber input dengan cara memilih nilainya dari pilihan yang

telah tersedia.

2. Setelah nilai-nilai ditentukan, maka dibangkitkan waktu kedatangan secara acak

dengan distribusi Poisson.

(51)

5. Proses simulasi akan berhenti ketika waktu mencapai nilai yang telah ditentukan

yaitu 20 detik.

6. Diperoleh hasil akhir berupa utilisasi server, panjang antrian rata-rata, dan

penundaan rata-rata.

7. Data hasil akhir yang diperoleh disimpan di tabel kondisi I, II, dan III.

8. Data masukan untuk kondisi I adalah utilisasi server, panjang antrian rata-rata,

dan penundaan rata-rata dengan jumlah input yang berubah.

9. Data masukan untuk kondisi II adalah utilisasi server, panjang antrian rata-rata,

dan penundaan rata-rata dengan rata-rata transmisi yang berubah.

10. Data masukan untuk kondisi III adalah utilisasi server, panjang antrian rata-rata,

dan penundaan rata-rata dengan kapasitas kanal yang berubah.

11. Setelah data untuk masing-masing kondisi lengkap, hasil akhir dapat ditampilkan

(52)
(53)

3.4.7 Prototype Simulasi

Secara garis besar, simulasi ini terdiri dari dua bagian utama, yaitu bagian

tampilan antarmuka program dan source code program.

3.4.7.1 Prototype Antarmuka Program

Antarmuka program yang disebut dengan dialog box merupakan tempat perancangan program secara visual seperti tabel, tombol, dan grafik. Dalam simulasi

terdapat tujuh buah dialog box, yaitu :

1. Dialog box Utama

Dialog box ini merupakan tampilan utama yang menampilkan proses simulasi

yang sedang berjalan.

2. Dialog box Grafik A Kondisi I

Dialog box ini menampilkan grafik A hasil simulasi dengan kondisi I.

3. Dialog box Grafik B Kondisi I

Dialog box ini menampilkan grafik B hasil simulasi dengan kondisi I.

4. Dialog box Grafik A Kondisi II

Dialog box ini menampilkan grafik A hasil simulasi dengan kondisi II.

5. Dialog box Grafik B Kondisi II

Dialog box ini menampilkan grafik B hasil simulasi dengan kondisi II.

6. Dialog box Grafik A Kondisi III

Dialog box ini menampilkan grafik A hasil simulasi dengan kondisi III.

7. Dialog box Grafik B Kondisi III

(54)

3.4.7.2 Prototype Source Code Program

Prototype source code program berisi file-file dan fungsi-fungsi utama yang

digunakan untuk menjalankan program. Berikut adalah file-file utama yang

digunakan dalam perancangan program :

1. LayoutDlg.h

File ini merupakan sebuah header file, yang berfungsi sebagai tempat

pendeklarasian variabel-variabel yang digunakan dalam perancangan tampilan

program.

2. LayoutDlg.cpp

File ini merupakan sebuah implementation file yang berisi kode C++ yang

berfungsi agar tampilan yang telah dirancang sebelumnya dapat melakukan

tindakan seperti yang diinginkan.

Berikut ini adalah fungsi-fungsi utama yang digunakan dalam perancangan program :

1. Fungsi yang menginisialisasi sistem

BOOL CLayoutDlg::OnInitDialog()

{ };

2. Fungsi yang menjalankan timer

void CLayoutDlg::OnTimer(UINT nIDEvent)

{ };

(55)

4. Fungsi yang menjalankan tombol Simpan (sesuai dengan kondisinya).

void CLayoutDlg::OnSimpankondisi1()

{ };

5. Fungsi yang menjalankan tombol Grafik (sesuai dengan kondisinya).

void CLayoutDlg::OnBtngrafik1()

{ };

6. Fungsi yang menjalankan tombol Clear.

void CLayoutDlg::OnBersih()

{ };

7. Fungsi untuk menjalankan tombol Exit.

void CLayoutDlg::OnKeluar()

(56)

BAB IV

SIMULASI PERANGKAT LUNAK

4.1 Umum

Pada bab ini akan diuraikan parameter-parameter dan batasan-batasan yang

digunakan untuk pengukur kinerja sistem. Kinerja sistem yang dianalisis adalah

delay rata-rata, panjang antrian rata-rata dan utilisasi sistem.

4.2 Pemodelan Sistem

Model sistem berguna sebagai tiruan dari sistem yang akan dianalisis.

Adapun model dari sistem antrian pada statistical TDM yang disimulasikan dapat

dilihat pada Gambar 4.1.

Gambar 4.1 Model Sistem Statistical TDM

Dengan mengasumsikan bahwa waktu kedatangan dari masing-masing

(57)

λ

Gambar 4.2 Model Sistem yang Disimulasikan

4.3 Asumsi-Asumsi Pembangun Sistem

Ada beberapa asumsi yang digunakan di dalam membangun sistem, yaitu :

1. Pola kedatangan pelanggan.

Pola kedatangan adalah acak dengan menggunakan distribusi Poisson.

2. Disiplin antrian.

Disiplin antrian pelanggan yang digunakan pada simulasi ini adalah FIFO

(First In Firs Out).

3. Pola pelayanan.

Pada simulasi ini diasumsikan bahwa pelanggan bersifat homogen, sehingga

waktu pelayanan untuk setiap pelanggan adalah identik.

4. Kapasitas buffer.

Pada simulasi ini diasumsikan bahwa kapasitas buffer tidak terhingga.

4.4 Mode Analisis

Pada simulasi ini, ada tiga kondisi yang digunakan untuk menganalisi delay

rata-rata, panjang antrian rata-rata, dan utilisasi server.

1. Kondisi I.

(58)

2. Kondisi II.

Dimana kapasitas kanal dan jumlah sumber tetap, sedangkan rata-rata transmisi

berubah.

3. Kondisi III.

Dimana jumlah sumber dan rata-rata transmisi tetap, sedangkan kapasitas kanal

berubah.

4.5 Batasan-Batasan Model Sistem

Beberapa batasan yang merupakan nilai konstanta dan data masukan sebagai

nilai variabel yang digunakan dalam analisis kinerja sistem ini, yaitu :

1. Nilai konstanta yang ditetapkan dalam simulasi ini adalah :

Laju data untuk setiap sumber = 1000 bps.

2. Data masukan yang ditetapkan dalam simulasi ini adalah :

a. Jumlah sumber.

Jumlah sumber yang digunakan naik secara bertahap dari 1 s/d 10 dengan

interval kenaikan 1.

b. Rata-rata transmisi dari masing-masing sumber.

Rata-rata transmisi yang digunakan naik secara bertahap dari 0,1 s/d 0,9

dengan interval kenaikan 0,1.

c. Kapasitas saluran transmisi.

Kapasitas saluran transmisi yang digunakan naik secara bertahap dari 1000

(59)

Data masukan ini dapat dimasukkan ke dalam program yang dibuat melalui

pilihan seperti pada Gambar 4.3.

Gambar 4.3 Tampilan Parameter-Parameter dalam Simulasi

4.6 Performansi Sistem

Performansi sistem menunjukkan kejadian-kejadian yang berlangsung selama

simulasi berjalan. Ada beberapa hal yang diukur selama proses simulasi berjalan,

yaitu :

1. Jumlah pelanggan yang telah memasuki sistem [n].

2. Jumlah antrian di dalam sistem [Antrian].

3. Panjang antrian pada waktu t [L(t)].

4. Penundaan pada waktu t [W(t)].

5. Perkiraan kedatangan pelanggan.

6. Perkiraan selesai pelanggan.

Contoh proses perhitungan performansi sistem dengan salah satu kondisi

(60)

Gambar 4.4 Tampilan Performansi Sistem

4.7 Hasil Akhir

Ketika telah mencapai waktu yang telah ditentukan, yaitu 20 detik, maka

simulasi akan berhenti dan menampilkan hasil akhir proses simulasi sesuai dengan

parameter yang dimasukkan. Hasil akhir yang dihitung dalam simulasi adalah :

1. Utilisasi server.

2. Panjang antrian rata-rata [L].

3. Penundaan rata-rata [W].

Salah satu contoh tampilan hasil akhir yang diperoleh dapat dilihat pada

(61)

. 4.8 Tabel Hasil Akhir

Hasil akhir yang telah diperoleh sebelumnya kemudian akan disimpan pada

tabel hasil akhir sesuai dengan kondisinya masing-masing.

4.8.1 Tabel Hasil Akhir Kondisi I

Tujuan dari proses simulasi ini adalah untuk melihat kinerja sistem antrian

yang terjadi pada multiplexer. Dari tabel akhir kondisi I ini dapat dilihat pengaruh

dari parameter jumlah sumber terhadap kinerja sistem antrian. Pada Gambar 4.6

dapat dilihat tabel hasil akhir kondisi I.

Gambar 4.6 Tampilan Tabel Hasil Akhir Kondisi I

(62)

4.8.2 Tabel Hasil Akhir Kondisi II

Dari tabel akhir kondisi ini dapat dilihat pengaruh dari parameter rate

transmisi terhadap kinerja sistem. Tabel hasil akhir untuk kondisi II dapat dilihat

pada Gambar 4.7.

Gambar 4.7 Tampilan Tabel Hasil Akhir Kondisi II

4.8.3 Tabel Hasil Akhir Kondisi III

Dari tabel akhir kondisi ini dapat dilihat pengaruh dari parameter kapasitas

kanal terhadap kinerja sistem. Tabel hasil akhir untuk kondisi II dapat dilihat pada

(63)

Gambar 4.8 Tampilan Tabel Hasil Akhir Kondisi III

Selang kepercayaan dari hasil perhitungan panjang antrian rata-rata untuk

beberapa harga utilisasi server disajikan sebagai berikut :

1. Untuk = 0,1.

(64)

Rata - rata (mean) =

Dengan menggunakan derajat keyakinan 95 % (0,95) maka diperoleh z = 1,96

pada tabel normal. Jadi selang kepercayaan berada pada :

0,10866 ± 1,96 . 0,009811

0,10866 ± 0,019229

atau antara

(65)

2. Untuk = 0,2

(66)

= Var(X)

= 0,0000676

= 0,008222

Dengan menggunakan derajat keyakinan 95 % (0,95) maka diperoleh z = 1,96

pada tabel normal. Jadi selang kepercayaan berada pada :

0,22366 ± 1,96 . 0,008222

0,22366 ± 0,016115

atau antara

0,207545 s/d 0,239775

Sedangkan selang kepercayaan dari hasil perhitungan delay rata-rata disajikan

sebagai berikut :

(67)

Rata - rata (mean) =

Dengan menggunakan derajat keyakinan 95 % (0,95) maka diperoleh z = 1,96

pada tabel normal. Jadi selang kepercayaan berada pada :

0,216472 ± 1,96 . 0,004358

0,216472 ± 0,008541

atau antara

(68)

4.9 Grafik Hasil Simulasi

Hasil akhir dari perhitungan antrian dengan kondisi-kondisi di atas dapat

dilihat melalui grafik yang terdapat pada perangkat lunak tersebut. Tujuan dari grafik

ini yaitu untuk mengetahui perbedaan hasil akhir dari seluruh kondisi yang

digunakan.

4.9.1 Grafik Kondisi I

Grafik hasil akhir perhitungan antrian pada kondisi I dapat dilihat pada

Gambar 4.9.(a) dan 4.9.(b). Pada Gambar 4.9.(a) dapat dilihat perubahan panjang

antrian rata-rata yang terjadi sesuai dengan kenaikan utitilisasi server. Sedangkan

pada Gambar 4.9.(b) dapat dilihat perubahan penundaan rata-rata sesuai dengan

(69)

Gambar 4.9 Grafik Kondisi I

4.9.2 Grafik Kondisi II

Grafik hasil akhir perhitungan antrian pada kondisi I dapat dilihat pada

Gambar 4.10.(a) dan 4.10.(b). Pada Gambar 4.10.(a) dapat dilihat perubahan panjang

antrian rata-rata yang terjadi sesuai dengan kenaikan utitilisasi server. Sedangkan

pada Gambar 4.10.(b) dapat dilihat perubahan penundaan rata-rata sesuai dengan

(70)

(a) Panjang Antrian vs Utilisasi Server

(71)

4.5.3 Grafik Kondisi III

Grafik hasil akhir perhitungan antrian pada kondisi I dapat dilihat pada

Gambar 4.11.(a) dan 4.11.(b). Pada Gambar 4.11.(a) dapat dilihat perubahan panjang

antrian rata-rata yang terjadi sesuai dengan kenaikan utitilisasi server. Sedangkan

pada Gambar 4.11.(b) dapat dilihat perubahan penundaan rata-rata sesuai dengan

perubahan utilisasi server.

(72)
(73)

BAB V PENUTUP

5.1 Kesimpulan

Dari hasil simulasi yang diperoleh pada Bab IV, maka didapatkan kesimpulan

sebagai berikut :

1. Dengan semakin bertambahnya jumlah sumber yang melakukan transmisi, maka

akan semakin bertambah pula utilisasi server dan panjang antrian rata-rata pada

sistem.

2. Dengan semakin bertambahnya rate transmisi pada masing-masing sumber, maka

akan semakin bertambah pula utilisasi server dan panjang antrian rata-rata pada

sistem.

3. Dengan semakin besarnya kapasitas saluran transmisi, maka utilisasi server dan

panjang antrian rata-rata pada sistem akan semakin kecil.

5.2 Saran

Beberapa saran yang dapat penulis berikan adalah :

1. Perangkat lunak yang telah dirancang ini dapat dikembangkan lagi dengan

membahas throughput dari statistical TDM.

2. Untuk semakin mempermudah pemahaman, perangkat lunak yang telah

(74)

DAFTAR PUSTAKA

1. Banks, Jerry, John S. Carson and Barry L. Nelson, 1996, “Discrete Event

System Simulation”, Second Edition, Prentice Hall International, New Jersey.

2. Balaban, Philip, Michael C. Jeruchim and K. Sam Shanmugan, 2002

“Simulation of Communication System”, Second Edition, Kluwer Academic

Publisher, New York.

3. Freeman, Roger L, 2005, “Fundamentals of Telecommunications”, Fourth

Edition, John Wiley and Sons, New York.

4. Kadir, Abdul, 2004, “Panduan Pemrograman Visual C++”, Penerbit Andi,

Yogyakarta.

5. Law, Averil M. and W. David Kelton, 1991, “Simulation Modeling and

Analysis”, Second Edition, McGraw Hill, New York.

6. Mir, Nader F, 2006, “Computer and Communication Networks”, Prentice

Hall, Indiana.

7. Stallings, William, 2000, “Data and Computer Communication”, Sixth

Edition, Prentice Hall, New Jersey.

8. Young, Minchael J., 1998, “Mastering Visual C++6”, Sybex Inc, San

(75)

LAMPIRAN A

LISTING PROGRAM PERANGKAT LUNAK

(76)

Source Code Pendeklarasian Variabel-Variabel Program Utama

// LayoutDlg.h : header file //

#if _MSC_VER > 1000 #pragma once

#endif // _MSC_VER > 1000

//////////////////////////////////////////////////////////////////// /////////

// CLayoutDlg dialog

class CLayoutDlg : public CDialog {

// Construction public:

int bataswaktu; int item;

double waktuselesai,waktujalan,waktuterakhir; void urutdata();

double daftarselesai[2000]; int jumlah_antri;

float w_selesai;

double daftartunggu[2000]; double daftarwaktu[2000]; int jumlah;

int x;

int jmldatang; float w_sebelum; float w_datang;

CLayoutDlg(CWnd* pParent = NULL); // standard constructor

// Dialog Data

//{{AFX_DATA(CLayoutDlg) enum { IDD = IDD_LAYOUT_DIALOG }; CListBox m_listjumlahinput1; CListBox m_listw3;

CListBox m_listw2; CListBox m_listw1;

CListBox m_listutilserver2; CListBox m_listutilserver1; CListBox m_util2;

(77)

CListBox m_as; double m_waktu; double m_test; CString m_kapasitas; double m_ratesumber; CString m_sinput; CString m_alpha; double m_test2; int m_bil; double m_wktlayan; int m_antri; double m_util; int m_N;

double m_waktuselesai; double m_Lantrian; double m_Wantrian; double m_LT;

double m_WN;

int m_statusserver; //}}AFX_DATA

// ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CLayoutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation protected:

HICON m_hIcon;

// Generated message map functions //{{AFX_MSG(CLayoutDlg)

virtual BOOL OnInitDialog();

afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint();

afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnStart();

afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnKeluar();

afx_msg void OnBtngrafik1(); afx_msg void OnButton9(); afx_msg void OnGrafik3();

afx_msg void OnSimpankondisi1(); afx_msg void OnBersih();

afx_msg void OnSimpankondisi2(); afx_msg void OnSimpankondisi3(); afx_msg void OnGrafik1b();

afx_msg void OnGrafik2b(); afx_msg void OnGrafik3b(); //}}AFX_MSG

DECLARE_MESSAGE_MAP() };

(78)

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif //

(79)

Source Code Program Utama

// LayoutDlg.cpp : implementation file //

#include "stdafx.h" #include "Layout.h" #include "LayoutDlg.h"

//Include file Untuk Random Metode Poison

#include <time.h> // define time()

#include "randomc.h" // define classes for random number generators

#include "mersenne.cpp" // code for random number generator

#define RANDOM_GENERATOR TRandomMersenne // define which random number generator to use

#include "stocc.h" // define random library

//Akhir Include File Untuk Random Poison

#define RANDOM_GENERATOR TRandomMersenne // define which random number generator to use

#include "Grafik1.h"

#define new DEBUG_NEW #undef THIS_FILE

static char THIS_FILE[] = __FILE__; #endif

//////////////////////////////////////////////////////////////////// /////////

// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog {

// ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg)

protected:

(80)

//}}AFX_VIRTUAL

// Implementation protected:

//{{AFX_MSG(CAboutDlg)

afx_msg void OnBeforeDragOverImage1(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift);

DECLARE_EVENTSINK_MAP() //}}AFX_MSG

DECLARE_MESSAGE_MAP() };

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) {

//{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX) {

// No message handlers //}}AFX_MSG_MAP

END_MESSAGE_MAP()

//////////////////////////////////////////////////////////////////// /////////

// CLayoutDlg dialog

CLayoutDlg::CLayoutDlg(CWnd* pParent /*=NULL*/) : CDialog(CLayoutDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CLayoutDlg) m_waktu = 0.0;

m_test = 0.0;

m_kapasitas = _T(""); m_ratesumber = 0.0; m_sinput = _T(""); m_alpha = _T(""); m_test2 = 0.0; m_bil = 0;

m_wktlayan = 0.0; m_antri = 0; m_util = 0.0; m_N = 0;

(81)

m_WN = 0.0;

m_statusserver = 0; //}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); }

void CLayoutDlg::DoDataExchange(CDataExchange* pDX) {

CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLayoutDlg)

DDX_Control(pDX, IDC_LISTJLHINPU1, m_listjumlahinput1); DDX_Control(pDX, IDC_LISTW3, m_listw3);

DDX_Control(pDX, IDC_LISTW2, m_listw2); DDX_Control(pDX, IDC_LISTW1, m_listw1);

DDX_Control(pDX, IDC_LISTUTILSERVER2, m_listutilserver2); DDX_Control(pDX, IDC_LISTUTILSERVER1, m_listutilserver1); DDX_Control(pDX, IDC_LISTUTIL2, m_util2);

DDX_Control(pDX, IDC_LISTRATE, m_listrate); DDX_Control(pDX, IDC_LISTL3, m_listl3); DDX_Control(pDX, IDC_LISTL2, m_listl2); DDX_Control(pDX, IDC_LISTL1, m_listl1);

DDX_Control(pDX, IDC_LISTKANAL, m_listkanal); DDX_Control(pDX, IDC_waktutetap, m_dwaktutetap); DDX_Control(pDX, IDC_selesai, m_dselesai);

DDX_Control(pDX, IDC_LISTtest, m_as); DDX_Text(pDX, IDC_WAKTU, m_waktu); DDX_Text(pDX, IDC_test, m_test);

DDX_CBString(pDX, IDC_kapasitas, m_kapasitas); DDX_Text(pDX, IDC_ratesumber, m_ratesumber); DDX_CBString(pDX, IDC_sinput, m_sinput); DDX_CBString(pDX, IDC_alpha, m_alpha); DDX_Text(pDX, IDC_test2, m_test2); DDX_Text(pDX, IDC_bil, m_bil);

DDX_Text(pDX, IDC_wktlayan, m_wktlayan); DDX_Text(pDX, IDC_antri, m_antri);

DDX_Text(pDX, IDC_util, m_util); DDX_Text(pDX, IDC_N, m_N);

DDX_Text(pDX, IDC_waktuselesai, m_waktuselesai); DDX_Text(pDX, IDC_Lantrian, m_Lantrian);

DDX_Text(pDX, IDC_Wantrian, m_Wantrian); DDX_Text(pDX, IDC_LT, m_LT);

DDX_Text(pDX, IDC_WN, m_WN);

DDX_Text(pDX, IDC_STATUSSERVER, m_statusserver); //}}AFX_DATA_MAP

ON_BN_CLICKED(IDC_START, OnStart) ON_WM_TIMER()

(82)

ON_BN_CLICKED(IDC_BTNGRAFIK1, OnBtngrafik1) ON_BN_CLICKED(IDC_BUTTON9, OnButton9)

ON_BN_CLICKED(IDC_GRAFIK3, OnGrafik3)

ON_BN_CLICKED(IDC_SIMPANKONDISI1, OnSimpankondisi1) ON_BN_CLICKED(IDC_Bersih, OnBersih)

ON_BN_CLICKED(IDC_SIMPANKONDISI2, OnSimpankondisi2) ON_BN_CLICKED(IDC_SIMPANKONDISI3, OnSimpankondisi3) ON_BN_CLICKED(IDC_GRAFIK1B, OnGrafik1b)

ON_BN_CLICKED(IDC_GRAFIK2B, OnGrafik2b) ON_BN_CLICKED(IDC_GRAFIK3B, OnGrafik3b) //}}AFX_MSG_MAP

END_MESSAGE_MAP()

//////////////////////////////////////////////////////////////////// /////////

// CLayoutDlg message handlers

BOOL CLayoutDlg::OnInitDialog() {

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

} }

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control

}

Gambar

Gambar 3.1 Lingkungan Program Visual C++ 6.0
Gambar 3.2 dapat kita lihat contoh tampilan sebuah jendela Project Workspace.
Gambar 3.3 Jendela Editor
Gambar 3.5 Toolbox
+7

Referensi

Dokumen terkait

Pada proses pembuatan aplikasi ini perangkat lunak yang digunakan adalah xampp ( terdiri dari apache server, PHP dan MySQL ) sebagai bahasa pemrograman dengan

Pada menu Materi di klik sehingga aplikasi akan menampilkan halaman Materi yang akan dibahas pada aplikasi medi pembelajaran ini. Pada menu materi terdapat 14 menu yang

Adapun tujuan dari penelitian ini adalah membuat sistem perangkat lunak digunakan untuk mengatur atau mengontrol pengambilan dan pemanggilan nomor antrian

Adapun batasan masalah dari penelitian ini adalah simulasi dilakukan dengan menggunakan perangkat lunak Visual Basic 6.0 yang mengacu kepada data-data yang didapat dari

Pada pembuatan tugas akhir ini, disimulasikan pemodelan link sistem Dense Wavelength Division Multiplexing (DWDM) pada perangkat lunak simulator agar diketahui

Adapun Perangkat lunak yang digunakan pada penyusunan Tugas Akhir kali ini adalah Microsoft Visual Studio yang merupakan suatu program yang dirancang untuk menangkap posisi

Skripsi ini berusaha membuat simulasi kestabilan dari sistem permukaan cairan pada program delphi untuk mempermudah mensimulasikan respon transiennya, serta dapat

Hasil simulasi program pengendalian sistem sortasi dapat disimpulkan bahwa lama pergerakan setiap manggis saat pemutuan dimulai dari unit ultrasonik sampai ke bak mutu