jurnal generic vol 4 no 1 januari 2009
TRANSCRIPT
1
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
Jl. Palembang-Prabumulih
Km. 32 Inderalaya Ogan Ilir 30662
Telp. (0711) 7072729, 379248,
Fax. 379248
Email : [email protected]
� Sistem Navigasi Non-Holonomic Mobile Robot Menggunakan Aplikasi Sensor Ultrasonic
Oleh Siti Nurmaini (Universitas Sriwijaya)
Ahmad Zarkasih (Universitas Sriwijaya)
� Konsep Model,View Dan Controller (Mvc) Penerapannya Pada Pemecahan Pengembangan
Perangkat Lunak Ujian ONLINE
Oleh Ermatita (Universitas Sriwijaya)
Huda Ubaya (Universitas Sriwijaya)
Dwi Rosa Indah (Universitas Sriwijaya)
� Rancang Bangun Perangkat Lunak Sistem Informasi Laboratorium Fasilkom Unsri
Oleh M Aris Ganiardi (Universitas Sriwijaya)
Hardini Noviant (Universitas Sriwijaya)
Mira Afrina (Universitas Sriwijaya)
� Peningkatan Fungsionalitas Perangkat Lunak Melalui Restrukturisasi Data : Sistem Informasi
Akademik Fakultas Ilmu Komputer Universitas Sriwijaya
Oleh M. Fachrurrozi (Universitas Sriwijaya)
� Dynamic Link Library meningkatkan Portabilitas PL yang dibangun dengan paradigma Berorientasi
Objek
Oleh Megah Mulya (Universitas Sriwijaya)
Sukemi (Universitas Sriwijaya)
� Simulasi Antrian Satu Channel Dengan Tipe Kedatangan Berkelompok
Oleh Alvi Syahrini
� Optimalisasi Interkoneksi Virtual Private Network (Vpn) Dengan Menggunakan Hardware Based
Dan Iix (Indonesia Internet Exchange) Sebagai Alternatif Jaringan Skala Luas (Wan)
Oleh Deris Setiawan (Universitas Sriwijaya)
Dian Palupi Rini (Universitas Sriwijaya)
� Pengembangan Perangkat Lunak Pembangkit Fraktal Berbasis Fungsi Polynomial Dengan
Menggunakan Pemrograman Borland C++ Builder 6.0
Oleh Jaidan Jauhari (Universitas Sriwijaya)
� Perancangan Scanner Lembar Komputer berbasis Mikrokontroler
Oleh Bambang Tutuko(Universitas Sriwijaya)
Sarmayanta (Universitas Sriwijaya)
Tasmi (Universitas Sriwijaya)
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
Jl. Palembang-Prabumulih
Km. 32 Inderalaya Ogan Ilir 30662
Telp. (0711) 7072729, 379248,
Fax. 379248
Email : [email protected]
ISSN 1907-4093
Volume : 4
Nomor : 1
Januari
2009
JURNAL ILMIAH
ILMIAH GENERIC
ILMIAH
JURNAL ILMIAH
GENERIC
Volume 4, Nomor 1, Januari 2009
Pelindung
Dekan Fakultas Ilmu Komputer
Universitas Sriwijaya
Ketua Dewan Redaksi Endang Lestari, M.T.
Dewan Redaksi
Ir. Bambang Tutuko, M.T.
Erwin, S.Si., M.Si.
Samsuryadi, S.Si. M.Kom.
Penyunting Ahli
Dr. Darmawijoyo, M.Si. (UNSRI)
Dr. Yusuf Hartono, M.Sc.(UNSRI)
Redaksi Pelaksana
Ir. Siti Nurmaini, M.T
Drs. Megah Mulya, M.T.
Ir. Sukemi, M.T.
Endang Lestari, S.Kom., M.T.
Mgs. Afriyan Firdaus, S.Si., M.IT.
Deris Setiawan, S.Kom., M.T.
Dian Palupi Rini, S.Si., M.Kom.
Alvy Syahrani Utami, S.Si., M.Kom.
Kesekretariatan
Muklish
Alamat Redaksi
Fakultas Ilmu Komputer UNSRI
Jl. Palembang-Prabumulih Km. 32
Inderalaya Ogan Ilir 30662 Telp. (0711) 7072729, 379248,
Fax. 379248
Website : http://www.ilkom.unsri.ac.id
Email : [email protected]
i
Pengantar Redaksi
Puji syukur kami panjatkan kehadirat Allah SWT, atas karunia dan rahmatNya jualah sehinga
Jurnal ilmiah GENERIC ini dapat terbit. Dengan terbitnya Jurnal Generic volume 3 nomor 2
Desember 2008 ini semoga akan dapat lebih menggugah minat penulis untuk menuangkan
aspirasi dan kemampuan menulis dalam bentuk publikasi, khususnya di lingkugan Fakultas
Ilmu Komputer Universitas Sriwijaya.
Pada kesempatan ini kami mengajak rekan-rekan para ilmuan dan peneliti dapat mempublikasikan temuan dan kajiannya dalam jurnal GENERIC ini.
Kami sangat berterima kasih kepada para penulis dari berbagai instansi yang telah
mengizinkan kami memuat paparannya dalam jurnal terbitan edisi ini. Semoga jurnal GENERIC ini dapat terus berkembang dan terbit secara berkelanjutan .
Redaksi
Jurnal Ilmiah GENERIC ISSN 1907-4093
Volume 3 , Nomor 2, Desember 2008
ii
Sistem Navigasi Non-Holonomic Mobile Robot Menggunakan Aplikasi Sensor
Ultrasonic
Oleh Siti Nurmaini (Universitas Sriwijaya)
Ahmad Zarkasih (Universitas Sriwijaya)
1 – 11
Konsep Model,View Dan Controller (Mvc) Penerapannya Pada Pemecahan
Pengembangan Perangkat Lunak Ujian ONLINE
Oleh Ermatita (Universitas Sriwijaya)
Huda Ubaya (Universitas Sriwijaya)
Dwi Rosa Indah (Universitas Sriwijaya)
12 - 20
Rancang Bangun Perangkat Lunak Sistem Informasi Laboratorium Fasilkom
Unsri
Oleh M Aris Ganiardi (Universitas Sriwijaya)
Hardini Noviant (Universitas Sriwijaya)
Mira Afrina (Universitas Sriwijaya)
21 – 32
Peningkatan Fungsionalitas Perangkat Lunak Melalui Restrukturisasi Data :
Sistem Informasi Akademik Fakultas Ilmu Komputer Universitas Sriwijaya
Oleh M. Fachrurrozi (Universitas Sriwijaya)
33 – 38
Dynamic Link Library meningkatkan Portabilitas PL yang dibangun dengan
paradigma Berorientasi Objek
Oleh Megah Mulya (Universitas Sriwijaya)
Sukemi (Universitas Sriwijaya)
39 – 48
Simulasi Antrian Satu Channel Dengan Tipe Kedatangan Berkelompok
Oleh Alvi Syahrini
49 - 56
Optimalisasi Interkoneksi Virtual Private Network (Vpn) Dengan
Menggunakan Hardware Based Dan Iix (Indonesia Internet Exchange)
Sebagai Alternatif Jaringan Skala Luas (Wan)
Oleh Deris Setiawan (Universitas Sriwijaya)
Dian Palupi Rini (Universitas Sriwijaya)
57 - 68
Pengembangan Perangkat Lunak Pembangkit Fraktal Berbasis Fungsi
Polynomial Dengan Menggunakan Pemrograman Borland C++ Builder 6.0 Oleh Jaidan Jauhari (Universitas Sriwijaya)
69 - 81
Perancangan Scanner Lembar Komputer berbasis Mikrokontroler
Oleh Bambang Tutuko(Universitas Sriwijaya)
Sarmayanta (Universitas Sriwijaya)
Tasmi (Universitas Sriwijaya)
82 - 87
iii
1. Ir. Siti Nurmaini, M.T Lektor Fakultas Ilmu Komputer
2. Ahmad Zarkasih, S.T. Tenaga Pengajar Fakultas Ilmu Komputer
1
Sistem Navigasi Non-Holonomic Mobile Robot
Menggunakan Aplikasi Sensor Ultrasonic
Siti Nurmaini & Ahmad Zarkasih
Jurusan Sistem Komputer
Fakultas ilmu komputer
Universitas sriwijaya
[email protected], [email protected]
Abstrak
Dalam penelitian ini dilakukan analisis peletakan sensor jarak jenis ultrasonik
untuk keperluan navigasi nonholonomic mobile robot. Sistem robot
menggunakan 8 buah sensor dengan posisi peletakan dibagian depan, kanan,
dan kiri. Dari hasil pengujian diketahui bahwa jarak deteksi sensor terhadap
halangan berubah sesuai karakteristik dan jenis halangan walaupun perbedaan
tidak terlalu jauh, juga diketahui bahwa tegangan keluaran sensor berubah-
ubah sesuai dengan jarak halangan dengan kata lain tegangan berbanding lurus
dengan jarak. Error untuk jarak halngan terdekat s/d halangan terjauh sebesar
1.64%-6.25%. Untuk halangan permukaan datar, pada jarak 10cm, 20 cm, 30
cm dan 40 cm terjadi error sebesar 14.28%, 8.33%, 8.5% dan 4.44 %.
Kata kunci : mikrokontroler, sensor ultrasonic, error peletakan
Abstract
In this research, we analyze the implementation of distance ultrasonic sensor for
navigation of non-holonomic mobile robot. System of the robot use eight sensors
located in the front, right, and left. From the experiment result, detection of the
distance sensors to the obstacle changed as the characteristic and type of the
obstacle, although there is a little bit differences, and also the output of the sensors changed as the distance from the sensors to the obstacle. Error for closest
distance to the furthest distance is 1.64%-6.25%. Error for wall obstacle distance
in 10 cm, 20 cm, 30 cm and 40 cm are 14.28%, 8.33%, 8.5% and 4.44 %.
Keywords : mobile robot, sensor ultrasonik, error peletakan
1. PENDAHULUAN
1.1. Latar Belakang
Belakangan ini perkembangan teknologi
sensor yang cukup pesat memberikan
dampak positif bagi pengembangan
teknologi robotika sehingga robot yang
dikembangkan memiliki kemampuan
lebih dalam interaksi dengan lingkungannya. Agar dapat bernavigasi
secara autonomous, sebuah robot mobile
yang cerdas tentunya harus mampu mengenali keadaan lingkungan dimana
robot tersebut beroperasi. misal robot
mobile yang dirancang harus memiliki
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009 2
kemampuan mendeteksi objek-objek
penghalang yang bersifat statis maupun
dinamis. Untuk tujuan tersebut maka
sebuah robot mobile harus dilengkapi dengan sensor yang dapat memetakan
lingkungan sekelilingnya secara real
time.
Salah satu sensor yang banyak digunakan untuk hal diatas adalah sensor sonar atau
ultrasounik. Hal ini terkait dengan
kemampuan jangkauan deteksinya yang
relative jauh, tingkat radiasi yang aman serta harga relative murah. Tapi
disamping kelebihankelebihan tersebut,
secara praktis ada beberapa keterbatasan dan permasalahan penting dalam
menginterpretasikan data hasil
pembacaan sensor ini, diantaranya adalah
[6]:
1. Sensitifitas deteksi dari sensor sangat tergantung dari besar sudut yang
dibentuk oleh sensor dengan bidang
refleksi (objek): jika sudut yang dibentuk terlalu besar maka sinyal
tidak akan terpantul ke penerima,
sehingga dimungkinkan objek tidak akan terdeteksi oleh sensor. Semakin
jauh jarak objek yang terdeteksi,
maka posisi objek tersebut semakin
tidak diketahui secara pasti. Hal ini terkait dengan bidang deteksi yang
berbentuk kerucut dengan pusat pada
sensor tersebut. 2. Jika objek yang dideteksi berukuran
besar dan berbentuk tidak beraturan
atau jumlahnya banyak, maka
dimungkinkan terjadi pantulan-pantulan, sehingga jarak yang
terdeteksi oleh sensor tidak
merefleksikan jarak objek yang sebenarnya.
Berkaitan dengan permasalahan-permasalahan tersebut, maka kita tidak
dapat secara langsung
mengintepretasikan data jarak yang
dihasilkan sensor sonar secara langsung
tanpa pengolahan awal (misal untuk
mengetahui secara tepat posisi atau dimensi dari objek yang terdeteksi).
1.2. Perumusan Masalah
Peletakan posisi ultrasonik yang optimal akan sangat baik untuk navigasi suatu
mobile robot penghindar halangan,
karena robot jenis ini tidak hanya
mengunakan 2 atau 3 sensor, bahkan bisa 5 s/d 10 sensor. Sedangkan jangkauan
sudut pancar dan penerima sensor sangat
terbatas. Untuk itulah peneliti mencoba untuk merancang suatu sistem mobile
robot jenis nonholonomic menggunakan
7 buah sensor ultrasonik yang akan
dipasang secara tepat untuk memberikan hasil yang optimal dari pendektesian
halangan pada lingkungan robot yang
dibuat.
Permasalahan utama yang menjadi bahasan pada penelitian ini adalah
mencari dan pengatur posisi yang
optimal untuk 7 buah sensor ultrasonik, sebagai pendeteksi halangan pada robot
penghindar halangan guna menghindari
terdapatnya ruang kosong antara sensor
ultrasonik.
Tahapan pengujian adalah sebagai b erikut :
1. Perancangan suatu sistem sensor jarak dengan jenis ultrasonik
2. Pengaktifan sensor yang digunakan untuk keperluan navigasi robot.
3. Pengujian terhadap kemampuan kerja dari sensor ultrasonik yang digunakan pada berbagai kondisi halangan
4. Pengujian terhadap berbagai posisi sensor ultrasonic untuk mencari jarak yang optimal
5. Pada penelitian ini masalah dibatasi
hanya :
Nurmaini & Zarkasih, sistem navigasi non-holonomic…. 3 .
1. Pendektesian besarnya halangan yang berada di depannya sehingga dapat
menghindari halangan tersebut
dengan baik. 2. pendektesian adanya belokan
walaupun robot mobil sudah terlalu
berdekatan dengan salah satu sisi dari jalur jalan.
3. Pendeteksian terhadap adanya
belokan dari jarak yang masih jauh
lebih baik karena mempunyai sudut pantulan yang lebih kecil jika
dibandingkan dengan jika dipasang
secara tidak bersilangan.
1.3. Tujuan Penelitian
Tujuan penelitian ini adalah :
1. Untuk merancang bangun suatu robot mobil penghindar halangan dengan
menggunakan 7 buah sensor ultrasonik yang akan diatur posisinya
sehingga menghasilkan peletakan
yang optimal dalam berbagai kondisi
lingkungan robot. 2. Mengembangkan riset kendali posisi
menggunakan sensor ultrasonik untuk
keperluan navigasi, dan mengetahui pada jarak berapa sensor bekerja
lebih akurat.
I.4 Manfaat Penelitian
Hasil penelitian ini akan menghasilkan
suatu sistem kendali posisi untuk
keperluan navigasi pada mobile robot penghindar halangan jenis nonholonomic
dengan mencari peletakan posisi sensor
yang paling optimal sehingga mengetahui jarak deteksi yang terbaik dari sensor
ultrasonik, apabila diimplementasikan
secara real time pada suatu jenis robot
penghindar halangan sensor dapat
mendeteksi halangan lebih akurat.
2. TINJAUAN PUSTAKA
2.1. Gelombang Ultrasonik
Gelombang ultrasonik merupakan gelombang mekanik longitudinal dengan
frekuensi di atas 20 kHz. Gelombang ini
dapat merambat dalam medium padat, cair dan gas, hal disebabkan karena
gelombang ultrasonik merupakan
rambatan energi dan momentum mekanik
sehingga merambat sebagai interaksi dengan molekul dan sifat enersia medium
yang dilaluinya. Karakteristik
gelombang ultrasonik yang melalui medium mengakibatkan getaran partikel
dengan medium amplitudo sejajar dengan
arah rambat secara longitudinal sehingga menyebabkan partikel medium
membentuk rapatan (Strain) dan tegangan
(Stress). Proses kontinu yang
menyebabkan terjadinya rapatan dan regangan di dalam medium disebabkan
oleh getaran partikel secara periodik
selama gelombang ultrasonik melaluinya.
2.1.1. Energi Dan Intensitas
Gelombang Ultrasonik
Jika gelombang ultrasonik merambat
dalam suatu medium, maka partikel
Medium mengalami perpindahan energi.
Besarnya energi gelombang ultrasonik
yang dimiliki partikel medium adalah :
E =Ep+ Ek
(1)
Dengan :
Ep = energi potensial (Joule)
k = energi kinetik (Joule)
Untuk menghitung intensitas gelombang
ultrasonik perlu mengetahui energi yang dibawa oleh gelombang ultrasonik.
Intensitas gelombang ultrasonik ( I )
adalah energi yang melewati luas
permukaan medium 1 m2/s atau
watt/m2. Untuk sebuah permukaan,
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009 4
intensitas gelombang ultrasonik ( I )
diberikan dalam bentuk persamaan :
I = 1/2 ρ V A 2 (2 p f)
2= ½ Z (A ω )
2
(2)
Dengan :
r = massa jenis medium kg/m3) ,
f = frekuensi (Hz)
v = kecepatan gelombang (m/s2) ,
V = volume (m3)
A = amplitudo maksimum (m)
Z = ρ v = impedansi Akustik (kg/m 2.s)
ω = 2 π f = frekuensi sudut (rad/s)
2.1.2. Sifat Gelombang Ultrasonik
Gelombang ultrasonik mempunyai sifat
memantul, diteruskan dan diserap oleh suatu medium/jaringan. Apabila
gelombang ultrasonik ini mengenai
permukaan jaringan, maka sebagian dari
gelombang ultrasonik ini akan dipantulkan dan sebagian lagi akan
diteruskan/ditransmisikan. Karakteristik
gelombang ultrasonik yang melalui medium mengakibatkan getaran partikel
dengan medium amplitudo sejajar
dengan arah rambat secara longitudinal sehingga menyebabkan partikel medium
membentuk rapatan (strain) dan tegangan
(stress). Proses kontinu yang
menyebabkan terjadinnya rapatan dan regangan didalam medium disebabkan
oleh getaran partikel secara periodik
selama gelombang ultrasonik melaluinya.
Gambar 1 Gelombang ultrasonik
datang normal pada bidang batas
medium 1 dan medium 2
2.2. Nonholonomic Mobile Robot
Mobile robot yang digunakan dalam riset ini adalah jenis car-like mobile robot
yang beroda tiga dan bergerak pada
bidang horizontal. Mobile robot ini memiliki tiga buah roda, dua roda
belakang digerakkan dengan motor DC
dan satu roda pasif atau castor wheel pada bagian depan. Gambar 2
memperlihatkan model dari mobile robot
pada riset ini, sedangkan input untuk
sistem tersebut adalah dua buah torsi 1T
dan 2T yang dihasilkan oleh dua motor
DC penggerak roda belakang.
0
Gambar 2. Model Mobile Robot
Dari model car-like mobile robot pada
gambar 3-1 diatas, maka persamaan
dinamis sistem diberikan oleh:
1 1
1 1
2 2
sin cos
cos sin
x b um
y bum
b u
λφ φ
λφ φ
φ
= +
= + =
&&
&&
&&
(9) dimana;
1
1b
rm=
Nurmaini & Zarkasih, sistem navigasi non-holonomic…. 5 .
2
1b
rI=
1 1 2u T T= +
2 1 2u T T= −
( )cos sinm x yλ φ φ φ= − +& & &
m : Massa robot
I : Inersia mobile robot
1 2,u u : Kendali input
λ : Pengali Lagrange
Pada pers 9 diatas, 1b dan 2b adalah
konstanta yang tidak diketahui dengan
nilai polaritas yang diketahui, dengan asumsi bahwa tanda polaritas
1b dan 2b diperoleh melalui perhitungan
rumus dengan memasukkan nilai massa,
momen inersia, radius roda dan jarak antara roda belakang robot. Pers 10
adalah batasan non-holonomic untuk
mobile robot dengan asumsi roda tidak slip. Fungsi vektor triplet
( ) ( ) ( ) ( ), ,T
q t x t y t tφ = menunjukka
n trajectory (posisi dan orientasi) robot
terhadap bidang kerja yang telah
ditetapkan. Pada setiap waktu yang telah
ditetapkan, [ ], ,T
q x y φ= menggambarkan
postur (konfigurasi) robot. Postur robot
tersebut, [ ], ,T
q x y φ= , dan turunan-nya
, ,T
q x y φ = && & & dijadikan sebagai feedback
bagi sistem.
3. METODOLOGI PENELITIAN
Pada penelitian ini objek yang dijadikan
ukuran untuk menentukan jarak dari
sensor ultrasonik tersebut adalah mobile robot jenis nonholonomic. Pergerakan
dari robot tersebut adalah merupakan
navigasi dari objek dan selanjutnya akan dilihat bagaimana kinerja dari sensor
tersebut.
3.1. Tempat Penelitian
Penelitian ini dilakukan di Laboratorium
Robotika dan Sistem Kendali Jurusan Sistem Komputer Fakultas Ilmu
Komputer Unsri dengan pengujian secara
real time.
3.2. Diagram Blok Penelitian
Sebelum menentukan posisi sensor sebaiknya kita lihat diagram dari sistem
kerja sensor, sehingga dalam penentuan
posisi sensor dapat dilakukan dengan baik
Gambar 3 Diagram blok sensor ultrasonik
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009 6
Sensor ultra sonic digunakan untuk
mendeteksi benda dalam jangkauan
sensor, kemudian data dari sensor
dimasukkan ke mcu pic16f84. Selain sebagai menerima input, pic16f84 juga
berperan sebagai pembangkit frekuensi
ultrasonic. Setelah data dari sensor diproses maka pic16f84 akan
mengeluarkan data input ke mcu at98c51
yang merupakan kendari pusat. Data yang
didapat , kemudian diproses untuk menentukan apa yang harus dikerjakan
kedua motor dc. Misalnya belok, mundur,
maju atau manuver lainya. Untuk menentukan gerak motor dc digunakan
sebuah mcu pic61f84.
Dengan peletakan sensor yang diatur
sebagai berikut :
1. Depan
Digunakan untuk navigasi objek didepan robot, guna menghindari
benturan dari depan ketika sensor
depan, dan kanan mendeteksi objek maka robot akan bergerak kesebelah
kiri begitupun sebaliknya.
2. Kanan
Untuk mendeteksi objek yang berada disebelah kanan robot, ketika sensor
kanan mendeteksi halangan maka
robot akan menghindar kekiri,
posisinya 030 dari sensor depan.
3. Kiri
Untuk mendeteksi objek yang berada di kiri robot, Ketika sensor kiri
mendeteksi objek maka robot akan
bergerak ke kanan, posisinya 030
dari sensor depan.
4. HASIL DAN PEMBAHASAN
Pengujian sensor ultrasonik meliputi
pengujian perangkat keras disertai pengujian prangkat lunak. Pengujian
dilakukan perbagian untuk
mempermudah dalam menganalisis hasil
perancangan dan hasil pengujian yang
dilakukan.
Bagian-bagian yang diuji adalah:
1. Rangkaian 1 sensor ultrasonik 2. Rangkaian interferensi sensor
ultrasonik
3. Pengujian sistem secara keseluruhan
4.1 Pengujian Sensor Ultrasonik
Pengujian sensor ultrasonik dilakukan untuk mendapatkan jarak terdekat dan
terjauh. Berdasarkan kemampuan
jangkauan halangan sensor ultrasonik jarak terdekat adalah 3 cm dan jarak
terjauh adalah 3 m. Jangkauan jarak ini
dikonversikan kedalam data digital dengan menggunakan mikrokroler
PIC16F84. Untuk jelasnya dapat kita lihat
di dalam Gambar 4.1
Gambar 4.1 Pengujian Jangkauan
Halangan Sensor Ultrasonik
Dari Gambar 4.1 sudut deviasi pancaran
gelombang ultrasonik adalah 400 terhadap
halangan X1. Halangan X1, posisinya dapat diubah-ubah untuk mendapatkan
jarak yang diuji. Data hasil pengujian
dapat dilihat dalam Tabel 4.1.
Tabel 4.1 Data Hasil Pengujian Sensor
Ultrasonik
Nurmaini & Zarkasih, sistem navigasi non-holonomic…. 7 .
Dalam Tabel 4.1. terdapat selisih antara
data referensi sensor dan data hasil
pengujian. Sehingga error yang diperoleh
untuk masing-masing data adalah untuk jarak terdekat sebesar 6.25%, jarak
terjauh 1.64%, sinyal paling dekat 6.25%,
sinyal sedang 1.315% dan sinyal paling jauh 1.64%.
Lebar jangkauan sensor ultrasonik
dari hasil pengujian adalah 3.2cm s/d 305
cm, berarti jarak yang di konversikan sebesar 0cm s/d 301.8cm, dan lebar data
MCU adalah 00D s/d 256D. Jangkauan
jarak yang diperoleh harus dikonversikan kedalam bilangan hexadesimal atau
bilangan desimal. Hal ini berarti jarak
301.8cm harus dikonversikan kedalam sinyal digital, sehingga untuk 1 bit data
digital berjarak 1.18cm.
4.2. Pengujian Interperensi Sensor
Ultrasonik
Pengujian ini bertujuan untuk
memdapatkan besarnya data interferensi
dan sudut optimal dari 3 buah sensor ultrasonik. Dalam pengujian ini halangan
akan diletakkan pada jarak 10cm, 20cm,
30cm dan 40 cm dengan posisi peletakan
halangan di depan dan disamping sensor. Permukaan halangan ada dua jenis yaitu
datar dan silinder dengan berbagai
ukuran.
4.2.1 Pengujian Interferensi Sensor
Ultrasonik untuk Posisi Halangan 00
4.2.1.1 Halangan dengan Permukaan
Datar
Pengujian ini dilakukan dengan
meletakkan halangan tegak lurus terhadap
sensor ultrasonik dengan kata lain pada posisi 00. Untuk jelasnya dapat dilihat
dalam Gambar 4.2. Dalam Gambar 4.2
posisi halangan adalah X1, besar sudut antar sensor ultrasonik adalah 30
0 s/d 90
0,
dan besarnya sudut deviasi sensor adalah
400, sedangkan X2 adalah posisi halangan
dengan besar sudut 150 s/d 90
0.
Langkah pengambilan data adalah dengan
cara meletakkan halangan X1 pada posisi
10cm, 20cm, 30 cm dan 40c dengan data referensi untuk jarak tersebut berturut-
turut adalah 0BH, 17H, 22H dan 2EH.
Dari posisi tersebut dapat diketahui berapakah data interferensi untuk sudut-
sudut yang menjadi acuan. Hasil
pengujian dapat dilihat dalam Tabel 4.2.
Gambar 4.2. Posisi Sensor Ultarasonik
dan Halangan
Pada halangan dengan permukaan datar dengan lebar penampang 4.5cm dan 6
cm, pada sudut 300 sampai dengan 35
0
interferensi bernilai 100%, hal ini disebabkan bahwa sudut 30
0 dan 35
0
berada dalam kawasan sudut elevasi
sensor untrasonik. Sehingga error yang dihasilkan adalah 0%.
Pada sudut 450 sampai dengan 50
0, pada
permukaan yang sama, untuk jarak X1
10cm tidak terdapat interferensi pada sensor target, hal ini disebabkan jarak X1
pada sensor referensi tidak berada dalam
kawasan sudut elevasi sensor ultrasonik. Sedangkan untuk jarak X1 20cm
interferensi 10h dengan error 26.08%,
jarak 30cm interferensi 13h dengan error
11,76% dan jarak 40cm interferensi 44h dengan error 4.37%
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009 8
Tabel 4.2 Hasil Pengujian Sensor untuk Halangan Datar
Pada sudut 60
0 pada permukaan datar
dengan lebar penampang 4.5cm tidak
terjadi interferensi, hal ini disebabkan posisi sensor sudah terlalu jauh dari
jangkauan sudut elevasi untuk jarak
pengujian 40cm. Sedangkan untuk
permukaan 6cm pada jarak 20 cm interferensi 0ah dengan error 56,52%,
pada jarak 30cm interferensi 16h dengan
error 35.29% dan jarak 40cm interferensi 20h dengan error 30.43%.
4.1.1.2. Halangan dengan Pemukaan
Silinder
Pada sudut halangan 300 sampai dengan
500, data yang diperoleh sama dengan
permukaan datar. Pada sudut 550 pada
jarak halangan 40cm tidak terjadi
interferensi untuk tiap-tiap silinder. Hal
ini dikarenakan terjadinya pembiasan atau pembelokan gelombang pantul
sensor ultrasonik.
Pada sudut halangan 600 sampai dengan
650, tidak terjadi interferensi. Hal ini
disebabkan pembiasan gelombang pantul
dan jarak X1 tidak berada dalam kawasan
sudut elevasi sensor.
Nurmaini & Zarkasih, sistem navigasi non-holonomic…. 9 .
Tabel 4.3. Hasil Pengujian Sensor untuk Halangan Silinder
4.2.2 Pengujian Interferensi Sensor
Ultrasonik untuk Posisi Halangan X2
Dalam gambar 4.2posisi halangan tepat
berada pada X2 atau pada sisi kanan dan kiri dari sensor referensi atu berada di
tengah-tengah antara sensor referensi dan
sensor target. Hal ini berarti kedua sensor saling memberikan interferensi
gelombang pantul. Pengujian ini
dilakukan untuk mengetahui apakah
interferensi masih dapat terjadi bila sensor tidak berada tepat di depan sensor
referensi dan mengetahui data referensi
yang dihasilkan.
4.2.2.1 Halangan dengan Permukaan
Datar
X2 merupakan halangan yang akan diatur
posisinya berdasarkan ketentuan yaitu 10cm, 20cm, 30cm dan 40 cm.
Permukaan halangan terdiri atas dua jenis
datar dan silinder. Untuk sudut peletakan
halangan (X2) adalah 150, 20
0 , 25
0 dan
300. sedangkan sudut sensor target adalah
300, 40
0 , 50
0 dan 60
0. Data referensi
setiap sudut halangan X2 berubah-ubah
terhadap jarak pengujian, hal ini disebabkan semakin jauhnya sudut
halangan dengan sudut elevasi sensor
referensi. Data hasil pengujian dapat
dilihat dalam Tabel 4.4
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009 10
Tabel 4.4 Hasil Pengujian Sensor untuk Halangan Datar
Dari Tabel 4.4, pada sudut halangan X2
=150, terjadi interferensi sebesar 100%
untuk semua jarak pengujian. Pada sudut halangan X2=20
0, pada jarak 10cm
interferensi 0ch dengan error 14.28%,
jarak 20cm interferensi 16h dengan error 8.33%, jarak 30cm interferensi 20h
dengan error 8.5% dan jarak 40cm
interferensi 2d dengan error 4.44%. Pada
sudut halangan X2 = 250 pada jarak 10cm
dan 20 cm tidak terdapat interferensi,
karena posisi halangan diluar jangkauan
sudut elevasi sensor. Jarak 30cm interferensi 1eh dengan error 18.91% dan
jarak 40cm interferensi 2ah dengan error
14.28%.
4.2.2.1 Halangan dengan Permukaan
Silinder
Tabel 4.5. Hasil Pengujian Sensor untuk Halangan Silinder
Nurmaini & Zarkasih, sistem navigasi non-holonomic…. 11 .
Dalam Tabel 4.5. pada sudut 150 sampai
dengan 200 data yang di hasilkan sama
dengan data pada pengujian pada
permukaan datar. Pada sudut 250 jarak
10cm dan 20 cm tidak terdapat data
referensi dan data interferensi, hal ini
disebabkan pada jarak tersebut halangan tidak berada dalam kawasan sudut elevasi
sensor
5. KESIMPULAN DAN SARAN
5.1. Kesimpulan
1. Error yang terjadi untuk masing-masing data adalah untuk jarak
terdekat sebesar 6.25%, jarak terjauh
1.64%, sinyal paling dekat 6.25%, sinyal sedang 1.315% dan sinyal
paling jauh 1.64
2. Pergeseran sudut antara sensor
referensi dengan sensor target di mulai dari sudut 30
0, kemudian
digeser sebanyak 50 sampai sampai
dengan 650. Hal ini disebabkan pada
sudut 650 sudah tidak terjadi
interferensi lagi.
3. Untuk halangan permukaan datar, pada sudut halangan 15
0, terjadi
interferensi sebesar 100% untuk
semua jarak pengujian. Pada sudut
halangan 200, pada jarak 10cm
interferensi 0ch dengan error 14.28%,
jarak 20cm interferensi 16h dengan
error 8.33%, jarak 30cm interferensi
20h dengan error 8.5% dan jarak 40cm interferensi 2d dengan error
4.44%. Pada sudut halangan 250
pada jarak 10cm dan 20 cm tidak terdapat interferensi, karena posisi
halangan diluar jangkauan sudut
elevasi sensor. Jarak 30cm
interferensi 1eh dengan error 18.91% dan jarak 40cm interferensi 2ah
dengan error 14.28%.
4. Untuk Halangan permukaan silinder pada sudut 15
0 sampai dengan 20
0
data yang di hasilkan sama dengan
data pada pengujian pada permukaan
datar. Pada sudut 250 jarak 10cm dan
20 cm tidak terdapat data referensi
dan data interferensi, hal ini disebabkan pada jarak tersebut
halangan tidak berada dalam kawasan
sudut elevasi sensor.
5.2 Saran
Dalam penelitian ini, data yang diambil hanya berdasarkan pergerakan halangan
sedangan robot sendiri dalam keadaan
diam, sehingga data yang didapat adalah berupa data statis. Untuk menghasilkan
data yang lengkap sebaiknya robot juga
dibuat bergerak.
6. DAFTAR PUSTAKA
Budiharto, Widodo. 2006. Membuat
Robot Cerdas. Jakarta : Elex Media
Komputindo. Junaedi, Muchammad. 2006. Robot
Pendeteksi Perpindahan Objek
Dengan Ultrasonik. Surabaya :
ITS. Pitowarno, Endra. 2006. Robotika
Desain, Kontrol, Dan Kecerdasan
Buatan. Yogyakarta: Andi Sahala, Stepanus. 2004. Gelombang
Ultrasonik Dan Terapannya.
Surabaya: UNAIR. Setiawan, Iwan. 2006. Simulasi Model
Sensor Sonar Untuk Keperluan
Sistem Navigasi Robot Mobile.
Semarang: Undip Untung, G Budijanto. 2005.
Pembelajaran Difraksi Fresnel
Pada Penghalang Lurus Menggunakan Gelombang
Ultrasonik. Surabaya: Universitas
Katolik Widya Mandala
1. Ermatita, M.Kom Lektor Fakultas Ilmu Komputer
2. Huda Ubaya, S.T Tenaga Pengajar Fakultas Ilmu Komputer
3. Dwi Rosa Indah, S.T. Tenaga Pengajar Fakultas Ilmu Komputer
12
Konsep Model,View Dan Controller (Mvc) Penerapannya
Pada Pemecahan Pengembangan Perangkat Lunak Ujian
Online
Ermatita & Huda Ubaya & Dwi Rosa Indah
Juruasan Sistem Informasi
Fakultas Ilmu Komputer
Universitas Sriwijaya [email protected], [email protected], [email protected]
Abstrak
Pengenalan pola biomimetik (PPB) didasarkan pada “pengetahuan (kognisi)”
Dasar dari PPB adalah prinsip keberlanjutan-kesamaan (Principle of homology-
continuity-PHC) berarti perbedaan antara dua sampel pada kelas yang sama
perlu diganti. Tujuan PPB adalah menemukan cakupan yang optimal (optimal
covering) dalam sebuah fitur seperti pada pengenalan pola tradisional (PPT).
Dalam PPB, Model neuron baru, Hyper Sausage Neuron (HSN), ditonjolkan
sebagai satu unit cakupan. Gambaran matematis dari HSN diberikan dan batasan
diskriminan 2 dimensinya diperlihatkan. Dalam kajian ini, dua kasus khusus
dengan sampel terdistribusi pada sebuah
Kata kunci : MVC, pola biometrik, pengetahuan, model neuron
Abstract
The development of software online examination system used Model View
Controller (MVC) architecture. In this architecture concept divided to 3 layers,
that is model layer, controller layer and view layer. Each layer responsible for
task on each layer, with the result that easier for software development. Online
examination system can help lecturer and student for examination, without meet
between lecturer and student. For development it base on user interface, so user
can easier for interaction to online examination system, because events from user
can be enforceable.
Keyword: Software, online examination system, GUI,Web, Model-View-Controller
1. PENDAHULUAN
Pengenalan pola telah dikembangkan
selama belasan tahun dan banyak teori
telah menjamur. Semua teori ini
berdasarkan pada model statistik yang mana aturan keputusan didefinisikan
dengan tujuan untuk mengklasifikasi dua
jenis sampel. Dalam teori ini, pengenalan
pola sama dengan “pembagian” dari pola yang berbeda.
PPB pertama kali diperkenalkan oleh
akademisi Wang Shoujue pada tahun
2002. Dalam konsep ini, pengenalan pola berdasarkan pada ”pengetahuan” bukan
Ermatita & Ubaya & Indah,, Konsep Model,View Dan Control... ..
.
13
pada ”pembagian”. Dengan kata lain,
PPB menekankan pada “pengetahuan
secara satu persatu dari semua kelas
sampel (cognition of all sampel classes one by one)” daripada “klasifikasi dari
bermacam-macam sampel (classifications
of many kinds of sampels)”. Karena konsep ini jauh lebih dekat pada
pengklasifikasian seperti yang dilakukan
oleh manusia, maka konsep ini disebut
pengenalan pola biomimetik. Sekarang ini, konsep Prof. Wang telah digunakan
pada banyak aplikasi dengan hasil yang
memuaskan.
2. PENGENALAN POLA
BIOMIMETIK
Ketika seseorang melakukan pengenalan,
ia memberikan penekanan khusus pada
“pengetahuan” dan hanya mempertimbangkan “perbedaan” secara
serius dalam beberapa kasus. Namun,
pengenalan pola tradisional hanya memberikan perhatian pada ”perbedaan”,
dan tanpa melihat konsep ”pengetahuan”.
Metode baru ini berkonsentrasi mengenal
pola pada ”pengetahuan”, PPB yang digagas dalam (Wang 2002). Kata
”biomimetik” menekankan bahwa titik
awal dari fungsi dan model matematis pada pengenalan pola merupakan konsep
”pengetahuan”, yang lebih mirip pada
konsep pengklasifikasian yang terdapat pada manusia.
Dalam dunia nyata, jika dua sampel dari
kelas yang sama tetapi tidak sepenuhnya
sama, perbedaan antara mereka harus diubah secara bertahap. Sehingga, urutan
perubahan secara bertahap terjadi antara
dua sampel dan himpunan setiap sampel dalam urutan memiliki kelas yang sama.
Prinsip keberlanjutan antara sampel yang
sama dalam ruang fitur disebut PHC. Dalam ruang fitur, andaikan bahwa
himpunan A adalah suatu himpunan titik
yang memuat semua sampel dalam kelas
A
Jika x, y ∈ A dan ε > 0 diberikan, harus ada himpunan B,
B = {x1= x, x2,...,xn-1, xn = y | ρ(xm,xm+1) < ε, ANmnm ⊂∈−∈∀ }],1,1[ }
(1)
Walaupun prinsip keberlanjutan-kesamaan tidak terdapat dalam
pengenalan pola tradisonal dan teori
pembelajaran, namun prinsip ini terjadi dalam dunia nyata. Dan prinsip ini
sebagai “pengetahuan awal” dari
distribusi sampel dalam PPB. Pengenalan pola tradisional bertujuan untuk
mendapatkan klasifikasi yang optimal
dari jenis-jenis sampel berbeda dalam
fitur. Namun, PPB bertujuan untuk mencari hubungan optimal dari sampel
sejenis dalam ruang fitur. Dasar dari PPB
adalah untuk menganalisa hubungan antara titik-titik sampel yang dilatih
dalam ruang fitur, dan PHC
memungkinkan hal ini terjadi.
Melalui prinsip keberlanjutan-kesamaan, diketahui bahwa semua sampel sejenis
dari kelas A harus terdistribusi pada
daerah terkait pada ruang fitur. Daerah ini ditulis sebagai P. Dengan
mempertimbangkan gangguan yang kecil,
semua sampel berhampiran dengan P harus dipertimbangkan sebagai sampel
kelas A. Sehingga tujuan PPB adalah
menemukan cakupan yang sesuai pada
ruang fitur kelas A. Didefinisikan
Py
yxdPxd∈
= ),(min),(
(2) ialah jarak antara vektor x dan himpunan
P. Maka, cakupan sempurna himpunan PA
pada kelas A adalah:
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
14
}),({ kAxdxPA ≤=
(3)
dengan k adalah jarak ambang batas. Dalam ruang fitur dimensi-n, PA
mempunyai dimensi-n yang kompleks,
yang memisahkan jarak keseluruhan ruang menjadi dua bagian, satu di kelas
A, yang lainnya bukan. Oleh karena itu,
pengenalan pola dengan PPB dilakukan dengan cara menentukan pemetaan dalam
ruang fitur dari suatu objek yang
melingkupi himpunan PA atau bukan.
3. JARINGAN HYPER SAUSAGE
NEURAL
Karena kesulitan dalam mengumpulkan
semua sampel berada di kelas A, cakupan
himpunan sempurna PA tidak dapat
dibangun. Namun, dapat ditemukan banyak unit sederhana yang menghampiri
himpunan PA. Oleh karena itu,
pengenalan pola dengan PPB adalah untuk menentukan menilai sebuah titik
termasuk ke dalam paling sedikit satu
unit atau tidak.
Sebuah unit neuron dapat membentuk
suatu ruang tertutup yang kompleks
(Wang 2001 dan Wang 2002). Sebagai
contoh, sebuah neuron RBF mengkonstruksi sebuah hyper-sphere,
dan sebuah double weights neuron
(DWN) dapat membentuk hyper-ellipse dan bentuk ruang kompleks yang lain
(Wang 2001). Jadi, jaringan syaraf buatan
adalah pilihan yang sesuai untuk membangun himpunan cakupan dalam
PPB (Wang 2002).
Penggambaran secara matematis HSN P
dari kelas A sebagai berikut (Wenming 2005):
U ,ii PP =
{ },,,),( n
ii RxBykyxxP ∈∈≤= ρ
(4)
[ ]{ }1,0,)1( 1 =−+== + ααα iii SSxxB
(5)
Dengan iS adalah suatu sampel dari
kelas A dalam ruang fitur. Andaikan
[ ]))1(,(min),( 21
1,021 xxxdxxxd αα
α−+=
∈
(6) merupakan jarak antara x dan segmen
garis 21xx . Maka
−−
−>−
<−
=
lainnyaxxxqxx
xxxxxqxx
xxxqxx
xxxd
),,,(
),,(,
0),,(,
),(
21
22
1
1221
2
2
21
2
1
21
2
(7)
12
12
121
)().(),,(
xx
xxxxxxxq
−
−−=
(8)
Dan HSN );,( 21 rxxS adalah
{ }221
2
21 ,();,( rxxxdxrxxS <=
(9)
Bila 1x dan
2x adalah titik yang sama
dalam ruang fitur, maka d2( 21, xxx )
ekivalen dengan ),( 1xxd dan
);,( 21 rxxS ekivalen dengan );( 1 rxS .
Bila 1x dan
2x adalah titik yang
berbeda, maka suatu HSN
);,( 21 rxxS adalah koneksi antara 1x dan
2x .
Suatu model neuron baru, HSN,
didefinisikan sebagai fungsi pentransfer masukan-keluaran:
)),((),;( 2121 xxxdxxxf φ=
(10)
Dengan (.)φ adalah bentuk neuron non-
linier, nRx∈ adalah vektor masukan,
dan nRxx ∈21 , adalah sebagai dua
pusatnya. Salah satu pilihan bentuk dari
Ermatita & Ubaya & Indah,, Konsep Model,View Dan Control... ..
.
15
(.)φ adalah fungsi Gauss digunakan
dalam pengepasan data, dan fungsi
ambang merupakan suatu varian dari
jaringan syaraf berbobot majemuk (multiple weights neural network)
(Wenming 2005 dan Wang 2000).
Jaringan dipakai dalam pengepasan data atau pengendalian sistem yang terdiri dari
masukan lapisan node sumber, satu
lapisan tersembunyi, dan keluaran lapisan
bobot linier. Jaringan dibentuk dengan pemetaan
∑=
+=sn
i
iiis xxxdxf1
210 )),(()( ϕλλ
(11)
dengan iλ adalah bobot, dan sni ≤≤0
adalah parameter. Lapisan keluaran
membentuk suatu keputusan berdasarkan
pada keluaran lapisan tersembunyi. Satu
pemetaan
)),((max)( 211
ii
n
is xxxdxf
s
φ=
=
(12)
Dengan (.)φ adalah suatu fungsi ambang.
Algoritma:
Misalkan SSSS adalah himpunan tersaring
yang memuat pola ekspresi sebagai
penentu jaringan dan X adalah himpunan
awal yang memuat semua pola ekspresi
secara terurut.
Mulai 1. Letakan pola lambang pertama
dalam hasil himpunan SSSS, himpunan ini memuat pola lambang
pengukuran bS sebagai bagiannya,
dan bandingkan dengan jarak yang
lainnya.
Set S = S = S = S = bb SSS =max},{ dan
.0max =d
2. Bila tidak ada pola lambang dalam
himpunan awal X hentikan
penyaringan. Selainnya, periksa
pola lambang selanjutnya dalam
X kemudian hitung jaranya ke bS ,
misal bSSd −= .
3. Bila maxdd > ke langkah 6.
Selainnya, lanjut ke langkah 4.
4. Bila ,ε<d set
ddSS == maxmax , ke langkah 2.
5. Letakan S dalam himpunan hasil:
S = S S = S S = S S = S ∪∪∪∪ }{S dan nyatakan
SSb = , SS =max dan .max dd =
Kemudian ke langkah 2.
6. Bila 2max ε>− dd ke langkah 2.
Selainnya, letakan maxS dalam
himpunan hasil: S = S S = S S = S S = S ∪∪∪∪
}{ maxS dan maxSSb = ,
maxmax SSd −= ke langkah 2.
Selesai.
Fungsi diskriminan (karakteristik) untuk
pengenalan pola dari suatu HSN dapat
ditulis sebagai
−= 5.02sgn)(
20
212 ),(
r
xxxd
HSN xf
(13) Jika hasil dari fungsi adalah negatif,
vektor termasuk ke dalam kelas ini, selain
itu bukan kelas ini. Asumsikan x1 = (-1,0,0,…) dan x2 = (1,0,0,…). Batas
diskriminan dari HSN dalam dua dimensi
diperlihatkan pada Gambar 1. Sebagai perbandingan, batas diskriminan dari
neuron DRBF adalah:
−+=
−−
5.022sgn)(20
2
2
20
2
1
r
xx
r
xx
DRBF xf
(14)
Yang juga diperlihatkan pada Gambar 1.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
16
Dapat dilihat bahwa daerah yang dicakupi
HSN lebih besar dari DRBF jika ro << 1;
daerah yang dicakupi HSN dan DRBF
mendekati jika ro ≈ 1;
Gambar 1. Batas diskriminan dari
HSN dan DRBF untuk studi 2 dimensi
dengan 0r yang berbeda.
kedua daerah cakupan dari HSN dan
DRBF mendekati ke lingkaran jika ro >> 1, tetapi jari-jari yang setara dari DRBF
adalah 2 dari HSN. Jadi, dengan
parameter berjari-jari yang sama, HSN
dapat berfungsi lebih baik daripada neuron RBF untuk mencakupi daerah
distribusi dari suatu kelas tertentu dalam
ruang fitur.
4. MODEL MATEMATIKA DAN
ANALISIS
PPB menekankan “kognisi” daripada
“divisi”. PPB dapat menemukan cakupan yang optimal daripada pemisahan optimal
hyper-surface. Dalam PPB hanya ada
data dari suatu kelas yang tersedia pada masa pembelajaran. Oleh karena itu,
model matematika ini sangat berbeda
dengan model pengenalan pola tradisional. Dalam tulisan ini, hanya
membahas distribusi yang bertopologi
secara homomorphic terhadap sebuah
garis.
Secara idealnya, diasumsikan bahwa: (i) mengabaikan gangguan, semua sampel di
kelas A didistribusikan dengan baik di
garis P, ditulis sebagai
∉
∈
=
Px
Px
xP
P
x
,0
,
)(
1
(15)
Dimana P adalah panjang garis P; (ii)
peluang dari gangguan suatu vektor x yang mengikuti distribusi normal sebagai
berikut
( ))exp(
1)(
2σσπ
xyxyp
nY
−−=
(16)
Persamaan (3) diberikan suatu sampel himpunan A, suatu pendekatan cakupan
himpunan PA dapat dibangun seperti
Persamaan (3). Dengan perumpamaan di
atas, didapat fungsi kepadatan distribusi peluang:
∫ ∈=Px
xy dxxpxypyp )()()(
(17)
Maka laju pembetulan dan laju penolakan
dapat dihitung. Hyper-Sausage Neuron
digunakan untuk membangun rumusan cakupan himpunan dari dua kasus khusus
berikut, yaitu: sebuah segmen garis dan
sebuah lingkaran. Neuron RBF juga dapat digunakan pada dua kasus ini sebagai
kendali percobaan.
4.1. Segmen garis
Tanpa menghilangkan generalisasi, umpamakan sebuah himpunan sampel
dengan hanya dua sampel: A(-1,0,0,...)
dan B(1,0,0,...) di dimensi n. Maka
( )1,
2
0,
x
x ABlp x
x AB
∈= ∉
(18)
dan
Ermatita & Ubaya & Indah,, Konsep Model,View Dan Control... ..
.
17
( ) ( ) ( )
( )
2
2
1
1 1
4
Y x
x AB
r
x x
n
p y p y x p x dx
yExp
y yErf Erf
l
σσ σπσ
∈
−
=
− + − = −
∫
(19) Sebuah HSN dibentuk untuk
menghubungkan kedua titik seperti pada
Persamaan (13) dan neuron DRBF pada
Persamaan (14). Jadi, laju pengenalan pembetulan dari
HSN adalah:
( ) ( )( )
0
0HSN
HSN
f x
P r p x dx≤
= ∫
(20)
dan laju pembetulan dari DRBF adalah:
( ) ( )( )
0
0DBRF
DBRF
f x
P r p x dx≤
= ∫
(21)
untuk 0/1 r yang berbeda, σ dipilih untuk
menjaga agar HSNP = 99% dan DRBFP (r0)
dihitung. Hasilnya diperlihatkan pada
Gambar 2 dan dapat dilihat bahwa laju
pembetulan dari DBRF sesuai dengan
laju pembetulan HSN bila 0/1 r = 1, laju
pembetulan DRBF akan menurun secara
cepat bila 0/1 r menaik. Jadi, kemampuan
umum dari HSN lebih kuat daripada
DRBF bila jarak antara sampel besar.
Gambar 2: Nilai pembetulan dari HSN
dan DRBF untuk 0/1 r yang berbeda.
Bagi 0/1 r yang berbeda, σ dipilih untuk
menjaga pHSN = 99%. Garis bagian atas
mengindikasikan nilai pembetulan dari
HSN, kurva lain berada pada posisi naik
ke turun, menunjukkan nilai pembetulan dari DRBF pada 2, 3, 5, 10, 20 dimensi.
4.2. Lingkaran
Andaikan semua sampel yang ada pada
kelas A didistribusikan dengan baik pada
sebuah lingkaran. Lingkaran ini terletak
pada bidangα dan pusatnya adalah titik
awal dan jari-jarinya adalah l . Lingkaran
ini dinyatakan sebagai )(lC . Maka:
( )( )
( )
1,
2
0, x
x C llp x
x C l
π ∈
= ∉
(22)
dan
( ) ( )( )
( )
( )
22
2
2 2
2 0,
Y x
x C l
p y p y x p x dx
l yExp
lyBesselI
l
ασ
σπσ
∈
=
+ − =
∫
(23) Sampel titik k pada lingkaran ini berada
pada interval yang sama dinyatakan
sebagai k
iiS 1}{ = . Sebuah titik ekstra
11 SSk =+ disertakan pada himpunan
sampel. Terdapat k segmen garis (HSN)
yang menghubungkan titik 1+k . Maka,
fungsi diskriminan adalah:
( )( )2
1
20
, ,
1sgn 2 0.5
ld x s sk
r
HSNl
f x Max
+
=
= −
(24) Jaringan RBF dibangun oleh satu
himpunan sampel dan fungsi diskriminan
berikut:
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
18
( )2
20
1
sgn 2 0.5
ix sk
r
RBF
i
f x
−
=
= − ∑
(25)
untuk 0/1 r tertentu, maka nilai
pembetulan ideal adalah
( ) ( )( )( ) 0
0
,
99%d C l r
P r p x dx≤
= =∫X
(26) untuk nilai k yang berbeda, maka nilai
pengenalan pada jaringan HSN dan
jaringan RBF yang tepat diperoleh
menggunakan rumus (26) dan dapat dilihat pada Gambar 3. Diperlihatkan
bahwa dengan ukuran sampel menurun,
nilai pembetulan yang tepat dari jaringan HSN terjaga tetap pada taraf yang tinggi
sedangkan nilai pembetulan pada jaringan
RBF menurun secara cepat. Hasil ini juga didukung oleh kemampuan jaringan HSN
secara umum lebih kuat dibandingkan
jaringan RBF, khusunya untuk sampel
berukuran kecil.
Gambar 3. Laju Pembetulan Dari
JSaringan HSN dan RBF
untuk sampel yang berukuran berbeda. Laju pembetulan dari jaringan HSN
dijaga tetap 99% (pada garis atas) ketika
nilai sampel menurun dan dimensi dari ruang fitur bervariasi. Bagaimanapun
juga, laju pembetulan jaringan RBF turun
secara drastik ketika ukuran sampel menurun (dari atas ke bawah, untuk kurva
berdimensi 2,3,5,10 dan 20)
4.3. Distribusi secara umum
Jaringan RBF hanya meliputi wilayah
yang dekat dengan titik sampel,
sementara itu jaringan HSN tidak hanya mencakupi wilayah yang sama dari RBF
tapi juga wilayah yang dekat dengan garis
yang menghubungkan himpunan setiap sudut dari titik sampel. Sehingga jaringan
HSN dapat mencakupi wilayah yang
lebih besar daripada jaringan RBF dengan
parameter yang sama, khususnya ketika jarak antara sampel besar. Oleh karena itu
pada kasus yang umum, jaringan HSN
dapat memiliki kemampuan umum yang lebih besar dibandingkan jaringan RBF.
5. APLIKASI PENGENALAN POLA
BIOMIMETIK
Pola biomimetik sudah digunakan dengan sukses di banyak aplikasi. Dalam aplikasi
ini, PPB telah mencapai hasil yang lebih
baik daripada metode pengenalan pola tradisional, seperti metode SVM dan
KNN.
Aplikasi pertama dari PPB adalah
“recognition system of omnidirectionally oriented rigid objects on the horizontal
surface”. Dengan mengabaikan
gangguan, daerah distribusi dari kelas
tertentu sama seperti lingkaran secara topologi. Maka jaringan digunakan untuk
membangun himpunan cakupan dari
kelas-kelas yang berbeda. Metode SVM dengan kernel RBF juga digunakan
sebagai eksperimen kendali. Sampel
percobaan dan tes dibagi menjadi tiga
himpunan sampel. Yang pertama terdiri dari 3200 sampel dari 8 objek (singa,
badak, harimau, anjing, tank, bus, mobil,
dan pemompa), sementara yang kedua terdiri dari 3200 sampel yang
dikumpulkan kemudian dari 8 objek yang
sama. Yang ketiga, kumpulan dari 2400 sampel dari 6 objek yang lain (kucing,
anjing jantan, zebra, singa kecil, beruang
kutub, dan gajah), digunakan sebagai tes
Ermatita & Ubaya & Indah,, Konsep Model,View Dan Control... ..
.
19
yang salah. Semua sampel dipetakan pada
fitur 256 dimensi. Jaringan HSN
dibangun berdasarkan sampel percobaan,
yang dipilih dari himpunan sampel pertama. Dalam kondisi bahwa tidak ada
sampel pada himpunan pertama dan
kedua disalahklasifikasikan dan tidak ada satupun dari himpunan yang ketiga
diartikan salah, rata-rata pengenalan yang
benar dari PPB dan RBF-SVM dengan
himpunan percobaan berbeda diperlihatkan pada Tabel 1.
Dapat dilihat bahwa hasil-hasil PPB jauh
lebih baik daripada hasil metode SVM,
terutama pada eksperimen dengan himpunan sampel yang sedikit.
Aplikasi yang lain dari PPB adalah sistem
pengenalan wajah. Jika perubahan dari tampilan muka dianggap sebagai
gangguan, daerah distribusi sama seperti
busur secara topologi ketika dia
memalingkan wajah-nya secara horizontal. Maka, jaringan HSN sangat
sesuai untuk membangun himpunan
cakupan. Sebanyak 91 gambar wajah dari 3 orang digunakan untuk membangun 3
jaringan HSN dan 226 gambar wajah
digunakan untuk menguji laju pengenalan
pembetulan dari kelas yang sama, sementara 728 gambar digunakan untuk
menguji laju penolakan dari kelas yang
lain. Laju pengenalan pembetulan dari kelas yang sama mencapai 97%,
sementara laju penolakan dari kelas lain
adalah 99,7%. Sebagai perbandingan, laju pengenalan pembetulan dari kelas yang
sama mencapai 89,82%, sementara laju
penolakan dari kelas yang lain adalah
97,94% pada metode K-NN.
Pada basis data wajah ORL, hasil
pengenalan pola yang didapat lebih baik dengan metode PPB daripada metode
SVM seperti pada Tabel 2.
Dapat dilihat bahwa laju kesalahan (baik
laju kesalahan pengklasifikasian maupun
laju penerimaan yang salah) mencapai nol, dan pada masa yang sama laju
pembetulan pada metode PPB meningkat
dibandingkan dengan metode SVM.
6. KESIMPULAN
Dari uraian di atas dapat disimpulkan
bahwa:
1. Metode PPB menekankan pada
analisis distribusi dari sampel kelas
tertentu dalam fitur.
2. Informasi terdahulu atas distribusi tes sampel dapat mengubah kemampuan
generalisasi secara signifikan.
3. PPB telah mencapai hasil yang lebih baik daripada metoda pengenalan
pola tradisional, seperti SVM dan K-
NN, dalam banyak aplikasi.
4. HSN bekerja lebih baik daripada
neuron RBF untuk menutupi daerah
distribusi dari kelas tertentu dalam
fitur. Perbandingan dalam dua kasus khusus antara HSN dan RBF sangat
mendukung hal ini.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
20
7. DAFTAR PUSTAKA
Wang Shoujue, Biomimetic Pattern
Recognition, Acta Electronica Sinica, Vo1. 30. No. 10, pp. 1417-
1420, Oct. 2002.
Wang Shoujue, LI Zhaozhou, Chen Xiangdong and Wang Bainan,
Discussion on the basic mathematic
model of neurons in general
purpose neurocomputer, Acta Electronica Sinica, Vol. 29, No. 5,
pp. 577-580, May 2001.
Wang Shoujue and Wang Bainan, Analysis and theory of high
dimension space geometry for
artificial neural networks, Acta Electronica Sinica, Vol. 30, No. 1,
Jan 2002.
Wang Shoujue, Biomimetics pattern
recognition, Neural Networks Society (INNS, ENNS, JNNS)
Newsletter, Vol. 1, No. 1, pp. 35,
Mar 2003. Wenming Cao, Jianqing Li, and Shoujue
Wang. Continuous Speech
Research Based on Hyper Sausage.
CIS 2005, Part II, LNAI 3802, pp. 1110 – 1115. Springer-Verlag
Berlin Heidelberg, 2005.
Wenming Cao, Xiaoxia Pan, Shoujue Wang: Continuous speech research
based on two-weight neural
network, Lecture Notes in Computer Science, Vol. 3497, pp.
345-350, Springer-Verlag, Berlin
Heidelberg New York, 2005.
Wang Shoujue, Chen YM, Wang XD, Modeling and optimization of
semiconductor manufacturing
process with neural networks, Chinese Journal of Electronics Vol.
9, No. 1, pp. 1-5, 2000.
Wang Zhihai, Zhao Zhanqiang and Wang Shoujue, A method of biomimetic
pattern recognition for face
recognition, Pattern Recognize &
Artificial Intelligence, Vol. 16, No.
4, Dec. 2003.
Wang Shoujue and Qu Yanfeng, ORL
face database on the biomimetic pattern recognition, Acta
Electronica
1. M Aris Garniardi, S.Si. Tenaga Pengajar Fakultas Ilmu Komputer
2. Mira Afrina, M.Sc Tenaga Pengajar Fakultas Ilmu Komputer
3. Hardini Novianti, S.E Tenaga Pengajar Fakultas Ilmu Komputer
21
Rancang Bangun Perangkat Lunak Sistem Informasi
Laboratorium Fasilkom Unsri
M.Aris Garniardi & Mira Afrina & Hardini Novianti
Jurusan Sistem Informasi
Fakultas Ilmu Komputer
Universitas sriwijaya
[email protected], [email protected], [email protected]
Abstrak
COMLAB adalah salah satu unit penunjang akademik yang dimiliki oleh
Fasilkom Unsri. Kegiatan yang dilaksanakan di COMLAB terdiri dari pengajaran,
penelitian, pengabdian pada masyarakat dan tugas akhir mahasiswa. Pada
penelitian ini mencoba untuk membuat suatu perangkat lunak sistem informasi
manajemen COMLAB untuk membantu memanajemen data administratif dan
inventaris COMLAB. Pembuat perangkat lunak menggunakan metode WaterFall
yang berbasis jaringan. Diharapkan dengan adanya perangakat lunak ini dapat
membantu kegiatan administratif dan inventaris yang ada di COMLAB.
Kata Kunci : Laboratorium, Perangkat Lunak, Sistem Informasi, Metode Waterfall
Abstract
COMLAB is one of academic supporting unit that belongs to Computer Science
Faculty, Sriwijaya University. The activities done in COMLAB consist of teaching,
researching, dedicating to the society and students final project. This research tried
to make software of COMLAB manageable information system to help in
managing administrative data and COMLAB inventories. Software builder used
WaterFall method that based on networking. Hopefully this software can help
administrative activity and inventories in COMLAB.
Keyword : Laboratoryum, Software, Information System, Waterfall Methode
1. PENDAHULUAN
Fakultas Ilmu Komputer (selanjutnya disebut dengan Fasilkom) Universitas
Sriwijaya yang diresmikan pada tanggal
1 Desember 2006 memiliki dua unit kegiatan yaitu Program Diploma
Komputer dan Computer Laboratory
(selanjutnya disebut dengan COMLAB). Lokasi kedua unit tersebut berada di
Bukit Besar Palembang.
COMLAB Fasilkom Unsri dibentuk
untuk mendukung kegiatan akademik
mahasiswa. COMLAB memiliki sebelas laboratorium yang terletak di indralaya
dan bukit besar. Di setiap laboratorium
terdapat seorang laboran yang memiliki tugas mengelola laboratorium. Laboran
bertanggung jawab langsung kepada
Kepala COMLAB. Meskipun secara organisasi COMLAB dibawah Fasilkom
Unsri, COMLAB mempunyai
manajemen sendiri.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
22
Dalam kegiatan sehari-hari COMLAB
Fasilkom Unsri menerapkan Tri Darma
perguruan tinggi yaitu pendidikan,
penelitian, dan pengabdian pada masyarakat. Di bidang pendidikan
COMLAB melayani praktikum dan
tugas akhir mahasiswa. Hasil dari penelitian COMLAB telah banyak
melahirkan aplikasi terapan yang
digunakan untuk menunjang kegiatan
akademik. Terakhir dibidang pengabdian pada masyarakat COMLAB
sering mengadakan pelatihan dibidang
ICT (Information Communication Technology).
Saat ini sistem administrasi dan
inventaris yang digunakan di COMLAB masih menggunakan cara manual. Data
administrasi dan inventaris didapat dari
masing-masing laboratorium yang
kemudian dikelola kembali secara manual menggunakan Microsoft Excel.
Namun cara tersebut tidak cocok lagi di
era perkembangan teknologi informasi ini. Selain membutuhkan banyak tenaga,
tempat serta peralatan, cara tersebut
dianggap tidak efisien lagi untuk saat
ini, mengingat banyaknya waktu yang dibutuhkan untuk memeriksa data secara
manual satu persatu. Selain itu
Microsoft Excel tidak memiliki fleksibilitas pengolahan data karena
tidak memiliki basis data, sehingga sulit
untuk melakukan pengolahan data termasuk backup data dan recovery.
Untuk memperkecil risiko yang
mungkin saja terjadi maka
diperlukannya sebuah perangkat lunak sistem yang dilengkapi dengan adanya
basis data yang dapat membantu
pendataan administratif dan inventaris di COMLAB agar lebih efektif dan efisien.
Selain itu, perangkat lunak sistem
informasi administratif dan inventaris COMLAB akan menjadi alat yang
efektif dan efisien untuk membantu
meringankan pekerjaan staf administrasi
untuk mendata dosen, laboran, teknisi,
inventaris laboratorium dan proses
transaksi yang relatif besar dan
mempermudah untuk meng-update atau
menghapus data yang ada. Pihak yang terkait dalam penggunaan
sistem ini adalah staf administrasi dan
laboran yang bertugas untuk mengurus administrasi dan inventaris COMLAB.
Perangkat lunak sistem yang akan
penulis buat ini diharapkan dapat
membantu meringankan pekerjaan administratif COMLAB dan
memberikan solusi yang bermanfaat.
Pada perangkat lunak ini penulis akan menggunakan bahasa pemrograman
Microsoft Visual Basic dan Database
Server SQL Server 2000.
1.1. Perumusan Masalah
Setiap tahun jumlah mahasiswa
Fasilkom Unsri terus bertambah dan
jumlah kegiatan semakin banyak. Jadwal pemakaian laboratorium pun
terus bertambah. Akibatnya terdapat
berbagai permasalahan yang ada di
COMLAB antara lain:
1. Kurang terorganisirnya sistem
administrasi yang ada di
laboratorium.
2. Belum adanya sistem yang menangani data kegiatan dan
fasilitas (inventaris) yang ada di
laboratorium. 3. Jumlah laboratorium yang banyak
dan tersebar di gedung yang
bertingkat.
4. Belum terintegrasi sistem informasi yang ada di laboratorium
1.2. Tujuan
1. Merancang perangkat lunak sistem informasi manajemen COMLAB
(selanjutnya disebut dengan
SIMLAB) Fasilkom Unsri.
2. Membuat perangkat lunak berbasis
jaringan SIMLAB Fasilkom Unsri
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
23
untuk mempermudah pengarsipan
administrasi, inventaris dan kegiatan
laboratorium COMLAB.
3. Mengimplementasikan perangkat lunak yang sudah dibuat.
4. Memanajemen semua informasi
yang ada di COMLAB .
1.3. Manfaat
Manfaat yang didapatkan dengan adanya
penelitian ini adalah :
1. Mempermudah penyimpanan arsip administrasi akademik di
laboratorium, baik data yang
berhubungan dengan praktikum, penelitian maupun pengabdian
masyarakat di laboratorium.
2. Mempermudah penyimpanan arsip administrasi sarana dan prasarana
laboratorium, baik data yang
berhubungan dengan pemakaian laboratorium, serta pemeliharaan
fasilitas-fasilitas yang ada di
dalamnya.
3. Mempermudah pembuatan berita acara pemakaian laboratorium
(praktikum, penelitian maupun
pengabdian masyarakat)
4. Mempermudah pembuatan berita
acara pemakaian dan pemeliharaan
fasilitas laboratorium (praktikum, penelitian maupun pengabdian
masyarakat)
5. Mempermudah pembuatan laporan administrasi laboratorium.
6. Mempermudah pembuatan laporan
pemakaian dan pemeliharaan fasilitas laboratorium (praktikum,
penelitian maupun pengabdian
masyarakat)
7. Mempermudah koordinasi antar
bagian di laboratorium dengan
adanya sistem yang berbasis jaringan.
1.4. Batasan Masalah
Sistem yang akan dibangun ini memiliki beberapa kemampuan dan batasan
tertentu yaitu:
1. Perancangan dan pembuatan
perangkat lunak hanya mengolah data yang sifatnya administratif.
2. Program dibuat dengan
menggunakan pemrograman
struktural. 3. Database yang digunakan adalah
DBMS yang bersifat relasional.
4. Sistem diimplementasikan pada jaringan komputer yang bersifat
lokal.
1.5. Metodologi Penelitian
Metode yang digunakan dalam
penelitian ini adalah :
1. Mempelajari konsep pembuatan
sebuah perangkat lunak sistem informasi.
2. Pada tahap awal penelitian dimulai
dari pembelajaran cara membuat perangkat lunak sistem informasi.
Pembelajaran dengan cara membaca
dari buku, literatur, dan jurnal yang
pernah diterbitkan. Setelah mendapatkan pengetahuan yang
cukup tentang pengertian sistem
informasi dilanjutkan dengan mempelajari perangkat lunak sistem
informasi yang telah dibuat orang
sebelumnya. 3. Mengumpulkan dan menganalisis
data.
4. Setelah didapatkan pemahaman
yang baik tentang perangkat lunak sistem informasi, langkah
selanjutnya mengumpulkan data
yang diperlukan untuk membuat sistem informasi laboratorium. Data
yang didapatkan dianalisis sebagai
dasar perancangan sistem.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
24
5. Merancang diagram alir untuk
memudahkan pembuatan
programnya.
6. Hasil analisis sistem dituangkan dalam bentuk diagram : ERD (Entity
Relationship Diagram) untuk
menggambarkan hubungan antar entitas, DFD (Data Flow Diagram)
untuk aliran data pada program, dan
terakhir flow chart untk
menggambarkan alur program yang dibuat.
7. Pembuatan Program dan
Implementasi 8. Langkah-langkah meliputi :
a. Pembuatan database yang akan
digunakan b. Membuat relasi antar tabel
c. Form input program
d. Form output program
e. Form-form transaksi f. Laporan
g. Menuliskan kode-kode program
pada tiap form h. Mengimplementasikan program
yang telah dibuat
9. Uji coba dilakukan setelah program
selesai dibuat. Tujuan dari uji coba ini adalah untuk mendeteksi kalau
ada kesalahan data yang
dikeluarkan. 10. Langkah terakhir adalah
menganalisis hasil yang diperoleh,
apakah sudah sesuai dengan tujuan awal pembuatan program.
1.6. Waktu dan Tempat Penelitian
Waktu pelaksanaan yang dibutuhkan
untuk melakukan penelitian ini adalah bulan Mei-Oktober 2008 di laboratorium
Komputer Dasar 1A.
2. TINJAUAN PUSTAKA
2.1. Laboratorium
Laboratorium adalah suatu tempat atau ruangan untuk melakukan penelitian,
eksperimen atau pengukuran. Fasilitas
yang dimiliki sebuah laboratorium tergantung jenis kegiatan yang
berlangsung di laboratorium. Pada
laboratorium komputer biasanya
terdapat banyak komputer yang terhubung jaringan. Di komputer itu
telah terinstal aplikasi yang dibutuhkan
selama praktikum atau penelitian.
2.2. Sistem Informasi
Suatu sistem yang dinyatakan sebagai
sistem informasi, lengkap dengan
jaringan komputer yang terbaru, belum
dapat dikatakan sebagai sistem informasi yang utuh, jika di dalamnya
hanya terdapat data dummy, jika di
dalamnya tidak terdapat informasi yang bermanfaat bagi sistem organisasi atau
jika datanya ada yang dimasukkan,
namun sudah kadaluarsa.
Sistem informasi dapat disebut baik, jika usernya rajin memasukkan data,
memeriksa data dari waktu ke waktu,
jika operatornya rajin memeriksa
kebenaran proses-proses pengolahan data yang ada di dalamnya, serta jika
pimpinan organisasinya mudah
mengakses informasi tentang kinerja sistem organisasi, melalui keberadaan
sistem informasi, serta didasarkan pada
data yang akurat dan mutakhir.
Sistem informasi dapat merupakan kombinasi teratur apa pun dari orang-
orang, hardware, software, jaringan
komunikasi, dan sumber data yang mengumpulkan, mengubah, dan
menyebarkan informasi dalam sebuah
organisasi.
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
25
2.3. Definisi Rekayasa Perangkat
Lunak
Rekayasa perangkat lunak adalah
disiplin ilmu yang membahas semua
aspek produksi perangkat lunak mulai dari tahap awal spesifikasi sistem
sampai pemeliharaan sistem setelah
digunakan. [Ian Sommerville, 2003,
hal.7].
2.3.1. Structured Analysis (analisis
terstruktur)
Structured Analysis merupakan sebuah
teknik model-driven yang berfokus pada
proses yang digunakan untuk menganalisis sistem yang ada,
mendefinisikan persyaratan bisnis untuk
sebuah sistem baru atau keduanya.
Model dari analisis ini mengilustrasikan komponen-komponen sistem, yaitu:
proses, input, output serta file-file yang
bersangkutan. [Jeffery L Whitten, 2004,
hal.177].
2.3.2. Model Proses Perangkat Lunak
(waterfall)
Model proses perangkat lunak
merupakan representasi abstrak dari
proses perangkat lunak. Model ini diilustrasikan pada Gambar 1, berkat
penurunan dari satu fase ke fase yang
lainnya, model ini dikenal sebagai ’model air terjun’ atau siklus hidup
perangkat lunak. Tahap-tahap utama
dari model ini memetakan kegiatan-
kegiatan pengembangan dasar, yaitu: a. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan
sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini
kemudian didefinisikan secara rinci
dan berbagai fungsi sebagai spesifikasi sistem.
b. Perancangan sistem dan perangkat
lunak
Proses perancangan sistem membagi
persyaratan dalam sistem perangkat keras atau perangkat lunak.
Kegiatan ini menentukan arsitektur
sistem secara keseluruhan. Perancangan perangkat lunak
melibatkan identifikasi dan deskripsi
abstraksi sistem perangkat lunak
yang mendasar dan hubungan-hubungannya.
c. Implementasi dan pengujian unit
Pada tahap ini, perancangan perangkat lunak direalisasikan
sebagai serangkaian program atau
unit program. Pengujian unit melibatkan verifikasi bahwa setiap
unit telah memenuhi spesifikasinya.
d. Integrasi dan pengujian sistem
Unit program atau program individual diintegrasikan dan diuji
sebagai sistem yang lengkap untuk
menjamin bahwa persyaratan sistem telah dipenuhi. Setelah pengujian
sistem, perangkat lunak dikirim ke
pelanggan.
e. Operasi dan pemeliharaan Biasanya (walaupun tidak
seharusnya), ini merupakan fase
siklus hidup yang paling lama. Sistem diinstalasi dan dipakai.
Pemeliharaan mencakup koreksi
dari berbagai error yang tidak ditemukan pada tahap-tahap
terdahulu, perbaikan atas
implementasi unit sistem dan
pengembangan pelayanan sistem, sementara persyaratan-persyaratan
baru ditambahkan.
Pada prinsipnya, hasil dari setiap fase
merupakan satu atau lebih dokumen
yang disetujui (’ditanda-tangani’). Fase berikutnya tidak boleh dimulai sebelum
fase sebelumnya selesai. [Ian
Sommerville, 2003, hal.42-hal.44]
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
26
Sumber : Buku Rekayasa Perangkat
Lunak Jilid 1 oleh Ian Sommerville
Gambar 1 Siklus Hidup Perangkat
Lunak
2.4. Jaringan Komputer Client-Server
Client-Server dapat diartikan sebagai
kemampuan komputer untuk meminta
layanan request data kepada komputer lain. Komputer yang meminta layanan
disebut sebagai client, sedangkan yang
menyediakan layanan disebut sebagai server.
Pengertian lain, client melakukan
permintaan suatu informasi atau mengirim perintah ke server. Server
akan menerima permintaan dan perintah
client. Kemudian server akan
memproses memproses berdasarkan permintaan tersebut, dan
mengembalikan kepada client sebagai
hasil pemrosesan yang sudah dilakukan.
2.4.1. Karakteristik Client-Server
Adapun karakteristik client-server, yaitu
sebagai berikut :
1. Client dan Server merupakan item
proses (logika) terpisah yang
bekerja sama pada suatu jaringan
komputer untuk mengerjakan suatu
tugas
2. Service : Menyediakan layanan terpisah yang berbeda
3. Shared resource : Server dapat
melayani beberapa client pada saat yang sama dan mengatur
pengaksesan resource.
4. Asymmetrical Protocol : antara
client dan server merupakan hubungan one-to-many. Client
memulai komunikasi dengan
mengirim request ke server. Server menunggu permintaan dari client.
Kondisi tersebut juga
memungkinkan komunikasi callback.
5. Transparency Location : proses
server dapat ditempatkan pada
mesin yang sama atau terpisah dengan proses client. Client-server
akan menyembunyikan lokasi server
dari client. 6. Mix-and-match : tidak tergantung
pada platform
7. Message-based-exchange : antara
client dan server berkomunikasi dengan mekanisme pertukaran
message.
8. Encapsulation of service : message memberitahu server apa yang akan
dikerjakan
9. Scalability : sistem C/S dapat dimekarkan baik vertikal maupun
horizontal
10. Integrity : kode dan data server
diatur secara terpusat, sedangkan pada client tetap pada komputer
tersendiri
3. HASIL DAN PEMBAHASAN
3.1. Prosedur yang Diusulkan
Sistem yang akan dibuat memiliki
prosedur sebagai berikut :
Definisi
persyar
atan
Perancangan
sistem dan
perangkat lunak
Implementasi
dan pengujian
unit
Integrasi dan
pengujian sistem
Operasi dan
pemeliharaan
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
27
1. Untuk masuk ke dalam sistem setiap
aktor harus login terlebih dahulu
sesuai dengan peran masing-masing.
2. Aktor-aktor yang berinteraksi langsung dengan sistem adalah
administrator, staf administrasi,
laboran, dan kepala COMLAB. 3. Staf administrasi mengolah data
administrasi berupa: data
laboratorium, data dosen, data
laboran, data teknisi, data praktikum, dan data surat-menyurat
di form-form aplikasi pada
SIMLAB . 4. Setiap akhir bulan staf administrasi
membuat rekap laporan data
administrasi dan dilaporkan kepada Kepala COMLAB
5. Laboran menginputkan data
kegiatan di laboratorium pengajaran,
penelitian dan tugas akhir, pengabdian masyarakat, dan
kegiatan lain di form-form pada
SIMLAB. 6. Laboran mengelola data inventaris
laboratorium di tempatnya bertugas.
7. Laboran menginputkan data apabila
ada kerusakan barang di laboratorium dan menyerahkan
laporannya ke kepala COMLAB dan
diteruskan ke teknisi. 8. Teknisi menginputkan data barang
yang telah diperbaiki dan membuat
laporan kepada kepala COMLAB. 9. Setiap akhir bulan laboran
melaporkan data yang diolahnya
kepada kepala COMLAB.
10. Tugas administrator adalah mengawasi jalanya sistem
3.2. Kelebihan Sistem yang diusulkan
1. Sistem yang ditawarkan dapat
mempermudah melakukan entry data dan edit data serta
penghapusan data master dan
transaksi.
2. Pada setiap form ditambahkan
kemampuan filterisasi dalam peng-
entry-an data sehingga sistem
secara otomatis melakukan pemeriksaan data yang menjadi
input-an dengan data yang ada
pada database, sehingga jika ada data yang sama secara otomatis
entry data ditolak.
3. Sistem mampu mengelompokan
data berdasarkan informasi yang diinginkan.
4. Sistem yang dibangun bekerja pada
jaringan lokal jadi setiap laboratorium dapat berkomunikasi.
5. Sistem yang ditawarkan memiliki
basisdata sehingga dapat mempermudah dalam melakukan
pengolahan transformasi data.
3.3. Desain Arsitektural
Tujuan tugas desain yang pertama ini
adalah untuk menentukan sebuah arsitektur aplikasi. Arsitektur aplikasi
menetapkan teknologi yang akan
digunakan seseorang, beberapa, atau
seluruh sistem informasi khususnya pada data, proses, antarmuka, dan
komponen jaringan mereka. Jadi
mendesain arsitektur aplikasi melibatkan pertimbangan teknologi jaringan dan
pengambilan keputusan bagaimana data,
proses, dan antarmuka dari sistem akan didistribusikan disekitar lokasi
penggunaan sistem.
Untuk penerapan, penulis
memanfaatkan arsitektur client-server yang dimana ada sebuah komputer
sebagai database server dan ada
komputer yang berstatus client.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
28
Operating Sistem : Windows Database Server : Microsoft SQL
Server 2000 Parser : Microsoft
Visual Basic 6
Gambar 2. Desain Arsitektur
SIMLAB
Dari desain arsitektural, deliverable
yang dihasilkan adalah Data Flow
Diagram dengan menyertakan teknologi yang dipakai. DFD yang akan
digambarkan dimulai dari diagram
konteks, level 1, dan diagram rinci proses.
3.4. Rancangan DFD
Diagram sistem yang diusulkan ini terdapat empat entitas sebagai pelaku
luar dari sistem, adapun sistem yang
tergambar pada gambar 3 sebagai
berikut :
Gambar 3. Diagram Konteks Sistem
Yang Diusulkan
3.5. Hirarki Modul Perangkat Lunak
Secara umum, perangkat lunak
mempunyai menu utama yang menampilkan tujuh pilihan submenu,
yaitu: File, Data master, Administrasi,
Kegiatan, Inventaris, Laporan,dan
Tentang lihat pada Gambar 4.
Gambar 4. Bagan Menu Perangkat Lunak Sistem
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
29
3.6. Prosedur Operasional
1. Login dan logout Login user dibedakan menjadi
empat jenis, yaitu: admin, staff
administrasi, laboran dan pimpinan. User harus melakukan
proses login bila ingin masuk ke
dalam sistem. Setelah masuk ke
dalam sistem user dapat memasukan data, mengedit data,
menghapus data, melihat data atau
mencetak laporan. Operasi pada data tersebut tergantung pada
peran user. Fungsi logoff
digunakan bila user ingin keluar dari proses autentifikasi sistem.
2. Data
Menu data master berisikan data-
data entitas yang diperlukan oleh sistem. Data pada menu ini terdiri
laboratorium, pengelola
laboratorium, dosen, teknisi, mahasiswa, dan praktikum. Pada
form menu ini user dapat
melakukan operasi memasukan,
mengubah, menghapus, mencari data atau mencetak laporan. User
yang bisa mengakses ini hanya
admin dan staf administrasi. 3. Administrasi
Menu administrasi berisikan data
administrasi pada SIMLAB berupa data surat masuk, surat
keluar, kelengkapan akademik
laboran,dan absensi. Form menu
ini hanya bisa memasukan data dan proses pencarian. Menu ini
hanya bisa diakses oleh admin dan
staff administrasi 4. Kegiatan
Menu ini digunakan oleh laboran
untuk memasukan data kegiatan-kegiatan yang ada di laboratorium.
Kegiatan tersebut berupa
pengajaran, penelitian, pengabdian
pada masyarakat, tugas akhir
mahasiswa, dan kegiatan lainya.
5. Peralatan
Menu ini digunakan untuk
mengelola data peralatan yang ada di laboratorium. Pengelolaan
berupa memasukan data inventaris
peralatan laboratorium, mengelola data peminjaman dan
pengembalian alat laboratorium
oleh laboran, mengelola data
kerusakan dan perbaikan oleh teknisi, terakhir memasukan data
pemasok.
6. Laporan Menu ini berisikan laporan
kegiatan yang ada di laboratorium
7. Tentang Berisi data pembuat program dan
deskripsi singkat tentang
SIMLAB.\
8. User
Menu ini akan menampilkan form user
jika. Form ini digunakan untuk mengelola data user.
3.7. Implementasi Perangkat Lunak
Sistem
SIMLAB ini diimplementasikan di
laboratorium Komputer Dasar 1A sebagai tempat uji coba. Laboratorium
ini dipilih karena penulis mempunyai
akses penuh penggunaan laboratorium. Selain itu juga di laboratorium tersebut
memiliki infrastruktur yang dibutuhkan
Perangkat keras yang dibutuhkan antara
lain sebagai berikut : 1. Satu perangkat komputer server
lengkap dengan spesifikasi :
Pentium 4 2,66 GHz, RAM 512 MHz, Harddisk 40 Gbyte.
2. Satu perangkat komputer client
lengkap dengan spesifikasi : Pentium 4 1,8 GHz, RAM 512
MHz, Harddisk 40 Gbyte.
3. Satu buah switch hub
4. Kabel UTP dan konektornya.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
30
Perangkat lunak yang digunakan antara
lain sebagai berikut :
1. Sistem Operasi Windows Server 2003 dan Windows XP
Profesional
2. Microsoft Visual Basic 6. 3. Microsoft SQL Server 2000.
3.7.1.Tampilan Sistem
a. Tampilan Login
Tampilan sistem ini merupakan tampilan
login dari SIMLAB Fasilkom Unsri,
berisi halaman login untuk masuk ke menu utama dari SIMLAB Fasilkom
Unsri. Selain itu juga di tampilkan form
dosen sebagai uji coba.
Gambar 5. Tampilan Halaman Login
b. Tampilan Menu Utama
Menu utama digunakan untuk memilih
form-form yang ada di di SIMLAB.
Gambar 6. Menu Utama
c. Form Dosen
Form dosen digunakan untuk mengelola data dosen seperti penyimpanan,
pengubahan, penghapusan data. Pada
form ini juga dilengkapi dengan
pencarian dan pencetakan data.
Gambar 7. Form Dosen
d. Form Konfirmasi Laporan
Form Konfirmasi Laporan digunakan untuk menampilkan opsi pencetakan
laporan. Laporan dicetak berdasarkan
opsi semua, aktor pelaksana, dan periode waktu.
Gambar 8. Form Konfirmasi Laporan
3.8.Testing
Pengujian dilakukan pada perangkat
lunak itu sendiri. pengujian Black-Box
memang di desain untuk mengungkap kesalahan, selain itu digunakan untuk
memperlihatkan bahwa fungsi-fungsi
perangkat lunak adalah operasional. Bahwa input diterima dengan baik dan
output dihasilkan dengan tepat, dan
integritas seperti file data dipelihara.
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
31
Black box testing disebut juga sebagai
behavioral testing, fokus dalam
pengujian ini adalah pada fungsionalitas
requirements dari sebuah perangkat lunak.
Black-box testing bertujuan
mencari error-error sebagai berikut: 1. Fungsi yang salah atau hilang
2. Error antarmuka
3. Kesalahan di struktur data atau akses
basis data eksternal
4. Kesalahan tingkah laku
5. Kesalahan inisialisasi dan terminasi
Berikut tabel testing untuk beberapa form fungsi requirement:
NO Test Items Hasil yang
Diharapkan
Hasil
Sebenarnya
Keterangan
A Test Untuk
Login
A1 Login dengan
Username salah
dan Password salah
Sistem
menampilkan
warning text “Username &
Password Salah”
Sistem
menampilkan text
“Username & Password Salah”
Sesuai yang
diharapkan
A2 Login dengan
Username benar dan password
salah
Sistem
menampilkan warning text
“Username &
Password Salah”
Sistem
menampilkan warning text
“Username &
Password Salah”
Sesuai yang
diharapkan
A3 Login dengan Username salah
dan password
benar
Sistem menampilkan
warning text
“Username & Password Salah”
Sistem menampilkan
warning text
“Username & Password Salah”
Sesuai yang diharapkan
A4 Login dengan
Username benar
dan Password benar
Sistem
menampilkan
halaman utama sistem
Sistem
menampilkan
halaman utama sistem
Sesuai yang
diharapkan
A5 Login dengan
status Admin
Sistem
menampilkan semua menu
dalam sistem
Sistem
menampilkan semua menu
dalam sistem
Sesuai yang
diharapkan
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
32
4. KESIMPULAN
1. Kekurangan sistem administrasi COMLAB yang sedang digunakan
adalah masih menggunakan sistem
2. manual. Sehingga untuk
menambah data langsung
menambahnya pada file Microsoft Excel yang digunakan. Proses
mengubah data ataupun
menghapus data pada sistem harus mencari secara manual data yang
bersangkutan. Hal ini
menyebabkan waktu pelaksanaan dan pengolahan data menjadi tidak
efektif dan tidak efisien.
Kelebihan sistem sekarang yang
sedang digunakan COMLAB adalah penggunaannya lebih
mudah.
3. Sistem yang ditawarkan ini memberikan alternatif bagi
COMLAB untuk mempermudah
melakukan pengolahan data mulai
dari entry data, edit data ataupun menghapus data dan melakukan
backup dan recovery. Kelebihan
sistem yang ditawarkan ini ada filterisasi dan klasifikasi pada tiap
data yang dimasukkan.
5. SARAN
Saran yang dapat penulis berikan untuk
pengembangan sistem antara lain :
• Sistem dapat dikembangkan secara
kompleks untuk bagian inventaris
barang di laboratorium.
• Sistem ini dapat digabungkan
dengan integrasi SIMAK Fasilkom Unsri.
• Pengembangan selanjutnya
sebaiknya berbasiskan web based,
karena dengan dengan
berbasiskan web based SIMLAB
akan lebih fleksibel.
6. DAFTAR PUSTAKA
Febrian, Jack. 2004. Pengetahuan
Komputer dan Teknologi Informasi. Informatika, Bandung.
Kristanto, Andri. 2004. Rekayasa
Perangkat Lunak (Konsep Dasar).
Gava Media, Yogyakarta. NN. 2006. Email diakses dari
http://penataanruang.pu.go.id/ta/L
apak05/P1/1/ Lamp1.pdf tanggal 30-05-2008 pukul 11:20.
Presman, Roger. S. 2002. Rekayasa
Perangkat Lunak : Pendekatan Praktis (buku I). Andi,
Yogyakarta.
Sommerville, Ian. 2003. Software
Engineering (Rekayasa Perangkat Lunak). Erlangga, Jakarta.
Whitten, Jeffery L. 2004. Metode
Desain dan Analisis Sistem. Andri, Yogyakarta.
Ganiardi, Afrina, Novianti, Rancang Bangun Perangkat ...
21
1. M. Fachrurrozi, M.Kom Tenaga Pengajar Fakultas Ilmu Komputer
33
Peningkatan Fungsionalitas Perangkat Lunak Melalui
Restrukturisasi Data : Sistem Informasi Akademik
Fakultas Ilmu Komputer Universitas Sriwijaya
M. Fachrurrozi
Jurusan Teknik Informatika,
Fakultas Ilmu Komputer
Universitas Sriwijaya,
Abstrak
Bagian penting di dalam kegiatan akademik di suatu perguruan tinggi. Adanya
keinginan untuk meningkatkan fungsionalitas perangkat lunak, berdampak
terhadap data yang ada di sistem lama, sehingga data tersebut perlu untuk
dipertahankan untuk dapat digunakan di sistem baru nantinya. Salah satu
metode yang dapat dipakai adalah Restrukturisasi Data. Restrukturisasi data ini
dilakukan dengan beberapa tahapan, yaitu mendeteksi database smells yang ada
di sistem lama, rekayasa ulang data berdasarkan database smells yang
ditemukan, implementasi hasil yang diperoleh serta melakukan pengujian
terhadap data yang telah dipindahkan ke lingkungan DBMS yang baru.
Kata kunci : Restrukturisasi data, Database Smells, DBMS
Abstract
Academic Information system is one important part in college’s academic
activity. System must be able to accommodate changes due to technology and
data amount growth and improvement, so change in software must be made to
improve its functionality. This change can affect data that exist in old system,
thus data have to be protected so it can be used in new system later. One usable
method is data restructuring. Data restructuring is conducted with some steps,
consist of database smells detection in legacy system, data reengineering based
on found database smells, implementation of reengineering result , and
conducting test to data in it’s new DMBS environment.
Keywords : Data Restructuring, Database Smells, DBMS
1. PENDAHULUAN
SEBAGAI salah satu perguruan tinggi
negeri, Universitas Sriwijaya (Unsri) terus menerus melakukan peningkatan
mutu pendidikan, baik dari sisi internal
maupun eksternal. Dari sisi internal,
Unsri terus mengembangkan sistem administrasi dan mutu pendidikan salah
satunya dengan cara meningkatkan
fasilitas-fasilitas administrasi dan
pembelajaran. Salah satu fasilitas yang
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
34
telah dikembangkan oleh Unsri dari sisi
internal adalah Sistem Informasi
Akademik (Simak), yaitu sistem
informasi yang melayani seluruh proses kegiatan akademik dari awal hingga
akhir perkuliahan.
Seiring berjalannya perkuliahan,
ditemukan beberapa permasalahan yang
timbul dari perangkat lunak dengan
menggunakan sistem basisdata Simak
tersebut antara lain sulitnya melakukan
perunutan (tracing) proses, sulitnya
menerbitkan data mahasiswa dan dosen,
sulitnya pengelolaan nilai akademik
mahasiswa jika mahasiswa mengulang
pada mata kuliah tertentu. Hal ini
disebabkan salah satunya karena tidak
adanya rancangan data yang jelas akibat
dari proses pembangunan yang
dilakukan dengan metode AdHoc.
Metode Ad Haus adalah metode
pembangunan yang langsung membuat
program tanpa ada dokumen
penyertanya.
Kemudian yang paling diperhatikan
adalah dari sisi efektivitas waktu
maupun biaya, antara lain penggunaan
kertas untuk formulir pengisian KRS
mahasiswa yang kemudian discan
dengan mesin OMR. Munculnya
teknologi-teknologi baru memberikan
pilihan untuk melakukan peningkatan
fungsionalitas terhadap sistem lama
tersebut. Penampungan data yang lebih
luas serta tingkat keamanan yang
ditawarkan oleh beberapa DBMS
relasional dan aplikasi yang berbasiskan
web yang memudahkan untuk
melakukan kegiatan secara bersamaan di
tempat yang berbeda.
Dari berbagai permasalahan dan
pemikiran di atas maka muncul
kebutuhan baru (tambahan) dari
perangkat lunak ada. Kebutuhan baru
tersebut itu meliputi beberapa
penambahan fungsionalitas perangkat
lunak. Peningkatan fungsionalitas itu
sendiri mencakup penambahan beberapa
layanan fungsi dan pemanfaatan
teknologi baru sehingga kegiatan
akademik dapat dioptimalkan baik dari
sisi waktu maupun biaya..
Untuk meningkatkan fungsionalitas
perangkat lunak tersebut akan dilakukan
beberapa langkah untuk mengakomodasi
kebutuhan baru, salah satunya melalui
restrukturisasi data. Restrukturisasi data
adalah salah satu metode yang
melibatkan perubahan unit dari analisis
kumpulan data, diikuti dengan
pembuatan variabel-variabel yang
signifikan kepada unit-unit yang baru.
1.1. Restrukturisasi Data
Tujuan utama dari restrukturisasi data
adalah melakukan struktur ulang terhadap data guna mendapatkan
lingkungan data yang teratur dan
tersusun dengan baik. Proses ini
melibatkan analisa dan reorganisasi terhadap struktur data (kadang-kadang
nilai-nilai data), bisa merupakan bagian
dari proses perpindahan dari sistem file-based ke sebuah lingkungan DBMS,
atau perubahan dari DBMS satu ke
DBMS lainnya.
Gambar 1. Restrukturisasi data
Strategi yang dapat dilakukan untuk
melakukan restrukturisasi data yaitu:
1)Schema Conversion; 2)Data
Conversion; 3)Program Modification.
Terdapat dua jenis proses konversi
M. Fachrurrozi, Peningkatan Fungsionalitas ...
35
skema pada legacy system, yaitu:
1)transformasi Source Physical Schema
(SPS) ke Target Physical Schema
(TPS); 2)transformasi SPS ke
Conceptual Schema (CS).
Gambar 2. Proses Konversi Skema
1.1. REFACTORING BASISDATA
(DATABASE REFACTORING)
Refactoring Basisdata adalah perubahan
sederhana pada skema basisdata untuk meningkatkan desain dalam
mempertahankan segi perilaku maupun
informasi dalam kode semantic, dengan kata lain tidak menambahkan
fungsionalitas baru atau memperlebar
fungsionalitas yang ada, tidak juga menambahkan data atau mengubah
makna data.
1.2. Database Smells
Fowler (1997) memperkenalkan konsep
“code smells”, sebuah strategi umum
untuk mencari masalah yang ada di
dalam kode, sehingga muncul kebutuhan
untuk merefactor-nya. Serupa dengan
itu, terdapat “database smells” yang juga
muncul kebutuhan serupa. Smell
basisdata meliputi: 1)Multipurpose
column; 2)Multipurpose table;
3)Redundant data; 4)Tables with too
many columns; 5)Tables with too many
rows; 6)"Smart" columns; 7)Fear of
change.
2. FITUR PERANGKAT LUNAK
Sistem informasi akademik Fakultas
Ilmu Komputer Universitas Sriwijaya
(Simak Fasilkom Unsri) ini menggunakan basis data berjenis
indexed file based dengan ekstensi
dBase file (.dbf) dan berusaha mengikuti
kaidah pendekatan relasional.
Secara umum Simak memiliki
fungsionalitas yang hampir sama dengan
sistem informasi perguruan tinggi
lainnya. Simak ini melayani beberapa kegiatan administrasi akademik antara
lain yaitu: 1)Pendataan identitas
mahasiswa melalui scanner OMR; 2)Pendataan mata kuliah secara manual;
3)Pengisian Kartu Rencana Studi (KRS)
dan kartu Perubahan Rencana Studi
(KPRS) melalui scanner OMR; 4)Penerbitan Kartu Studi Mahasiswa
(KSM); 5)Pengolahan nilai akademik
mahasiswa; 6)Penerbitan Kartu Hasil Studi (KHS); 7)Penerbitan Daftar
Kumpulan Nilai (DKN); 8)Penerbitan
Transkrip Nilai Akhir (TNA).
3. DETEKSI SMELL BASISDATA
Data Redundan; Berdasarkan struktur
data Simak akan memungkinkan sekali terjadinya data yang redundan. Beberapa
kolom yang berisikan informasi dari
tabel tertentu muncul di tabel yang lain
seperti yang digambarkan di Tabel 1.
Tabel 1. Data Redundan
N
O
Kolom/
Informasi
Tabel Frekuensi
1 NAMA Mhs_XXX, 3
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
36
TRANSKRIP_XXX,
KHS_XXX
2 NAMA,
NAMAPA
Dosen_D3,
KHS_XXX
2
3 NAMA_MK
NMKX
MK_XXX
KHS_XXX
2
Tabel yang memiliki terlalu banyak kolom; Tabel yang memiliki terlalu
banyak kolom akan memberikan
kesulitan dalam akses data melalui program serta kecepatan akses ke data
tersebut. Smell ini juga memungkinkan
sebuah kolom dapat bernilai kosong
(nullable). Berdasarkan Tabel 1 ada beberapa tabel yang dianggap memiliki
kolom yang terlalu banyak, yaitu seperti
yang terlihat di Tabel 2 di bawah ini.
Tabel 2. Tabel Yang Memiliki Terlalu
Banyak Kolom
No Nama File Jumlah
kolom
1 KRS_XXX.dbf 18
2 KHS_XXX.dbf 121
3 Transkrip_XXX.dbf 707
Tabel yang memiliki terlalu banyak baris; Di dalam Simak ada beberapa
tabel yang memungkinkan memiliki
baris yang semakin bertambah seiring
banyaknya mahasiswa dan kegiatan akademik masing-masing mahasiswa.
4. KEBUTUHAN FUNGSIONAL
SISTEM BARU
Adapun spesifikasi kebutuhan
fungsional di sistem baru adalah:
1)Sistem dapat melayani mahasiswa
melakukan pengisian KRS atau KPRS
per semester secara online (FCS01);
2)Sistem dapat melayani dosen PA melakukan persetujuan isian KRS dan
KPRS secara online (FCS02); 3)Sistem
dapat melayani dosen memasukkan nilai mahasiswa per kelas per semester secara
online (FCS03); 4)Sistem dapat
mengolah nilai sesuai dengan aturan
perkuliahan (FCS04); 5)Sistem dapat menerbitkan KSM, KHS, DNA dan
TNA (FCS05); 6)Sistem dapat
menerbitkan nilai mahasiswa per matakuliah per semester (FCS06);
7)Sistem dapat melayani mahasiswa
mengambil beberapa matakuliah dari
jurusan lain (FCS07).
5. KEBUTUHAN NON
FUNGSIONAL SISTEM BARU
Adapun spesifikasi kebutuhan non
fungsional di sistem baru adalah:
1)Sistem yang berbasiskan web (web based) (FCS07); 2)Tidak menggunakan
scanner OMR lagi (FCS08);
3)Mahasiswa mengisi KRS dan KPRS
langsung secara online (FCS09); 4)Sistem dapat digunakan di jaringan
lokal saja (intranet), namun ada
kemungkinan akan menjadi jaringan internet (FCS10); 5)Kemungkinan
sistem baru ini akan dikembangkan ke
tingkat universitas (FCS11); 6)Data yang ada di sistem lama dapat
dikonversi dan dipindahkan ke sistem
baru semaksimal mungkin dengan
menjaga informasi yang ada di
dalamnya (FCS12).
M. Fachrurrozi, Peningkatan Fungsionalitas ...
37
6. REKAYASA ULANG BASISDATA
Kemudian dibuat rancangan untuk sistem baru yang dinamakan Facis. Facis
ini merupakan hasil rekayasa ulang dari
sistem lama (Simak). Hasil rekayasa ulang meliputi program, data dan
dokumentasi. Namun pada tesis ini akan
dibahas hanya pada sisi basisdatanya
saja.
Data merupakan suatu informasi yang sangat penting untuk sebuah sistem,
salah satunya karena terkait dengan
pengambilan keputusan. Di dalam sebuah sistem, data biasanya disimpan
dalam bentuk tertentu. Seperti yang
telah dijelaskan di bab sebelumnya, untuk Simak, data disimpan dalam
bentuk file (DBF File) dan diolah
dengan program. Data yang ada di
Simak tidak dimasukkan ke dalam lingkungan DMBS tertentu, seperti
MySQL atau Oracle, serta ditemukan
beberapa “smells” yang berpengaruh pada performansi dan kualitas data yang
ada di Simak.
Berdasarkan Simak ini dirancang sebuah
sistem baru yaitu Facis yang diharapkan
akan memberikan peningkatan
fungsionalitas tertentu melalui
restrukturisasi data yang ada di Simak
tersebut. Basisdata yang digunakan di
Facis akan mengikuti kaidah basisdata
relasional dan dimasukkan ke dalam
lingkungan DBMS MySQL. Dengan
tidak menghilangkan fitur utama yang
ada di Simak serta adanya peningkatan
fungsionalitas, semua data yang ada di
Simak dikonversi (data convertion) dan
dimasukkan (data migration) ke dalam
Basisdata baru yang telah dibuat.
7. IMPLEMENTASI DAN
PENGUJIAN BASISDATA
Setelah tahap perancangan, akan
diuraikan proses implementasi hasil
rancangan tersebut ke dalam lingkungan
DBMS yaitu MySQL 5.0. Tahap
implementasi ini meliputi proses
konversi dan migrasi data serta pengujian data hasil migrasi data Simak
ke Facis.
Adapun tahapan-tahapan yang dilakukan dalam proses implementasi rancangan
basisdata, yaitu: 1)Implementasi
diagram fisik yang diperoleh dari hasil
restrukturisasi data; 2)Migrasi data; tahap ini merupakan tahap pemindahan
data Simak yang ada ke dalam
lingkungan DBMS Facis. Pada tahap pengujian basisdata,
dilakukan pengujian terhadap basisdata
yang baru dengan menggunakan data lama yang telah dipindahkan. Pengujian
ini bertujuan untuk melihat apakah data
yang telah dipindahkan dapat
menghasilkan keluaran yang sesuai dengan kebutuhan dan tidak mengubah
data yang dihasilkan di Simak.
8. KESIMPULAN
Sistem Informasi Akademik (Simak) Fasilkom Unsri dibuat tidak sepenuhnya
menerapkan proses rekayasa perangkat
lunak, karena Simak hanya terdiri dari
program dan data, namun dokumentasinya tidak tersedia; Dengan
tidak tersedia dokumentasi, ditemui
beberapa kesulitan dalam melakukan proses rekayasa ulang perangkat lunak
tersebut, antara lain sebelum melakukan
rekayasa ulang, harus ditelusuri ulang dari awal hingga akhir setiap proses
yang ada di sistem tersebut.; Pada proses
migrasi data perlu diperhatikan
karakteristik-karakteristik dari sistem lama, antara lain mengenai format
penanggalan yang diterapkan
sebelumnya.
9. REFERENSI
Ambler, Scott W, Pramod J. Sadalage, 2006. Refactoring Databases:
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
38
Evolutionary Database Design,
Addison Wesley Professional.
Bultan, Tevfik, 2004. CMPSC 172:
Software Engineering – Software Maintainance.
Dwiantoro, Tino, Materi ke-02: Sistem
Basis Data, www.dwiantoro.com. Hainaut, Jean-Luc, 1998. Database
Reverse Engineering, Database
Applications Engineering
Laboratory, Institut d’Informatique, University of
Namur.
Hainaut, Jean-Luc, Jean Henrard, J-M Hick, D. Rolan, V. Englebert,
1996. Database Design Recovery,
Database Applications Engineering Laboratory, Institut
d’Informatique, University of
Namur.
Henrard, Jean, Jean-Marc Hick, Philippe Thiran, Jean-Luc Hainaut,
Strategies for Data
Reengineering, Database Applications Engineering
Laboratory, Institut
d’Informatique, University of
Namur. Pressman, Roger S, 2005. SOFTWARE
ENGINEERING, A Practitioner’s
Approach sixth edition, Mc Graw Hill.
Ranmuthugala, M.H.P, Software
Engineering, www.cse.mrt.ac.lk/lecnotes/cs302/ .
Sommerville, Ian, 2005. SOFTWARE
ENGINEERING 6th Edition,
Addison Wesley. Toft Hansen, Kjell, 2002, Introduction
to Database, Distance Learning
from NVU-AITeL. http://dev.mysql.com/tech-
resources/articles/storage
engine/part_2.html
M. Fachrurrozi, Peningkatan Fungsionalitas ...
39
1. Megah Mulya, M.T. Asisten Ahli Fakultas Ilmu Komputer
2. Sukemi, M.T. Asisten Ahli Fakultas Ilmu Komputer
39
Penggunaan Dll Untuk Meningkatkan Modularitas Dan
Portabilitas Perangkat Lunak Yang Dikembangkan
Dengan Paradigma Berorientasi Obyek
Megah Mulya & Sukemi
Jurusan Teknik Informatika
Fakultas Ilmu Komputer
Universitas Sriwijaya Palembang
Jurusan Sistem Komputer
Fakultas Ilmu Komputer Universitas Sriwijaya
Abstrak
Kualitas perangkat lunak yang dikembangkan dengan paradigma berorientasi
obyek (berisi kelas) perlu ditingkatkan berkaitan dengan kemudahan perawatan
dan kemudahan dipindahkan antar lingkungan (bahasa pemrograman/ aplikas/
kompilator) yang berbeda. Sementara itu terdapat teknologi dynamic link library
(DLL) yang dikembangkan oleh perusahaan Microsoft untuk sarana sharing
antar aplikasi terhadap fungsi yang dibuat dengan bahasa C (paradigma
prosedural). Penelitian ini berusaha menjawab kebutuhan tersebut melalui kajian
modularitas dan portabilitas dengan menerapkan teknologi DLL.. Metodologi
penelitian ini meliputi kajian pustaka terhadap modularitas, portabilitas, DLL
yang dilanjutkan dengan menerapkan hasil kajian tersebut kedalam perangkat
lunak yang dikembangkan dengan Borland C++ Builder dan Borland Delphi.
Dari kajian dan penerapan tersebut menghasilkan kesimpulan bahwa DLL dapat
digunakan untuk meningkatkan modularitas dan portabilitas perangkat lunak
yang dikembangkan dengan paradigma berorientasi obyek. Peningkatan modularitas diperoleh dari karakteristik DLL yang memiliki tingkat kohesi tinggi
dan kopling rendah. Peningkatan portabilitas dengan DLL dapat diperoleh
dengan cara sharing kelas atau melalui sharing obyek.
Katakunci: DLL, modularitas, portabilitas
Abstract
The software qualiy developed with object oriented paradigm (contain class) need
increase in term of easy mantaince and easily migration to diferent environments
Meanwhile there was the Dynamic Link Library (DLL) technologi developed by
Mirosoft as a mean of inter-application sharing to function developed using C
language This research tried to meet the needs through modularity and
portability observation by implementing DLL technology. The methodology of
this reaserch are library research to modularity, portability and DLL which were
continued by implementing the analysis on the software developed with Borland
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
40
C++ Builder and Borlan Delphi. From these analysis and inplementation it can
be concluded that DLL can use for increment modularity and portabilty of
software is developed by object oriented paradigm. The increase of modularity was
produced by DLL character which have hight cohession and low coupling. The
increase of portability was produced through class sharing or object sharing.
Keyword: DLL, modularity, portability
1. PENDAHULUAN
Paradigma berorientasi obyek dewasa
ini telah menjadi tren karena memiliki kelebihan-kelebihan yang dapat
meningkatkan kualitas perangkat lunak
hasil rekayasa dan efisiensi proses
rekayasa. Sementara itu modularitas dan portabilitas merupakan masalah penting
karena merupakan atribut perangkat
lunak yang berkualitas (Sommerville, 2004 ). Modularitas dan portabilitas
yang dihasilkan paradigma ini masih
perlu ditingkatkan berkaitan dengan : 1. Diperlukan portabilitas agar kelas
mudah dipindahkan dari satu
kompilator dengan bahasa tertentu
ke kompilator lain dengan bahasa berbeda.
2. Kelas yang umum dipakai oleh
beberapa aplikasi perlu pemeliharaan (maintaince) untuk
keperluan perubahan yang
berkaitan dengan koreksi atau
penyempurnaan (correctif dan perfectif).
Dynamic Link Library merupakan pustaka dinamis yang berisi fungsi-
fungsi yanga dipakai bersama oleh
aplikasi-aplikasi. Fungsi-fungsi tersebut merupakan hasil pengembangan dengan
paradigma prosedural. Konsep dynamic
link library tersebut diharapkan dapat
mengatasi permasalah-permasalah didalam pengembangan perangkat lunak
dengan paradigma berorientasi obyek.
Dengan memberikan solusi terhadap
kekurangan-kekurangan tersebut maka modularitas dan portabilitas perangkat
lunak yang dikembangkan dengan
paradigma berorientasi obyek dapat
lebih ditingkatkan lagi, sehinga dapat meningkatkan kualitas perangkat lunak.
Permasalahan di dalam penelitian ini
dibatasi untuk pengembangan perangkat lunak dengan paradigma berorientasi
obyek dalam lingkungan sistem operasi
Windows. Batasan tersebut perlu ditegaskan karena konsep dynamic link
library hanya dikenal pada lingkungan
sistem operasi Windows. Selain itu
sebagai kasus uji didalam penelitian ini juga dibatasi implementasinya pada
pembuatan DLL dengan Borland C++
Builder yang akan diakses dari program yang dibuat dengan Borland C++ itu
sendiri dan dan Borland Delphi.
2. DASAR TEORI
2.1. Modularitas dan Portabilitas
Perangkat Lunak
Modularitas dan portabilitas merupakan faktor penting karena termasuk atribut
kualitas perangkat lunak (Sommerville,
2004).
Modularitas berasal dari kata modul. Modul adalah bagian perangkat lunak
yang besar yang dipecah menjadi bagian
kecil-kecil dengan diberi nama dan
pengalamatan memori berbeda-beda. Modul-modul tersebut kemudian
diintegrasikan untuk membentuk
perangkat lunak yang dapat memenuhi kebutuhan dari suatu persoalan
Mulya & sukemi, Penggunaan Dll Untuk Meningkatkan Modularitas....
41
(Pressman, 2005). Definisi lain, modul
adalah komponen perangkat sistem yang
menyediakan layanan untuk komponen
yang lain, tetapi mungkin tidak akan bekerja secara normal jika diperlakukan
sebagai sistem yang terpisah
(Sommerville, 2004). Sedangkan modularitas berarti tingkat atau kualitas
suatu modul.
Perancangan modular yang efektif
ditentukan oleh beberapa faktor yaitu (Pressman, 2005):
1. Ketidakterikatan antar modul
(functional independence) : setiap modul menangani satu
fungsionalitas dan meminimalkan
interaksi dengan modul lain. Ketidakterikatan antar modul ini
diukur dari dua kriteria secara
kualitatif yaitu kohesi dan kopling.
2. Kohesi (cohesion) : modul yang baik mempunyai kohesi yang tingi
dengan cara merancang satu modul
memiliki satu tugas dan antar elemen didalam modul memiliki
ikatan yag kuat.
3. Kopling (coupling) : modul yang
baik memiliki kopling yang rendah. Disain perangkat lunak yang baik
harus membuat sekecil mungkin
interaksi antar modul.
Modularitas merupakan aspek penting
dalam pengembangan peangkat lunak karena beberapa pertimbangan (Abreu-
Poels-Sahraoui-Zuse, 2003):
1) Memperjelas pengorganisasian
perancangan dan pengembangan oleh suatu team pe ngembang.
2) Mengurangi kompleksitas sistem
yang besar. 3) Memberi kemudahan pengujian
parallel secara simultan.
4) Mengurangi resiko perbaikan suatu bagian terhadap bagian lain dalam
sistem.
5) Kebutuhan penggunaan kembali
(reuse) suatu bagian perangkat
lunak.
6) Kemudahan kontrol unit-unit sistem. 7) Perlu pembatasan perambatan
kesalahan (error propagation).
Portabilitas berasal dari kata port, yang
menjadi sarana komputer untuk
berkomunikasi dengan dunia luar.
Bagian program dikatakan portable jika dapat dijalankan di dalam lingkungan
perangkat keras dan atau pada perangkat
lunak yang berbeda-beda (Sanchez and Canton, 2008).
Portabilitas adalah kemudahan suatu
perangkat lunak untuk dipindahkan/ dioperasikan dari suatu lingkungan
(environment) ke lingkungan lain yang
berbeda.. Lingkungan yang berbeda
dapat berarti perangkat keras yang berbeda atau perangkat lunak yang
berbeda (Pressman, 2005).
Portabilitas penting karena meminimalkan usaha (biaya)
perpindahan perangkat lunak antar
lingkungan. Keputusan penggunaan
beragam bahasa pemrograman selalu berakibat mengorbankan portabilitas
sehingga diperlukan teknik yang tinggi
untuk mengatasi masalah tersebut (Sanchez and Canton, 2008).
2.2. Paradigma Berorientasi Obyek
Paradigma berorientasi obyek adalah
suatu cara mengorganisasikan perangkat lunak sebagai kumpulan obyek-obyek
yang memiliki sifat (struktur data) dan
perilaku (fungsi) yang saling berinteraksi melalui pesan (message)
(Rumbaugh-Blaha-Premerlan-Eddy-
Lorensen, 1991). Konsep yang menjadi pilar paradigma
berorientasi obyek adalah : abstarksi
(abstraction), pembungkusan
(encapsulation), pewarisan
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
42
(inheritance), kebanyakrupaan
(polymorphism). (Alhir, 1998).
Abstraksi direpresentasikan sebagai
kelas (class). Kelas digunakan untuk instansiasi obyek yang membungkus
data dan fungsi menjadi suatu black box.
Dengan cara itu maka obyek memiliki tingkat kohesi yang tingi dan kopling
rendah.
2.2.1. Obyek dan Kelas
Obyek (object) adalah representasi dari
entitas sebagai sarana pembungkusan karakteristik struktural yang disebut
atribut (attribute) dan karakteristik
perilaku yang disebut operasi (operation/methode). Atribut
merepresentasikan karakteristik entitas
yang menentukan keadaan (state) suatu
obyek. Operasi Merepresentasikan perilaku obyek jika menerima pesan
(message). Operasi dapat berupa
prosedur atau fungsi yang hanya dapat diakses dengan menyertakan obyeknya.
Kelas (class) adalah deskripsi dari suatu
obyek pada saat implementasi (coding).
Pembuatan kelas difokuskan kepada implementasi karakteristik dan perilaku
secara umum. Kelas adalah deskripsi
dari obyek dengan atribut, operasi, semantik, asosiasi dan interaksi
(Sanchez and Canton, 2008).
Kelas dapat dipandang sebagai suatu tipe yang didefinisikan pemrogram
sehingga dapat digunakan untuk
deklarasi variabel yang berupa obyek
(instansiasi).
2.2.2. Penurunan Sifat
Penurunan sifat (inheritance) adalah
kemampuan suatu obyek mewarisi sifat-sifat dari obyek yang lain. Kemampuan
ini menghasilkan program yang efisien
karena adanya mekanisme pemakaian
kembali (reusable) kode program (Rumbaugh-Blaha-Premerlan-Eddy
Lorensen, 1991).
2.2.3. Kelas Abstrak
Kelas abstrak adalah kelas yang memliki
operasi yang bersifat virtual C++ menyediakan dua macam operasi virtual
yaitu virtual masih memiliki definisi dan
virtual tanpa definisi (pure virtual). Kelas abstrak adalah kelas yang
memiliki operasi virtual murni sehingga
tidak dapat digunakan untuk instansiasi
obyek dan berperan sebagai antarmuka (interface) (Sanchez and Canton, 2008).
2.3. Dynamic Link Library
Pengembangan perangkat lunak, pada
umumnya menggunakan pustaka yang
berisi fungsi-fungsi yang sering digunakan secara berulang-ulang. File
pustaka digabungkan ke aplikasi pada
saat proses linking. Pada C dan C++ sering menggunakan perintah #include
untuk menyatakan hearder fungsi yang
merujuk pada fungsi-fungsi file pustaka (LIB) (Sanchez and Canton, 2008).
Salah satu karakteristik yang unik dari
Windows adalah dynamic linking.
Sistem operasi Windows dapat menggunakan proses linker
konvensional (proses linker secara
statis) dengan file berekstensi LIB dan dapat secara dinamis menggunakan
dynamic link library (DLL) (Sanchez
and Canton, 2008). DLL berbeda dengan pustaka umum
pada proses linking fungsi dari DLL
secara fisik tidak disalin dan digabung
kedalam executable file tetapi tetap terpisah dan dipanggil oleh executable
file (”client”) pada saat runtime.
Program yang dibuat pemrogram lain dapat menggunakan fungsi yang ada
dalam file DLL dengan mengirimkan
parameter atau menerima nilai balikan
dari fungsi dan selama dapat mengikuti kesepakatan dalam pemangilan fungsi
Mulya & sukemi, Penggunaan Dll Untuk Meningkatkan Modularitas....
43
atau prosedur tersebut. (Sanchez and
Canton, 2008).
2.3.1. Mekanisme Penggunaan DLL
pada Aplikasi Berbasis Windows
Peranan DLL (dari Windows API
ataupun yang dibuat pemrogram) di dalam suatu aplikasi dapat dilihat pada
gambar 1.
Gambar 1. Struktur file program
berbasis windows (Sanchez and
Canton, 2008)
Gambar 2. Mekanisme pemanggilan DLL (Microsoft, 2006).
Terdapat tiga komponen utama model
pengembangan perangkat lunak
menggunakan DLL (Microsoft, 2006) :
1. Library loader : melakukan pemanggilan terhadap DLL secara
efisien dan benar.
2. DllMain entry-point function :
fungsi yang akan dipanggil oleh
library loader pada saat dilakukan load maupun unload terhadap DLL.
Loader melakukan pemangilan
secara serial terhadap DllMain,
sehingga dijamin hanya ada satu DllMain yang dipanggil pada satu
saat.
3. Loader lock : bertangung jawab
melakukan sinkronisasi agar
pemanggilan DLL dilakukan secara
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
44
serial dengan menerapkan
mekanisme penguncian terhadap
struktur data pada library loader.
Skema pemanggilan DLL yang melibatkan ketiga komponen tersebut
ditunjukan oleh gambar 2.
2.3.2. Pembuatan DLL pada
Borland C++
Borland C++ Builder (C++ Builder)
memiliki fasilitas untuk pembuatan DLL. Dengan C++ Builder pembuatan
DLL akan menghasilka selain file
berekstensi DLL juga file berekstensi LIB yang keduanya saling terkait.
Pustaka LIB ini harus digunakan
bersama-sama dengan DLL-nya. (Swart-
Cashman-Gustavson-Hollingworth, 2003).
Pembuatan DLL pada C++ Builder DLL
melalui DLL Wizard secara otomatis menampilkan fungsi DllEntryPoint()..
Jika file sumber program yang akan
dijadikan DLL berekstensi cpp maka harus didahului dengan perintah extern
“C”. Agar fungsi dalam DLL dapat
diakses dari aplikasi lain maka pada
header fungsi harus diawali dengan perintah _declpec( dllexport) (Swart-
Cashman-Gustavson-Hollingworth,
2003).
2.3.3. Pemanggilan DLL dari
Borland C++ Bulider dan Borland
Delphi
Pada C++ Builder maupun Delphi
penggunaan DLL dapat dilakukan
dengan cara statis (static loading) dan dinamis (dynamic loading). Pada
pemanggilan secara statis DLL
dipanggil pada saat aplikasi start up (modul DLL disalin ke memori
komputer) dan akan terus berada di
memori sampai aplikasi berakhir.
Sedangkan pada pemangilan secara
dinamis DLL dipanggil pada saat
aplikasi sudah berjalan pada dan
membutuhkan fungsi/prosedur yang
berada didalam DLL DLL tersebut dapat dibebaskan dari memori sebelum
aplikasi berakhir. (Swart-Cashman-
Gustavson-Hollingworth, 2003) (Cantu,
203).
Pada C++ Builder, pemanggilan DLL
secara statis harus menyertakan header
file (prototipe fungsi) dan menyertakan
LIB file yang menyertai DLL kedalam proyek (dengan project manager).
Sedangkan pemanggilan secara dinamis
dilakukan dengan fungsi LoadLibrary() dan GetProcAddress() serta
membebaskannya dari memori dengan
fungsi FreeLibrary(). (Swart-Cashman-
Gustavson-Hollingworth, 2003) Pada Delphi, pemanggilan DLL secara
statis memerlukan prototipe
fungsi/prosedure dengan kata kunci “external” diikuti nama file DLL.
Sedangkan pemanggilan secara dinamis
melibatkan fungsi SafeLoadLibrary() dan GetProcAddress() serta untuk
membebaskan dari memori dengan
FreeLibrary(). (Cantu, 203).
3. Analisis
3.1. Analisis Peningkatan
Modularitas Menggunaan DLL
Derajat kopling suatu obyek (instansiasi kelas) adalah sangat kecil (bisa nol),
sehingga perbaikan terhadap suatu kelas
tidak akan memberikan akibat apapun
terhadap kelas yang lain (Sommerville, 2004). Dengan rendahnya kopling antar
kelas didalam suatu modul maka
perangkat lunak yang menggunakan modul tersebut memiliki tingkat
modularitas tinggi. Dengan demikian
pengembangan perangkat lunak yang mengunakan paradigma berorientasi
obyek sudah meningkatkan modularitas.
Mulya & sukemi, Penggunaan Dll Untuk Meningkatkan Modularitas....
45
Akan tetapi modularitas pada paradigma
berorientasi obyek masih dapat
ditingkatkan untuk meningkatkan
kemudahan dalam perawatan (maintainable) pada saat modifikasi
terhadap suatu modul. Jika kebutuhan
sistem berubah maka mungkin diperlukan perubahan/penyesuaian
terhadap suatu modul. Jika pada suatu
modul telah dilakukan perubahan maka
harus dilakukan kompilasi terhadap modul yang bersangkutan dan linking
ulang terhadap aplikasi seperti telah
dijelaskan pada bagian 2.3 tentang sifat pustaka statis. Artinya tingkat
keterikatan (independence) modul
dengan aplikasi (program utama) masih tinggi.
Persoalan tersebut dapat diatasi dengan
menjadikannya modul sebagai DLL dan
digunakan dalam proses linking secara dinamis seperti telah diuraikan pada
bagian 2.3. Dengan cara ini maka kelas-
kelas pada pustaka benar-benar dapat dimodifikasi secara terpisah dari
aplikasinya dan hanya perlu dikompilasi
ulang tanpa proses linking. Karena
modul DLL dapat dikelola secara terpisah (independent) dari modul yang
lain maka berarti DLL dapat
meningkatkan modularitas perangkat lunak. Dengan karakteristik ini berarti
DLL juga meningkatkan tingkat
maintainability perangkat lunak terutama untuk dukungan pasca-jual.
Dari bagian 2.3.1 telah dijelaskan
tentang tiga komponen utama pada
model DLL dan tentang pengaturan pada satu saat hanya satu DllMain entry-
point function yang dapat dipanggil.
Mekanisme ini memiliki konsekuensi sebuah fungsi didalam suatu DLL tidak
mungkin memanggil fungsi di dalam
DLL yang lain. Hal ini berarti antar DLL memiliki tingkat kopling yang
rendah (nol).
Karakteristik tersebut mengakibatkan
perancang modul tidak mungkin
meletakkan fungsi-fungsi atau kelas-
kelas yang saling berkaitan (tidak
independence) kedalam beberapa DLL
yang terpisah. Sehingga memaksa perancang modul untuk meletakkannya
kedalam satu modul yang akan dibentuk
menjadi DLL. Kondisi ini berakibat positip dengan meningkatnya tingkat
kohesi didalam modul. Dengan tingkat
kopling yang rendah dan tingkat kohesi
tinggi maka menghasilkan tingkat modularitas dari perangkat lunak
menjadi tinggi. Kondisi ini menghalangi
terjadinya perambatan kesalahan dari suatu modul ke modul yang lain (error
propagation).
3.2. Analisis Peningkatan Portabilitas
Menggunakan DLL
Pada paradigma berorientasi obyek fungsi dan prosedur dibungkus oleh
obyek yang disebut operasi/methode,
sehingga pemanggilanya harus menyertakan obyeknya seperti
dijelaskan pada bagian 2.2.1. Akibatnya
modul yang dikembangkan dengan
paradigma berorientasi obyek yang berisi kelas tidak dapat melakukan
sharing operasi/methode. Jadi pada
dasarnya DLL tidak dapat digunakan untuk meningkatkan modul yang berisi
kelas pada paradigma berorientasi
obyek. Oleh karena itu dibutuhkan suatu teknik supaya keterbatasan penggunaan
teknologi DLL didalam paradigma
berorientasi obyek tersebut dapat diatasi.
3.2.1. Peningkatan Portabilitas Antar
Aplikasi yang Dibuat dengan Bahasa
Pemrograman yang Sama
Didalam pemrograman bahasa C dan
C++ portabilitas kelas dengan cara sharing antar aplikasi dilakukan
menggunakan pustaka statis (static
library) yang biasanya disimpan dalam
file berekstensi LIB seperti penjelasan
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
46
pada bagian 2.3. Pustaka LIB dapat
berisi kelas akan dilakukan proses
linking bersama aplikasi yang akan
menggunakannya. Dengan pustaka LIB aplikasi dapat menggunakan kelas untuk
instansiasi obyek, membuat turunan
kelas baru dan manipulasi polimorfisme. Sharing kelas dengan pustaka statis LIB
ini hanya dapat dilakukan diantara
aplikasi-aplikasi yang dibuat dengan
bahasa C++. Pada pembuatan DLL dengan
kompilator Borland C++ Builder selain
dihasilkan file berekstensi DLL juga dihasilkan file berekstensi LIB seperti
telah dijelaskan di bagian 2.3.2 Dengan
demikian maka DLL dapat digunakan untuk meningkatkan portabilitas
perangkat lunak yang berupa kelas atau
sekumpulan kelas didalam lingkungan
pemrograman C++ dengan cara tetap menyertakan file LIB yang menyertai
DLL tersebut dan tentu saja
menyertakan file header-nya. Peningkatan portabilitas ini hanya
sebatas antar aplikasi yang
dikembangkan dengan bahasa C++.
Selain itu penyertaan file LIB hanya berguna untuk pemanggilan DLL secara
statis seperti diuraikan pada bagian
2.3.3. Dengan demikian portabilitas modul yang berisi kelas yang
dikembangkan dengan paradigma
berorientasi obyek hanya dapat ditingkatkan dengan batasan antar
aplikasi C++ dengan pemanggilan
secara setatis dan bukan antar aplikasi
dengan bahasa pemrograman berbeda.
3.2.2. Peningkatan Portabilitas Antar
Aplikai yang Dibuat dengan Bahasa
Pemrograman Berbeda
Bahasa-bahasa pemrograman selain C++ tidak dapat menggunakan pustaka LIB
dan header file yang berkstensi h.
Dengan keterbatasan tersebut maka
antar bahasa pemrograman tidak dapat
dilakukan sharing kelas melalui DLL.
Tetapi seperti diuraikan pada bagian 2.3
bahwa aplikasi dari bahasa yang
mendukung penggunaan DLL dapat memanggil fungsi didalam DLL tersebut
dengan mengirimkan parameter atau
menerima nilai balikan dari fungsi. Kemampuan DLL ini dapat
dimanfaatkan dengan cara nilai balikan
tersebut berupa obyek. Sedangkan dari
uraian bagian 2.2.1 bahwa obyek merupakan instansiasi dari kelas. Jika
antar aplikasi tidak dapat melakukan
sharing kelas maka jalan keluarnya adalah antar aplikasi harus dapat
melakukan sharing obyek. Agar dapat
dilakukan sharing obyek maka instansiasi obyek dengan kelas harus
dilakukan didalam DLL. Agar obyek
hasil instansiasi didalam DLL tersebut
dapat digunakan oleh apikasi lain maka harus disediakan suatu fungsi yang
memberikan nilai balikan berupa obyek.
Jadi fungsi tersebut akan menjadi sarana agar kelas-kelas didalam modul DLL
dapat digunakan aplikasi lain walaupun
tidak secara langsung tetapi melalui
sharing obyek. Pemecahan masalah dengan sharing
obyek mengharuskan perancang modul
DLL untuk meletakkan kelas dan fungsi didalam DLL. Hal ini menimbulkan
masalah baru yang berupa batasan
aplikasi-aplikasi yang akan melakukan sharing modul DLL harus
dikembangkan dengan bahasa
pemrograman yang mendukung
paradigma berorientasi obyek sekaligus mendukung paradigma prosedural.
Sharing obyek hanya dapat dilakukan
untuk aplikasi-aplikasi yang dikembangkan dengan bahasa
pemrograman yang mendukung
paradigma berorientasi obyek dan prosedural (hybrid).
Mulya & sukemi, Penggunaan Dll Untuk Meningkatkan Modularitas....
47
4. IMPLEMENTASI
Pada penelitian ini teknologi DLL
diterapkan dalam pengembangan
perangkat lunak yang mengimplementasikan algoritma
Blowfish dengan nama modul
ClassCipher.dll. Modul DLL berisi kelas Cipher dengan methode Encrypt() dan
Decrypt(). Selain itu untuk sarana
sharing obyek disediakan fungsi
CreateMyObject(). Peningkatan modularitas aplikasi
pengguna DLL akan berdampak positip
jika fungsi/methode penyusun implementasi Blowfish atau modul lain
terdapat kesalahan (error) maka tidak
akan berpengaruh diantara modul-modul tersebut. Artinya tidak terjadi
perambatan kesalahan antar modul
(error propagation). Selain itu terdapat
dampak lain yaitu jika ClassCipher.dll diubah mengimplementasikan algoritma
Kriptografi yang berbeda tidak akan
mengganggu aplikasinya (tanpa perlu dilakukan proses link ulang.
Aplikasi pemakai modul ClassCipher.dll
berupa simulasi transmisi data yang
melibatkan proses enkripsi dan dekripsi. Aplikasi tersebut dikembangkan dengan
C++ Builder dan Delphi. Peningkatan
modularitas ditunjukkan melalui analisis terhadap modul ClassCipher.dll.
Sedangkan peningkatan portabilitas
ditunjukkan melalui analisis modul ClassCipher.dll dan pengembangan
aplikasi yang menggunakan DLL
tersebut.
Apikasi yang menggunakan ClassCipher.dll terdiri dari empat
aplikasi simulasi. Aplikasi pertama
dikembangkan dengan C++ Builder berhasil menunjukkan peningkatan
portabilitas melalui sharing kelas.
Aplikasi kedua dikembangkan dengan C++ Builder menunjukkan peningkatan
portabilitas melalui sharing obyek.
Aplikasi ketiga dan keempat
dikembangkan dengan Delphi keduanya
menunjukan peningkatan portabilitas
melalui sharing obyek.
5. KESIMPULAN
Penelitian ini menghasilkan kesimpulan sebagai berikut:
1. Penggunaan teknologi Dynamik
Link Library (DLL) terbukti dapat meningkatkan modularitas dan
portabilitas perangkat lunak yang
dikembangkan dengan paradigma
berorientasi obyek. 2. Peningkatan portabilitas
dilingkungan bahasa C++ pada
perangkat lunak yang dikembangkan dengan paradigma berorientasi
obyek diperoleh dengan teknologi
DLL dengan cara sharing kelas dan menyertakan file LIB.
3. Peningkatan portabilitas
dilingkungan bahasa hybrid selain
C++ pada perangkat lunak yang dikembangkan dengan paradigma
berorientasi obyek diperoleh dengan
teknologi DLL dengan cara sharing obyek.
6. SARAN
Terdapat beberapa saran terhadap
penelitian ini yaitu: 1. Untuk lebih jelas menunjukkan
manfaat modularitas terhadap
kemudahan perawatan (maintainability) sebaiknya
penelitian ini dilengkapi dengan
membuat DLL yang mengimplementasikan algoritma
selain Blowfish misalnya DES,
IDEA atau yang lain yang siap
dipanggil dari aplikasi tanpa proses linking ulang.
2. Untuk meningkatkan manfaat
teknologi DLL berkaitan dengan portabilitas maka penelitian ini
dapat dilanjutkan dengan kajian
terhadap penerapan DLL pada
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
48
bahasa-bahasa selain C++ dan
Pascal berorientasi obyek yang
mendukung penggunaan DLL dan
berorientasi obyek, misalnya Visual Basic dan lain-lain.
7. DAFTAR PUSTAKA
Abreu-Poels-Sahraoui-Zuse, 2003,
Quantitative Approaches in
Object-Oriented Software Engineering, Fernando Brito e
Abreu, Geert Poels, Houari A.
Sahraoui and Horst Zuse (eds), ISBN:1903996279
Alhir, 1998, The Object-Oriented
Paradigm , Sinan Si Alhir, 1998 Cantu, 2003, Mastering Delphi 7, Marco
Cantu, Sybex
Microsoft, 2006, Best Practices for
Creating DLLs, Microsoft Corporation. All rights reserved
Pressman, 2005, Software Engineering
A Practitioner’s Approach, Sixth Edition, Roger S. Pressman, Mc
Graw Hill, New York
Rumbaugh-Blaha-Premerlan-Eddy-
Lorensen, 1991, Object-Oriented Modeling and Design, James
Rumbaugh, Michael Blaha,
William Premerlan, Frederick Eddy, William Lorensen, Prentice
Hall, New Jersey, 1991.
Sanchez and Canton, 2008, Software Solutions for Engineers and
Scientists, Julio Sanchez and
Maria P. Canton, CRC Press New
York, 2008 Sommerville, 2004, Software
Engineering, 7th Edition, Ian
Sommerville Swart-Cashman-Gustavson-
Hollingworth, 2003, Borland C++
Builder 6 Developer’s Guide, Bob Swart, Mark Cashman, Paul
Gustavson, and Jarrod
Hollingworth, Sams Publishing
USA, 2003.
1. Alvi Syahrini Utami, S.Si, M.Kom Tenaga Pengajar Fakultas Ilmu Komputer
49
Simulasi Antrian Satu Channel Dengan Tipe Kedatangan
Berkelompok
Alvi Syahrini Utami
Jurusan Teknik Informatika
Fakultas Ilmu Komputer
Universitas Sriwijaya
Abstrak
Masalah antrian tidak hanya terjadi dalam kegiatan sehari – hari namun juga
dapat terjadi pada suatu sistem komputer. Antrian yang akan dibahas memiliki
sebuah server dengan satu garis antrian yang melayani unit dalam antrian satu
per satu dengan tipe kedatangan berkelompok. Pola kedatangan pada antrian ini
berdistribusi Poisson dan pola pelayanan berdistribusi Eksponensial dengan
disiplin antrian FIFO ( First In First Out ). Untuk mengamati perilaku sistem
antrian digunakan simulasi yang akan dijalankan dengan memberikan input yang
berbeda-beda dan akan mempengaruhi output sistem. Dari hasil simulasi
diharapkan dapat diketahui karakteristik sistem antrian terutama probabilitas
kesibukan server sehingga dapat dijadikan landasan untuk pengambilan
keputusan terhadap sistem antrian yang diamati.
Kata kunci : antrian, kedatangan berkelompok, simulasi
Abstract
Queuing problem is not about a daily problem only but it can also happen in a
computer system. Queuing dicussed in this study has a server with one waiting line
that serves customer one by one. Arrival pattern in this queue is Poisson
distribution and the service pattern is Exponential distribution with FIFO ( First
In First Out ) queue discipline. Queuing system applied action is observed by using a simulation that is run by giving different input that will influence the output
system. The simulation is aimed to find out the characteristic of queuing system in
terms of the server busy probability which can be used as the fundamental
consideration in decision making toward the queuing system observed.
Keywords : queue, batch arrival, simulation
1. PENDAHULUAN
Antrian tidak hanya terjadi pada kegiatan
sehari – hari, tetapi juga terjadi pada suatu sistem komputer. Pada suatu sistem
komputer, antrian terutama terjadi pada
suatu sistem multiprogramming dimana banyak program yang dijalankan oleh
satu CPU sehingga program – program yang harus dijalankan harus mengantri
terlebih dahulu sesuai dengan aturan
yang ada dalam antrian. Selain itu antrian
juga dapat terjadi pada suatu sistem jaringan komputer dimana komputer –
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
50
komputer client mengantri untuk
memperoleh layanan dari server.
Antrian adalah sebuah aktifitas dimana
customer menunggu untuk memperoleh
layanan (Kakiay, 2004)). Antrian terjadi karena terbatasnya sumber daya
pelayanan yang pada kenyataannya
disebabkan karena adanya faktor ekonomi yang membatasi yang selalu
terkait dengan berapa jumlah server yang
harus disediakan Sistem antrian adalah
kumpulan customer, server beserta aturan yang mengatur kedatangan para customer
dan pemrosesan masalahnya. Salah satu
komponen dari sistem antrian adalah pola kedatangan customer. Tipe kedatangan
dapat berupa one-at-a-time yaitu seorang
customer datang pada satu waktu, dan
sekelompok customer yang datang bersamaan pada satu waktu ( batch
arrival ).
Untuk pola kedatangan berkelompok ( batch arrival ), diharapkan server mampu
mengakomodasi jumlah antrian unit yang
masuk ke antrian dalam jumlah yang lebih dari satu dalam waktu yang
bersamaan. Sehingga dengan satu buah
server unit tidak menunggu terlalu lama
Penyelesaian masalah antrian dapat dilakukan dengan metode analitik atau
teori antrian yang telah memiliki formula
yang telah ditetapkan. Tetapi untuk masalah yang terlalu kompleks
diperlukan suatu pemodelan dan simulasi
untuk menganalisa sistem sehingga dapat diketahui bagaimana tingkah laku sistem
yang melibatkan peristiwa batch arrival
(Gupta and Hira, 2003). Selain itu juga
diamati beberapa besaran seperti waktu tunggu, waktu antar kedatangan dan
utilisasi pelayanan.
Dalam simulasi, digunakan suatu program komputer untuk mengevaluasi
sebuah model dan pengumpulan data
dilakukan untuk memperkirakan
karakteristik sebenarnya dari model yang diinginkan. Untuk model yang dapat
diselesaikan secara analitik, simulasi
dapat digunakan untuk membandingkan
bagaimana hasil yang didapat melalui
simulasi dengan penyelesaian yang
diperoleh melalui metode analitik.
2. STRUKTUR SISTEM ANTRIAN
Dalam mempelajari suatu sistem antrian, perlu untuk diketahui struktur sistem
antrian tersebut. Struktur suatu sistem
antrian terdiri dari jumlah server yang
melayani, pola kedatangan, pola pelayanan,dan disiplin antrian (winston).
2.1 Jumlah Server
Berdasarkan jumlah server, antrian dapat dibagi :
1. Antrian Single Channel
Antrian single channel adalah antrian yang hanya terdiri dari satu server
yang melayani unit yang datang ke
dalam suatu sistem antrian. Apabila
server sedang sibuk, maka unit yang datang harus menunggu dengan
membentuk satu garis tunggu sampai
tiba gilirannya.
2. Antrian Multiple Channel
Antrian multiple channel adalah dua
atau lebih service channel yang
diasumsikan identik dalam hal kemampuan layanan. Pada sistem
multiple channel, unit – unit yang
datang menunggu dalam satu garis antrian untuk kemudian bergerak
menuju server yang kosong untuk
dilayani.
2.2 Pola Kedatangan
Pola kedatangan pada suatu sistem
antrian dapat direpresentasikan oleh
waktu antar kedatangan yang merupakan suatu periode waktu antara dua
kedatangan yang berurutan. Kedatangan
customer dalam sistem antrian dapat dipisahkan oleh interval kedatangan yang
sama ataupun tidak sama yang
probabilitasnya diketahui yang disebut juga kedatangan acak.
Utami, Simulasi Antrian Satu Channel Dengan Tipe …
51
Laju dimana customer datang dalam
suatu antrian untuk dilayani merupakan
jumlah customer yang datang per unit
waktu, disebut juga laju kedatangan. Jika kedatangan bersifat acak, harus diketahui
distribusi probabilitas yang
mencerminkan kedatangan terutama waktu antar kedatangan.
2.3 Pola Pelayanan
Pola pelayanan pada suatu sistem antrian
juga mencerminkan pola bagaimana sejumlah customer meninggalkan sistem.
Departure ( keberangkatan ) juga dapat
direpresentasikan oleh waktu pelayanan yang merupakan waktu antar departure.
Waktu pelayanan dapat berupa waktu
pelayanan konstan ataupun variabel yang diketahui bahkan acak yang merupakan
variabel yang diketahui probabilitasnya.
Jika waktu pelayanan terdistribusi secara
acak, harus dicari distribusi probabilitas yang paling baij dalam mendeskripsikan
tingkah laku layanan.
Laju dimana suatu service channel dapat melayani customer adalah jumlah
customer yang dilayani per unit waktu
yang disebut laju pelayanan. Dengan
asumsi service channel selalu dalam keadaan sibuk sehingga tidak ada waktu
idle dari service channel yang
diperkenankan. Nilai rata – rata dari laju
kedatangan direpresentasikan oleh µ.
2.4 Disiplin Antrian
Disiplin antrian adalah aturan bagaimana
urutan pelayanan yang diberikan
terhadap unit berikutnya yang ada dalam antrian ketika server menganggur.
Disiplin antrian dapat berupa :
1. FCFS ( First Come First Served ) yang artinya unit yang datang lebih
dahulu akan dilayani terlebih dahulu.
2. LCFS ( Last Come First Served )
yang artinya unit yang datang paling akhir akan dilayani terlebih dahulu.
3. SRO ( Service in Random Order )
yaitu pelayanan yang diberikan terhadap unit adalah acak.
4. SPT (Shortest Processing Time )
yaitu unit yang dilayani terlebih
dahulu adalah unit yang memiliki
process time terpendek.
33. 3. KEDATANGAN DAN
PELAYANAN
3.1 Distribusi Waktu Kedatangan
Suatu proses kedatangan dalam suatu
sistem antrian artinya menentukan
distribusi probabilitas untuk jumlah kedatangan untuk suatu periode waktu
(Winston). Pada kebanyakan sistem
antrian, suatu proses kedatangan terjadi secara acak dan independent terhadap
proses kedatangan lainnya, dan tidak
dapat diprediksi kapan suatu kedatangan akan terjadi. Dalam hal ini, distribusi
probabilitas poisson menyediakan
deskripsi yang cukup baik untuk suatu
pola kedatangan. Suatu fungsi probabilitas Poisson menyediakan
probabilitas untuk suatu x kedatangan
pada suatu periode waktu yang spesifik dan membentuk fungsi probabilitas
sebagai berikut :
!)(
x
exP
x λλ −
= untuk x = 0,1,2,…
dimana
x = jumlah kedatangan per periode
waktu
λ = rata – rata jumlah kedatangan per
periode waktu
e = 2.71828
3.2 Distribusi Waktu Pelayanan
Waktu layanan adalah waktu yang
dihabiskan seorang unit pada fasilitas layanan ketika layanan dimulai
(Winston). Waktu layanan antara seorang
unit dengan unit lainnya biasanya tidak konstan. Distribusi probabilitas untuk
waktu layanan biasanya mengikuti
distribusi probabilitas eksponensial yang
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
52
formulanya dapat memberikan informasi
yang berguna mengenai operasi yang
terjadi pada suatu antrian. Dengan
menggunakan distribusi probabilitas eksponensial, probabilitas dimana waktu
layanan akan lebih kecil atau sama
dengan waktu t adalah
P(waktu layanan ≤ t) = 1 – e-µt
Dimana
µ = rata – rata jumlah unit yang dapat dilayani per satu periode waktu
e = 2.271828
3.3 Hubungan antara Distribusi
Poisson dan Distribusi Eksponensial
Untuk melihat hubungan antara distribusi
Poisson dengan distribusi Eksponensial dapat kembali dilihat dari peluang
distribusi Poisson
tx
ex
txXxf λλ
===
!
)(]Pr[)( (2.1)
dimana λ adalah rerata kedatangan dan t
adalah periode waktu.
Didefinisikan T sebagai waktu suatu kejadian, diperoleh
)Pr()( tTtF ≤= (2.2)
ini sama dengan
]Pr[1]Pr[)( tTtTtF >−=≤= (2.3)
dimana
tet
xtT λλ −
=−=>
!0
)(]0Pr[]Pr[
0
te λ−= (2.4)
Selanjutnya disubstitusikan ke hasil Pr(T>t) dalam persamaan (2.3) dan
diperoleh F(t) = 1-e-lt
yang merupakan fungsi distribusi Eksponensial.
3.4 Sifat Memoryless Distribusi
Eksponensial
Memoryles berarti banyaknya hasil yang
terjadi dalam suatu selang waktu atau daerah tertentu tidak terpengaruh oleh (
bebas dari ) apa yang terjadi pada selang
waktu atau daerah lain yang terpisah Gellenbe and Pujolle, 1999).
Pr ( x ≤ T + t | x > T ) = Pr ( x ≤ t )
Hanya ada dua distribusi yang
memiliki sifat memoryless yaitu distribusi eksponensial ( kontinu ) dan
distribusi Geometri ( diskret ). Berikut
bukti sifat memoryless distribusi eksponensial.
Pr (x≤T+t|x>T)
)Pr(
)]()Pr[(
Tx
TxtTx
>>∩+≤
=
)Pr(
)]Pr()Pr[(
Tx
TxtTx
>≤−+≤
=
)1(1
)1()1( )(
t
ttTt
e
eeλ
λλ
−
−+−
−−−−−
=
t
tt
e
eeλ
λλ
−
−− −=
)1(
te λ−−= 1
)Pr( tx ≤=
3.5 Pola Kedatangan Berkelompok
Pola kedatangan pada suatu sistem
antrian dapat berupa batch arrival yaitu
kedatangan sekelompok orang pada satu waktu secara bersamaan (Gellenbe and
Pujolle,1999). Untuk antrian yang
memiliki pola kedatangan berkelompok, kedatangan yang terjadi mengikuti proses
Poisson dengan rata – rata l, tetapi setiap kedatangan tidak hanya terdiri dari satu
Utami, Simulasi Antrian Satu Channel Dengan Tipe …
53
unit tetapi sejumlah unit yang datang
bersamaan dalam jumlah yang acak.
Dalam hal ini terdapat sebuah server
yang memiliki waktu layanan yang berdistribusi eksponensial.
Misal αj dengan j ≥ 1 adalah probabilitas kedatangan kelompok yang terdiri dari
sejumlah j unit, dan N adalah variabel
acak yang menyatakan ukuran sebuah
kelompok sehingga jjNP α== ][ .
Berdasarkan hal tersebut, masing –
masing kedatangan berkelompok akan
memiliki probabilitas yang berbeda –
beda sesuai dengan distribusinya tetapi tidak menutup kemungkinan dua
kelompok yang berbeda akan memiliki
probabilitas yang sama.
Sedangkan untuk waktu tunggu unit
merupakan jumlah waktu layanan
terhadap unit – unit yang datang sebelumnya dan waktu tunggu di dalam
kelompoknya.
Dari informasi di atas, dapat dibuat suatu
pernyataan yang lebih tepat. Jika X(t) adalah jumlah total unit yang datang pada
waktu t, dan jika Bi adalah jumlah unit
dalam kelompok ke-i, maka X(t) diperoleh dengan
∑=
=)(
1
)(tN
i
iBtX untuk t ≥ 0
Pada tipe kedatangan berkelompok (
batch arrival ), jumlah kedatangan unit dalam satu kali kedatangan merupakan
variabel acak positif X, yang dapat
dituliskan sebagai :
xCxXP == )(
Sistem tersebut merupakan Markovian
karena kejadian yang akan datang
tergantung pada situasi sekarang. Dimana
λλ /xxC = , jika λx adalah laju
kedatangan suatu kelompok unit yang terdiri dari x unit
4. SIMULASI MODEL ANTRIAN
Simulasi model antrian termasuk ke
dalam model simulasi dinamis karena
pada model simulasi suatu sistem antrian dimana keadaan sistem, termasuk jumlah
unit dalam antrian dan apakah fasilitas
layanan sedang sibuk atau idle, akan berubah atau berkembang dari waktu ke
waktu (Law and Kelton, 1991). Simulasi
model antrian termasuk dalam simulasi
discrete – event yang berkaitan dengan permodelan sistem stokastik yang
berubah dari waktu ke waktu melalui
sebuah representasi dimana variabel keadaan berubah hanya pada titik – titik
diskrit dalam waktu.
Untuk mensimulasikan suatu sistem antrian, pertama harus didefinisikan
dahulu keadaan sistem dan dipahami
konsep tentang events dan clock time.
Event didefinisikan sebagai situasi yang menyebabkan keadaan sistem berubah
secara cepat. Pada model antrian dengan
single server, hanya dua event yang mungkin dapat merubah keadaan sistem :
kedatangan ke dalam sistem dan
keberangkatan dari sistem pada saat
penyelesaian layanan. Dalam simulasi, event – event ini akan dijadwalkan untuk
menentukan titik tertentu dalam waktu.
Waktu dalam simulasi di atur menggunakan sebuah variabel yang
disebut clock time.
Pada simulasi model antrian dengan single server, waktu antar kedatangan t1,
t2, … adalah independen yang artinya
Gambar 1. Proses kedatangan batch
arrival
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
54
suatu kedatangan tidak mempengaruhi
kedatangan lainnya. Sebuah unit yang
datang pada saat server dalam keadaan
menganggur langsung dapat menerima layanan segera, dan waktu layanan s1, s2,
… untuk unit berikutnya merupakan
variabel acak yang terdistribusi secara identik yang independent terhadap waktu
antar kedatangan. Sedangkan unit yang
datang pada saat server dalam keadaan
sibuk akan bergabung dalam antrian. Setelah menyelesaikan layanan untuk
seorang unit, server kemudian memilih
unit yang berada di dalam antrian (jika ada) dengan aturan first-in first-out (
FIFO ).
Simulasi dimulai pada keadaan “empty-and-idle” yang berarti tidak ada unit di
dalam sistem dan server dalam keadaan
menganggur (Render and Stair). Pada
waktu 0, ditunggu kedatangan untuk unit pertama yang terjadi setelah waktu antar
kedatangan t1. Simulasi akan berakhir
sampai unit ke n telah menyelesaikan waktu tunggunya dalam antrian dimana
unit ke n memasuki layanan. Jadi waktu
dimana simulasi berakhir adalah suatu
variabel acak yang tergantung pada nilai yang diamati untuk variabel acak waktu
antar kedatangan dan waktu layanan.
Untuk melihat performansi sistem, dilihat dari seberapa sibuk server dengan
menghitung utilisasi server selama
simulasi berlangsung ( dari waktu 0 sampai tn ) dimana server dalam keadaan
sibuk.
5. SIMULASI ANTRIAN SATU
CHANNEL DENGAN TIPE
KEDATANGAN BERKELOMPOK
Simulasi dilakukan dengan membatasi jumlah elemen atau unit dalam kelompok
pada setiap kedatangan maksimal 8 unit.
Kelompok – kelompok yang datang ke sistem memiliki probabilitasnya masing –
masing. Jumlah probabilitas kelompok –
kelompok yang datang harus sama
dengan 1. Berdasarkan hal tersebut, masing – masing kedatangan
berkelompok akan memiliki probabilitas
yang berbeda – beda tetapi tidak menutup
kemungkinan ada dua kelompok yang
berbeda atau lebih memiliki probabilitas
yang sama.
Pada hasil simulasi digunakan notasi
sebagai berikut :
D = durasi
Pk = Probabilitas Server Kosong
Ps = Probabilitas Server Sibuk
J = Jumlah Unit yang datang
Lk = Laju Kedatangan
Lp = Laju Pelayanan
5.1 Simulasi dengan durasi berbeda
Simulasi dijalankan berulang kali dengan
durasi yang berbeda – beda untuk suatu komposisi probabilitas yang sama.
Sedangkan input laju kedatangan dan laju
pelayanan tetap dengan syarat :
][
1][
SENE <λ
dimana
l = laju kedatangan
E[N] = ekspektasi jumlah customer dalam satu kelompok
][
1
SE = laju pelayanan
Kemudian untuk masing – masing durasi
dilihat bagaimana karakteristik antrian
yang dihasilkan. Hasil simulasi ditunjukkan pada tabel berikut :
Dengan P(1) = 0.05, P(2) = 0.05, P(3) =
0.03, P(4) = 0.02, P(5) = 0.2, P(6) = 0.4,
P(7) = 0.2, P(8) = 0.05, laju kedatangan = 3, dan laju pelayanan = 17
Utami, Simulasi Antrian Satu Channel Dengan Tipe …
55
Tabel 1. Hasil simulasi
D
(jam)
Pk Ps J
1
2
3
4
5
0.10
0.07
0.03
0.07
0.09
0.90
0.93
0.97
0.93
0.91
889
1681
2588
3326
4886
Dari hasil simulasi dapat dilihat bahwa probabilitas server sibuk paling tinggi
terdapat pada durasi selama 3 jam,
setelah simulasi dilakukan lebih dari 3
jam tejadi penurunan kemungkinan server sibuk
5.2. Simulasi dengan laju pelayanan
berbeda
Selain perubahan durasi, percobaan
simulasi juga dilakukan dengan
mengubah laju pelayanan dengan komposisi probabilitas yang sama.
Berikut hasil data simulasi yang
dilakukan dengan mengubah laju pelayanan menjadi semakin besar dengan
laju kedatangan sebesar 3 unit per menit
selama durasi 4 jam. Berikut hasil simulasi :
dengan P(1) = 0.05, P(2) = 0.05, P(3) =
0.03, P(4) = 0.02, P(5) = 0.2, P(6) =
0.4, P(7) = 0.2, P(8) = 0.05, laju kedatangan = 3, dan durasi = 4 jam
Tabel 2. Hasil simulasi
Lp (unit per
detik)
Pk Ps J
18
19
20
0.12
0.17
0.23
0.88
0.83
0.77
3353
3251
3113
Dari hasil simulasi, semakin besar laju
pelayanan akan memperkecil probabilitas
kesibukan server.
5.3. Simulasi dengan laju kedatangan
dan laju pelayanan berbeda
Dengan komposisi probabilitas yang
sama pula dilakukan pengujian pada laju kedatangan yang berbeda, tetapi dengan
berubahnya laju kedatangan maka laju
pelayanan juga akan berubah karena
besarnya laju pelayanan terpengaruh oleh besarnya laju kedatangan dan komposisi
probabilitas kedatangan. Berikut hasil
simulasi dengan P(1) = 0.05, P(2) = 0.05, P(3) = 0.03, P(4) = 0.02, P(5) = 0.2,
P(6) = 0.4, P(7) = 0.2, dan P(8) = 0.05
Tabel 3. Hasil simulasi
Lp (unit
per detik)
Lp (unit
per detik)
Pk Ps J
1
2
4
6
12
23
0.20
0.1
1
0.0
7
0.80
0.89
0.93
1878
2342
4308
Dari hasil simulasi, semakin besar laju kedatangan akan menyebabkan semakin
besar pula probabilitas server sibuk
walaupun laju pelayanan juga diperbesar.
6. KESIMPULAN
Dari ketiga simulasi yang telah
dilakukan, terdapat suatu hal menarik yang dapat diamati bahwa untuk simulasi
dengan durasi yang berbeda – beda akan
terjadi suatu kondisi dimana probabilitas kesibukan server paling tinggi pada
terjadi saat simulasi dijalankan dengan
durasi 3 jam. Apabila simulasi dijalankan
dengan durasi lebih dari 3 jam maka akan terjadi penurunan probabilitas kesibukan
server. Simulasi juga dapat dijalankan
untuk komposisi probabilitas yang lain
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
56
dengan laju kedatangan dan pelayanan
yang berbeda sehingga dapat
diperkirakan kapan waktu tersibuk
server. Jika waktu tersibuk server dapat diperkirakan, maka dapat dipersiapkan
suatu tindakan terhadap perilaku server
menjelang waktu tersebut, misalnya dengan menambah server atau tindakan
lainnya.
Selain itu untuk memperkecil
probabilitas kesibukan server dapat dilakukan dengan memperbesar laju
pelayanan terhadap unit yang datang.
7. DAFTAR PUSTAKA
Gelenbe, Erol and Pujolle, Guy, 1999. Introduction to Queueing
Networks, Second Edition, New
York: John Wiley and Sons.
Gupta, Prem Kumar and Hira, D.S, 2003. Operations Research, Ram Nagar,
New Delhi: S. Chand & Company
Ltd.
Kakiay, Thomas T. 2004. Dasar Teori
Antrian untuk Kehidupan Nyata,
Andi Offset, Yogyakarta
Law, Avril. M and Kelton, W. David, 1991. Simulation Modelling and
Anakysis, Second Edition, New
York: McHraw-Hill, Inc.
Render, Barry and Stair, Ralph M. Jr,
Quantitative Analysis for
Management, Seventh Edition, New Jersey: Prentice Hall.
Winston, Wayne L. Operations Research
: Application and Algorithms,
Third Edition, Duxbury Press : An Imprint of Wardsworth Publishing
Company, Belmont California.
Utami, Simulasi Antrian Satu Channel Dengan Tipe …
57
1. Deris Setiawan, S.Kom, M.T Assisten Ahli Fakultas Ilmu Komputer 2. Dian Palupi Rini, S.Si, M.Kom Asisten Ahli Fakultas Ilmu Komputer
57
Optimalisasi Interkoneksi Virtual Private Network (Vpn)
Dengan Menggunakan Hardware Based dan Iix (Indonesia
Internet Exchange) Sebagai Alternatif
Jaringan Skala Luas (Wan)
Deris Stiawan & Dian Palupi Rini
Jurusan Sistem Komputer
Fakultas Ilmu Komputer
Universitas Sriwijaya
Jurusan Teknik Informatika
Fakultas Ilmu Komputer
Universitas Sriwijaya
Abstrak
Virtual Private Network (VPN) salah satu solusi yang bisa digunakan untuk
interkoneksi jaringan skala luas (WAN), saat ini banyak para provider telcom
menawarkan solusi VPN sebagai komunikasi data perusahaan bisnis untuk
interkoneksi ke kantor-kantor cabangnya. Indonesia Internet Exchange (IIX) yang
menginterkoneksikan semua penyedia jasa internet (ISP) di Indonesia dalam satu
jaringan yang terpusat secara lokal. Solusi interkoneksi VPN dapat menggunakan
hardware based yang mempunyai kelebihan dibandingkan software based. Solusi VPN
dan penggunaan Interkoneksi IIX dapat menjawab interkoneksi secara lokal ke
jaringan intranet dengan aman namun melalui jaringan yang bisa diakses dengan
mudah dan murah seperti jaringan Internet. IIX lebih murah dan bisa dioptimalkan
pengelamatan routingnya selama digunakan untuk diwilayah layanan Indonesia. IIX
akan memperpendek lompatan paket data, memperkecil latency waktu, dan
meningkatkan penggunaan traffic content di Indonesia.
Kata Kunci :VPN, Perangkat Keras, ISP
Abstract
Virtual Private Network ( VPN) one of a solution which can be used for the
interconnections wide area network ( WAN), in this time a lot of all provider telco offer
the solution VPN as communications of data of business company for the
interconnections of to its office of brancsh. Indonesia of Internet Exchange ( IIX)
which interconnection all Intermet Service Provider (ISP) in indonesian in one
network which centrally locally. VPN solution can use the hardware based having
excess compared to by software based. Solution of VPN and use of IIX
Interconnections can reply the locally Interconnection to network intranet safely. IIX
efficient in routing address during used for the region of Indonesia service. IIX will
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
58
cut short the jumping movement of data packet, reduced latency time, and improve the
use of traffic content in Indonesia.
Kata kunci : Virtual Private Network, VPN, IIX, Hardware Based
1. PENDAHULUAN
1.1 Latar Belakang
Jaringan komunikasi data yang terintegrasi saat ini sudah menjadi
kebutuhan utama bagi sebuah institusi
atau perusahaan bisnis, terutama perusahaan yang mempunyai banyak
cabang di lokasi geografis yang berbeda
dan juga untuk perusahaan yang kegiatan
perkantorannya menuntut seorang pegawai tidak hanya behind the desk saja,
namun juga harus mobile. Oleh karena itu
kemudahan untuk akses data antar kantor atau kekantor sangat diperlukan
dimanapun dan kapanpun pegawai
tersebut berada.
Kegiatan untuk komunikasi data langsung
ke server suatu kantor, memerlukan suatu
teknologi hardware dan dukungan teknis
yang rumit sehingga hal ini akan
menyebabkan pembiayaan menjadi mahal. Padahal kebutuhan koneksi data berupa
sistem informasi yang terintegrasi saat ini
sangat tinggi, dari sistem teknologi client server biasa sampai dengan implementasi
sistem seperti ERP, Supply Chain, CRM,
E-business dan sebagainya. Namun tidak
semua perusahaan mempunyai anggaran yang banyak terutama untuk membiayai
komunikasi data seperti sewa sirkuit,
bandwidth dan biaya perbulan lainnya dari
sebuah provider.
Selama ini penggunaan teknologi wide
area network (WAN) menjadi salah satu solusi banyak perusahaan untuk
komunikasi data. WAN adalah jaringan
komunikasi yang meliputi area geograpis yang luas dan biasanya menggunakan
fasilitas dari transmisi provider, seperti
perusahaan telpon atau lainnya. Infrastruktur inilah yang nantinya menjadi
penghubung antara kantor pusat ke
cabang-cabang dan telecomutters. Namun ada beberapa hal yang harus diperhatikan
dalam memilih solusi Infrastruktur
jaringan komunikasi ini, diantaranya :
Bandwidth, Teknologi, Skalability, Support IP Based, Easy Configuration &
maintenance, Low Cost dan Security.
Menurut hasil penelitian dari infonetics dikatakan bahwa saat ini penggunaan
Interkoneksi WAN meningkat 58 % pada
kuartal pertama tahun 2007 dan kuartal
pertama tahun 2008.
Gambar 1. Topology Classic WAN
(sumber cisco.com)
Pada gambar 1 terlihat topology yang
dahulu digunakan untuk mengkoneksikan
banyak kantor cabang dan para pegawai yang mobile menggunakan infrastruktur
penyedia jasa leased line, Frame relay,
Dial-up atau menggunakan ATM, namun
Main
Office
Mobile Workers
Regional Office
Home
Offices
Private Lines Frame Relay
Remote Office
Setiawan, Rini Optimalisasi Interkoneksi Virtual Private Network (Vpn)...
59
karana ketidakseimbangan antara
tingginya biaya yang harus dikeluarkan
dengan rendahnya aspek teknikalnya
seperti bandwidth, protocol, interface, lastmiles, coverage area, jarak dan lain-
lain, maka solusi WAN klasik ini mulai
ditinggalkan. Pertumbuhan jaringan internet di
Indonesia, sekalipun masih dalam tahap
awal dan belum memasyarakat seperti
halnya di negara-negara maju, menunjukkan trend yang sangat positif.
Potensi penggunanya yang begitu besar
dari penduduk Indonesia yang pada saat ini (Juli 1997) berjumlah sekitar 200 juta
jiwa tidak dapat diabaikan begitu saja.
Koneksi ke internet dilakukan dengan menghubungkan suatu perangkat
komunikasi ke Internet Service Provider
(ISP), sedangkan ISP akan terkoneksi ke
Network Access Provider (NAP) dan NAP terkoneksi ke jaringan tulang punggung
(backbone) dunia yang terhubung lewat
kabel Fiber Optic bawah laut, jaringan nirkabel atau jaringan komunikasi satelite.
Perkumpulan Asosiasi Penyelenggara
Jasa Internet Indonesia (APJII) membuat
interkoneksi peering nasional agar pengelamatan routing di Internet menjadi
lebih cepat dan tidak membuang traffic
internet ke Internet global / internasional. Interkoneksi ini disebut IIX atau
Indonesia Internet Exchange, yang
menghubungkan semua ISP (internet Service Provider), NAP (Network Access
Provider) dan Telco lainnya kedalam
jaringan yang terpusat dan saling
terhubung. Interkoneksi IIX ini berujung
di Gedung Cyber Jl. Kuningan Barat No 8
Jakarta. Jadi dengan interkoneksi peering
ini maka koneksi antara ISP atau NAP di Indonesia tidak perlu pengelamatan atau
routing ke luar negeri lagi.
Solusi VPN dan penggunaan Interkoneksi
IIX, dapat menjadi satu alternatif
interkoneksi, dimana bisa terkoneksi
secara lokal ke jaringan intranet kantor dengan aman namun melalui jaringan
yang bisa diakses dengan mudah seperti
jaringan Internet, dengan menggunakan interkoneksi jaringan IIX yang cenderung
lebih murah dan bisa dioptimalkan
pengelamatan routingnya selama
digunakan untuk diwilayah layanan Indonesia. IIX akan memperpendek
lompatan paket data, memperkecil latency
waktu, dan meningkatkan penggunaan traffic content di Indonesia.
Kegunaan yang paling besar saat ini
menggunakan traffik IIX adalah pengembang content games lokal atau
pengembang games dunia yang meletakan
servernya di jaringan IIX. Akibatnya
banyak para pengusaha warnet berlomba untuk terkoneksi ke jaringan IIX ini.
Padahal optimalisasi jaringan IIX dapat
dilakukan dengan memanfaatkan untuk interkoneksi lain, yang salah satunya
dapat melewatkan dan mengintegrasikan
perusahaan-perusahaan atau institusi
bisnis ke kantor-lantor cabang lainnya.
1.2 Tujuan Penelitian
Tujuan dari penelitian ini adalah
menganalisa dan kajian optimalisasi interkoneksi jaringan skala luas (WAN)
dengan menggunakan VPN memanfaatkan
interkoneksi IIX.
1.3 Manfaat Penelitian
Manfaat dari penelitian ini adalah memberikan gambaran tentang alternatif
lain yang dapat menjadi solusi untuk
interkoneksi jaringan skala luas (WAN).
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
60
1.4 Metode Penelitian
Langkah – langkah yang dilakukan dalam
penelitian ini adalah sebagai berikut :
1. Analisa kebutuhan jaringan WAN
pada sebuah perusahaan melalui studi
pustaka dan literatur. 2. Perancangan dan alternatif solusi
3. Evaluasi hasil
2. TINJAUAN PUSTAKA
2.1 Interkoneksi
Internet, adalah sebuah sistem yang besar
dan banyak yang menghubungkan jutaan
sistem dan terdiri dari multi-protocol,
berbagai macam media, jaringan global
dunia yang dahulu dikembangkan oleh
Departemen Pertahanan Amerika Serikat yang dikenal dengan ARPAnet, namun
karena Internet adalah jaringan public
maka bersifat open dan saat ini masalah keamanan menjadi sangat krusial terutama
informasi-informasi penting yang lewat di
Internet dapat disadap oleh orang lain.
Perkembangan teknologi Internet saat ini
sangat cepat melebihi perkembangan teknologi radio dan televisi.
Gambar 2. Skema Tunneling & Encapsulations VPN
Jaringan Internet adalah kumpulan jaringan di dunia yang menghubungkan
jutaan komputer perusahaan, badan
pemerintahan, institusi pendidikan, dan perorangan, dengan internet pengguna
mendapatkan akses untuk memperoleh
informasi global dan komunikasi sistem
(Shelly, Discovering Computer, 62)
Pertumbuhan jaringan internet di Indonesia, sekalipun masih dalam tahap
awal dan belum memasyarakat seperti
halnya di negara-negara maju, menunjukkan trend yang sangat positif.
Potensi penggunanya yang begitu besar
dari penduduk Indonesia yang pada saat
Setiawan, Rini Optimalisasi Interkoneksi Virtual Private Network (Vpn)...
61
ini (Juli 1997) berjumlah sekitar 200 juta
jiwa tidak dapat diabaikan begitu saja.
Untuk mengembangkan pasar yang besar
ini, salah satu prasyarat adalah dibentuknya suatu interkoneksi nasional
antar penyelenggara jasa internet (PJI) di
Indonesia, sehingga pelanggan dari satu PJI dapat dengan mudah dan murah
berkomunikasi dengan pelanggan PJI
yang lain yang berada di Indonesia. IIX
dibentuk oleh APJII yang awalnya bersifat amal dan sukarela dengan maksud
menyatukan trafik antar Internet Service
Provider (ISP) di Indonesia sehingga tidak perlu transit ke luar negeri.
(www.iix.net.id/?do=latar-tujuan)
IIX dibuat untuk peering ISP-ISP dan NAP yang ada di Indonesia Tujuannya
adalah membentuk jaringan interkoneksi
nasional yang memiliki kemampuan dan
fasilitas yang sesuai dengan kebutuhan yang ada, untuk digunakan oleh setiap ISP
yang memiliki ijin beroperasi di Indonesia.
ISP yang tersambung ke IIX tanpa biaya bandwith, hanya biaya link fisik sepeti
serat optik, wireless atau leased line, yang
berbeda-beda. Cukup murah bagi ISP
yang berada di Jakarta tetapi mahal bagi ISP yang ada di luar Jakarta, apalagi di
luar Jawa, karena biaya link fisiknya saja
jauh lebih mahal daripada link internasional termasuk kapasitas
bandwidth langsung melalui satelit ke luar
negeri. (http://id.wikipedia.org/wiki/Indonesia_Int
ernet_Exchange)
Virtual Private Network (VPN)
memungkinkan dibentuk interkoneksi
network melalui jaringan internet dengan
protocol tunneling agar terbentuk koneksi
secara private. (James E Goldman, Applied Data Communications, 624).
Virtual Private Network (VPN) sebuah
session yang di authentication dan lajur
komunikasi yang dienkripsi melalui
jaringan publik seperti Internet, dimana
VPN hanya memproteksi session
komunikasi antara dua domain. (Chris Brenton, Mastering Network Security,
321).
Saat ini ada beberapa jenis peralatan VPN yang ada di pasaran dunia, dengan
banyaknya produk VPN akan menyulitkan
dalam menentukan peralatan yang tepat
yang akan digunakan, Hardware Based VPN adalah suatu perangkat alternatif dari
router based yang berfungsi sebagai
perangkat keras yang menangani mekanisme routing dan network
addressing, VPN tunneling protocol,
Enkripsi, Bandwidth management, Layanan otentikasi, Accounting, Kompresi
data, Fungsi Firewall, dan Koneksitas
dengan VPN client
2.2 Virtual Private Network (VPN)
Dengan perkembangan interkoneksi
Internet yang semakin luas dan turunnya harga bandwidth yang signifikan di
Indonesia, maka Teknologi komunikasi
data yang menggunakan interkoneksi Internet adalah suatu pilihan yang tepat.
VPN merupakan sebuah jaringan private
yang menghubungkan satu node jaringan ke node jaringan lainnya dengan
menggunakan jaringan Internet. Data yang
dilewatkan akan diencapsulation
(dibungkus) dan dienkripsi, supaya data
tersebut terjamin kerahasiaannya.
Peningkatan penggunaan koneksi VPN
dari tahun ke tahun sangat signifikan
karena murahnya infrastruktur yang dibutuhkan serta mudahnya dalam
instalasi, maka koneksi ini lebih efisien
dibandingkan dengan metode WAN.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
62
Ada beberapa alasan mengapa saat ini
penggunaan perusahaan banyak
membangun solusi VPN, diantaranya ;
1. Menekan biaya interkoneksi
2. Memperluas interkoneksi ke user yang
selama ini susah dijangkau 3. Dapat mengirimkan aplikasi-aplikasi
baru berbasis Internet Protocol
4. Fleksibel dalam pemilihan topology
5. Skalabilitas Network terjaga 6. Meningkatkan tingkat Security
Mengapa aman, karena Sistem keamanan di VPN menggunakan beberapa lapisan,
seperti pada Gambar 2 sebelumnya dapat
dijabarkan beberapa metode keamanan VPN, diantaranya ;
1. Metode tunneling (terowongan),
membuat terowongan virtual diatas jaringan publik menggunakan
protocol seperti Point to Point
Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP), Generic Routing
Encapsulation (GRE) atau IP Sec.
PPTP dan L2TP adalah layer 2
tunneling protocol. keduanya melakukan pembungkusan payload
pada frame Point to Point Protocol
(PPP) untuk di lewatkan pada jaringan. IP Sec berada di layer 3 yang
menggunakan packet, yang akan
melakukan pembungkusan IP header sebelum dikirim ke jaringan.
2. Metode Enkrpsi untuk
Encapsulations (membungkus) paket
data yang lewat di dalam tunneling,
dimana data akan dienkripsi pada saat
dilewatkan. Data disini akan dirubah
dengan metode algoritma cripthography tertentu seperti DES,
3DES, atau AES
3. Metode Otentikasi User, karena
banyak user yang akan mengakses
dari banyak titik maka digunakan
beberapa metode protocol otentikasi user tertentu, seperti Remote Access
Dial In User Services (RADIUS) dan
Digital Certificates. 4. Integritas Data, karena paket data
yang dilewatkan di jaringan publik
maka diperlukan penjaminan
integritas data atau kepercayaan data apakah terjadi perubahan atau tidak.
Metode VPN dapat menggunakan
HMA C-MD5 atau HMA C-SHA1 untuk menjamin paket tidak dirubah
pada saat pengiriman.
3. ALTERNATIF WAN VIA IIX
3.1 Interkoneksi IIX
Sejak tahun 2000an disaat trend Internet di Indonesia booming dan makin
banyaknya penyedia jasa internet,
perkumpulan Asosiasi Penyelenggara
Jasa Internet Indonesia (APJII) membuat interkoneksi peering nasional agar
pengelamatan routing di Internet menjadi
lebih cepat dan tidak membuang traffic internet ke Internet global / internasional.
Interkoneksi ini disebut IIX atau
Indonesia Internet Exchange.
Setiawan, Rini Optimalisasi Interkoneksi Virtual Private Network (Vpn)...
63
Gambar 3. Design Topology IIX
Interkoneksi IIX ini menghubungkan
semua ISP (Internet Service Provider), NAP (Network Access Provider) dan
Telco lainnya kedalam jaringan yang
terpusat dan saling terhubung. Interkoneksi IIX ini berujung dan bertemu
di Gedung Cyber Jl. Kuningan Barat No 8
Jakarta. Jadi dengan interkoneksi ini maka
koneksi antara ISP atau NAP di Indonesia tidak perlu pengelamatan atau routing ke
luar negeri lagi. Dari Gambar 3 topology
gambar diatas dapat diterangkan ; 1. Koneksi backbone membentuk
topology Ring antara IIX-1 dengan
IIX-2 dan IIX-3 menggunakan kabel Fiber Optic (FO) dengan transfer data
mencapai 1Gbps.
2. Koneksi dari IIX di jakarta ke IIX
Wilayah di daerah-daerah
menggunakan leased channel, atau
metro-e dari NAP UPSTREAM yang
disewa oleh para ISP di daerah tersebut.
3. Koneksi E-Gov untuk kepentingan
Departemen DIKNAS, MILITER atau
pemerintahan lainnya dihubungkan ke
core IIX via leased channel atau provider UPSTREAMnya.
Tujuan utama membuat simpul-simpul di daerah indonesia untuk mengumpulkan
semua provider ISP di indonesia dan
pengguna content lokal lainnya untuk
terinterkoneksi ke IIX. Dari data yang didapat 50 % traffic berasal dari ISP dan
kebanyakan untuk traffic bandwidth
games. Hal ini sangat disayangkan dengan kemampuan jaringan IIX yang belum
dapat dioptimalkan.
Gambar 4. Perancangan Topology
koneksi private via IIX
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
64
3.1 Aspek Teknik IIX
Saat ini terdapat tiga node utama IIX yang
terhubung dengan backbone Fiber Optic dan topology ring. Interkoneksi utama
inilah yang menjadi backbone ke ISP,
NAP yang ada diseluruh indonesia baik yang berada di jawa atau daerah-daerah
lainnya. IIX juga saat ini di
interkoneksikan dengan jaringan
pemerintahan seperti untuk keperluan militer dan pendidikan (INHERENT /
JARDIKNAS).
Dari gambar 3 terlihat tiga tempat interkoneksi IIX ;
1. IIX 1 berada di Gedung Telkom
Graha Citra Caraka, Jl. Jend. Gatot Subroto 52 dan direlokasi ke Gedung
Arthatel
2. IIX-2 terletak di Gedung Cyber Jl.
Kuningan Barat No. 8 Jakarta 3. IIX-3 berada di Annex Building Suite
101 AB Plaza Kuningan Jl. H.R.
Rasuna Said Kav C 11 – 14 (http://www.napinfo.net)
4. PERANCANGAN VPN
4.4.1. Analisa Kebutuhan Jaringan
WAN P Pada Sebuah
Perusahaan
Ada beberapa solusi komunikasi VPN yang ditawarkan oleh provider
telekomunikasi kepada perusahaan. Salah
satunya adalah VPN IP dengan teknologi
MPLS.
Dari Gambar 4 diatas dapat dijelaskan
sebagai berikut ;
1. Kebutuhan interkoneksi untuk menghubungkan beberapa kantor
cabang dan telecomutters yang berada
di wilayah Indonesia.
2. Kebutuhan perusahaan untuk
terkoneksi secara lokal melalui
jaringan interkoneksi.
3. Koneksi di Kantor Pusat menggunakan koneksi dedicated,
koneksi dedicated terkoneksi ke dua
ISP yang berbeda backbone
upstreamnya agar bisa
mengoptimalkan load balancing yang
akan dikonfigurasi. Load Balancing
dibutuhkan agar tingkat layanan terjaga dan terjamin, sedangkan
Bandwidtnya dibutuhkan lebih besar
dari bandwidth yang di kantor cabang. 4. Di setiap kantor cabang dapat
menggunakan koneksi dedicated atau
koneksi broadband, yang mana pointing ip addressnya point-to-point
ke ip publik atau mesin Domain Name
Server (DNS) yang berada di kantor
pusat. 5. Para pekerja rumah secara remote dan
mobile (telecommuters) dapat
terkoneksi secara langsung ke server kantor pusat dengan menggunakan
VPN Client software yang juga di
pointing ip addressnya point-to-point
ke ip publik atau mesin Domain Name Server (DNS) yang berada di kantor
pusat via koneksi broadband.
4.2 Perancangan Jaringan VPN dengan
menggunakan interkoneksi IIX
Penggunakan sistem VPN dengan IIX bisa
menggunakan suatu perangkat hardware khusus produksi vendor tertentu yang
dibuat untuk melakukan proses
komunikasi lewat jaringan Internet, sistem
ini sering disebut sebagai solusi hardware
based.
Kelebihan utama dari sistem hardware
based ini adalah sistem keamanan, kinerja,
fleksibel, dan kontrol manajemen serta
Setiawan, Rini Optimalisasi Interkoneksi Virtual Private Network (Vpn)...
65
dapat di koneksikan dengan infrastruktur
jaringan lainnya seperti sistem keamanan
atau kualitas layanan yang sudah ada
untuk memperkuat fungsi VPN tersebut. Dengan memilih perangkat yang tepat
maka komunikasi data dengan VPN dapat
juga mengintegasikan komunikasi suara melalui metode IP Telephony.
Maksudnya perangkat VPN ini juga dapat
mendukung protocol untuk komunikasi
suara, konsep yang dikenal sebagai
AVVID (Architecture Voice, Video and
Integrated Data) untuk mengoptimalkan koneksi dalam jaringan
4.3 Solusi Hardware Router /
Concentrator
Gambar 5. Design Topology Interkoneksi private via IIX
Solusi ini menggunakan sebuah perangkat
router series tertentu, router yang sudah mensupport protocol VPN dapat langsung
dikonfigurasi baik disisi pusat atau disisi
kantor cabang, intinya yang membangun “koneksi” antara dua titik atau lebih secara
simultan dilakukan oleh router tersebut.
Ciri router bisa mensupport VPN adalah
dengan disediakannya perintah Tunneling
encapsulation VPN didalam sistemnya.
Pada gambar 5 semua node router di
setiap kantor cabang terkoneksi secara point-to-point ke router yang berada di
kantor pusat melewati jaringan IIX.
Estimasi yang dibutuhkan untuk solusi ini
adalah ;
Kantor pusat
Jenis Koneksi Dedicated CIR 1:1
Bandwidth 2 x minimal 1024 kbps
Jenis
Perangkat
Router series support
VPN(series yang lebih
tinggi dari kantor cabang)
Routing Static ke cabang with
load balancing
Management Firewall dan QoS Bandwidth akses
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
66
Kantor Cabang
Jenis Koneksi Dedicated CIR 1:1
Bandwidth minimal 512 kbps
Jenis Perangkat Router series support
VPN
Routing Static ke pusat
Management Firewall dan QoS
Bandwidth akses
Contoh series router ternama yang
mensupport VPN adalah 7000 series, 3600
series, 2600 series, 1700 series dan SOHO 900 series / 800 series. Terdapat juga
VPN Module yang bisa digunakan di
series tertentu dan mempunyai features tambahan seperti IOS plus Firewall IPSec
dan Dual 10/100 Mbps. Sedangkan contoh
series router lainnya seperti Pasport series 200, 1750, 2700, dan 5000.
Kelebihan utama dari sistem ini adalah di
tingkat kehandalan dan jaminan layanan
yang diberikan, karena memang suatu
perangkat yang dibuat untuk melakukan
fungsi pengelamatan.
4.4 Solusi Server based produk SOHO/
SMB
Solusi tepat untuk perusahaan Small Office Home Office (SOHO) atau Small
Medium Business (SMB), di beberapa
contoh studi kasus perusahaan bisnis di Indonesia yang menggunakan solusi ini
adalah sistem maskapai penerbangan,
travel dan perusahaan retailed
menggunakan sistem yang dibangun dengan “backbone” solusi dari vendor
SOHO/SMB.
Perangkat ini juga bisa digunakan sebagai “router broadband” untuk melakukan
NAT, dan beberapa feature firewall
sederhana. Rata-rata produk dari vendor ini dapat melakukan 200 koneksi
dedicated VPN tunnels secara simultan
dengan funsgi mendukung metode IP Sec
/ IKESA. Pada gambar 6 sampai gambar 8 dibawah
adalah contoh dari topology dan produk
vendor SOHO/SMB yang menawarkan solusi hardware based.
Gambar 6. Solusi hardware based VPN
Setiawan, Rini Optimalisasi Interkoneksi Virtual Private Network (Vpn)...
67
Gambar 7. Solusi hardware based VPN
Gambar 8. Solusi hardware based VPN
Mungkin sistem mixed atau campuran
yang dikombinasikan perangkat router
atau concentrator khusus yang dipasang di
sisi kantor pusat dan penggunaan solusi SOHO/SMB digunakan sebagai solusi
kantor cabang atau telecommuters adalah
solusi yang bijak. Namun tingkat kompatibelitas pasti sangat menjadi
perhatian utama.
5. KESIMPULAN
Tulisan ini diharapkan dapat memberikan gambaran tentang alterntif interkoneksi
jaringan skala luas (WAN) yaitu
interkoneksi dengan menggunakan teknologi VPN dengan memanfaatkan
interkoneksi IIX.
Dengan menggunakan jaringan IIX maka dapat mereduksi biaya sewa layanan
bandwidth yang selama ini menjadi solusi
perusahaan bisnis. Interkoneksi Indonesia
Internet Exchange (IIX) sangat efektif
untuk menghubungkan traffic data yang
interkoneksinya berada di Indonesia, karena dengan IIX dapat meningkatkan
kinerja jaringan karena latency yang kecil
dan dapat mengoptimalisasikan pengelematan di router kita. IIX dapat
menjadi solusi tepat bagi para perusahaan
bisnis yang mempunyai banyak kantor
cabang di Indonesia VPN saat ini berkembang pesat
dikarenakan faktor efektifitas dan efisien
bari dari sisi teknis dan bisnis, ditunjang
dengan semakin beragamnya solusi yang
ditawarkan oleh para vendor-vendor
pembuat solusi jaringan komputer. VPN dapat mengintegrasikan jaringan melewati
jaringn publik dengan aman.
Solusi VPN dengan menggunakan
hardware based sangat tepat untuk
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
68
mendapatkan performa dan kehandalan
interkoneksi yang dibangun, karena proses
encapsulations, enkripsi dan tunneling
dilakukan diperangakatnya bukan di sebuah sistem operasi.
6. DAFTAR PUSTAKA
Archer Kevin, Core James, Cothen Chuck,
Davis Roger, White B. Gregory, Ph.D, Dicenso David, Goog J,
Travis, William E. Dwayne, 2001,
“Voice and Data Security”., Sams Publishing., USA., 14-
15 pp.
Dicson Kevin.,1999, “The ABCs Of VPNs”.,Packet Magazine Cisco
System., Third Editions
2002,USA., 50-55 pp.
David Barry, 2002, “VPN Management”., Third Edition 2002, Packet
Magazine Cisco
System., USA., 57-60 pp. Chris Brenton, Sybex Network, 1996.,
“Mastering Network
Security”,USA.
James E Goldman, Phillip T Rawless, “Applied Data Communications”.,
2001 .,John Wiley & Sons,
Inc.,USA Marilee Ford, H. Kim Lew, Steve Spanier,
Tim Stevenson, 1997,
Internetworking Techlogies Handbook, Cisco Network
Press, USA________., 2003, “VPN with
windows 2003”,
Whitepaper Microsoft,USA,
www.technet.microsoft.com/en-
us/network/bb545442.aspx.
Shelly Cashman Vermaat, Discovering Computer, Salemba Infotek, Jakarta,
2007
Steve Spanier, Tim Stevenson, Marilee
Ford, 1997., “Internetworking
Technologies Handbook”., Cisco
Press., USA, ________.,2002., “Virtual Private
Network : An
Overview”., Whitepaper Microsoft .,USA.,
<http://www.microsoft.com/docs/vpnover
view>
________.,2002. http://www.byteandswitch.com/document.
asp?doc_id=161113&WT.svl=wire2
_6 _______,.htttp://www.iix.net.id/?do=latar-
tujuan
_______,.2008 http://id.wikipedia.org/wiki/Indones
ia_Internet_Exchange)
_______,.2008, http://www.napinfo.net
1. Jaidan Jauhari, S.Pd, M.T. Asisten Ahli Fakultas Ilmu Pendidikan
69
Pengembangan Perangkat Lunak Pembangkit Fraktal
Berbasis Fungsi Polynomial dengan Menggunakan
Pemrograman Borland C++ Builder 6.0
Jaidan Jauhari
Jurusan Matematika
Fakultas Ilmu Pendidikan
Universitas Sriwijaya
Abstrak
Dalam geometri fraktal objek di gambarkan dengan menggunakan algoritma
iteratif. Fraktal memiliki sifat self similarity dimana setiap bagian dari fraktal
menyerupai bagian yang lebih besar, namun dalam skala yang berbeda. Proses
pembangkitan geometri fraktal dilakukan dengan cara iterasi terhadap fungsi
matematika tertentu. Pada penelitian ini dibangun sebuah perangkat lunak
untuk membangkitkan geometri fractal berbasis fungsi polinomial. Metodologi
yang digunakan penelitian ini adalah metodologi pengembangan perangkat
lunak Waterfall Model Perancangannya menggunakan model fungsional yaitu
DFD (Data Flow Diagram). Perangkat lunak PoliFrak dibangun dalam
lingkungan pemrograman Microsoft Windows. Bahasa pemrograman yang
dipakai adalah Borland C++ Builder 6.0. Perangkat lunak ini telah
menghasilkan keluaran seperti yang diinginkan yaitu berupa pembangkitan
gambar fraktal, sesuai dengan variabel, parameter dan warna masukan.
Kata Kunci : geometri fraktal, self similarity, berbasis fungsi polinomial
Abstract
In fractal geometry, object is drawn using iterative algorithm. Fractal has self
similarity by nature, such that each part of fractal is similar to the bigger part,
but in different scale. Fractal generation process is done by iteration toward
certain mathematic function. One of the mathematic function is the polinomial
function-based one. This research is limited only for polinomial function-based
fractals. The methodology used in developing this software is waterfall model.
The design used functional model, that is DFD (Data Flow Diagram). PoliFrak
software is developed in Microsoft Windows programming environment.
Programming language used here is Borland C++ Builder 6.0. This software has
produce the desired output, such as fractal image generation.
Keywords : fractal geometry, self similarity, polinomial function-based
1. PENDAHULUAN
Di sekeliling kita terdapat banyak objek.
Jika objek tersebut merupakan bentuk
yang teratur seperti lingkaran, elips,
segiempat, bola, kubus atau kerucut
maka objek-objek tersebut dapat
dinyatakan dalam rumus sederhana sebagai fungsi koordinat dalam geometri
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
70
Euclidian. Tetapi bentuk objek di alam
umumnya tidak beraturan dan kompleks
yang tidak mudah didekati dengan
rumus matematika geometri Euclidian
(Pietronero,1995 : 70).
Istilah fraktal pertama kali dikemukakan
oleh B. Mandelbrot. Geometri fraktal
memberikan gambaran dan model matematika kejadian kompleks di alam
yang berbeda dengan geometri Euclidian
yang dikenal selama ini. Objek dalam
geometri Euclidian digambarkan dengan rumus, sedangkan
pada geometri fraktal digambarkan
dengan suatu algoritma iteratif. Dimensi fraktal memiliki sifat self-similarity,
yaitu setiap bagian dari fraktal
menyerupai keseluruhan bagian yang
lebih besar namun dalam skala yang berbeda. Ini artinya, bagian-bagian dari
objek akan terlihat identik dengan
objek itu sendiri bila dilihat secara keseluruhan. Alam memiliki sifat ini,
misalnya cabang-cabang pohon
menyerupai pohonnya, puncak gunung mempunyai bentuk sama dengan
pegunungan, awan kecil mempunyai
pola yang sama dengan awan besar,
demikian juga dengan struktur atom sama seperti tata surya makro kosmik.
Oleh karena itu fraktal sering disebut
goemetri alam. Pembangkitan fraktal dapat dilakukan
dengan melakukan iterasi baik terhadap
fungsi matematika atau dapat juga iterasi atas elemen-elemen dasar
penyusun grafik, seperti titik, garis dan
bentuk-bentuk geometri sederhana
seperti segitiga, segiempat dan lain-lain. Fraktal yang terakhir ini dinamakan
fraktal bebas, contohnya adalah fraktal
plasma dan fraktal pohon. Sedangkan fraktal-fraktal yang dibangkitkan
melalui fungsi matematika antara lain
fraktal yang berbasis bilangan kompleks
dan fraktal yang berbasis fungsi polynomial. Fraktal berbasis fungsi
polynomial akan menghasilkan gambar-
gambar yang indah dan akan
menghasilkan gambar fraktal yang unik. Bentuk-bentuk fraktal dari iterasi fungsi
matematika semakin menarik, indah, dan bervariasi setelah ditemukan mesin
komputer yang sangat membantu
komputasi (perhitungan). Selain membantu komputasinya, mesin
komputer dengan perkembangan
teknologi tampilannya, membantu
penampilan bangun fraktal menjadi menakjubkan (Mujiono, 2002). Pada
penelitian sebelumnya (Jauhari dkk,
2004) telah dibuat perangkat lunak untuk membangkitkan fraktal berbasis
fungsi polinomial, tetapi perangkat
lunak yang dibuat masih memiliki beberapa kelemahan antara lain masih
belum ada fasilitas untuk memperbesar
gambar, variabel-variabel masukan
masih dibatasi hanya untuk bilangan-bilangan tertentu. Untuk itu pada tulisan
ini perangkat lunak tersebut telah
dikembangkan lebih lanjut untuk mengatasi kekurangan-kekurangan
tersebut.
Penelitian ini ditulis dengan tujuan
untuk mengembangkan perangkat lunak pembangkit fraktal berbasis fungsi
polynomial, dengan mengikuti langkah-
langkah metodologi pengembangan perangkat lunak waterfall model.
Sedangkan manfaat dari penelitian ini
adalah dapat menghasilkan gambar fraktal yang bervariasi, tergantung pada
parameter, variabel dan warna masukan.
Fraktal berasal dari bahasa latin, dari
kata kerja frangere yang berarti membelah atau kata sifat fractus yang
artinya tidak teratur atau terfragmentasi.
Beberapa pakar yang lain mengatakan dalam bahwa fraktal adalah gambar
yang secara intuitif berkarakter, yaitu
setiap bagian pada sembarang ukuran jika diperbesar secukupnya akan tampak
seperti gambar seutuhnya ada dua
informasi terkandung di dalamnya :
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 71
1. Gambar primitif sebagai blok
pembangun, yang jika diduplikasi
dengan berbagai ukuran dan
dikomposisikan dapat membentuk gambar.
2. Aturan rekursif yang mendefinisikan
posisi relatif dari gambar primitif dengan berbagai ukuran.
Himpunan Fraktal menurut Falconer
(1992 : 40) mempunyai 5 karakter, yaitu :
1. Merupakan struktur halus,walaupun
diperbesar seberapapun. 2. Bersifat terlalu tidak teratur, jika
digambarkan dengan bahasa
geometri biasa. 3. Mempunyai Self-similarity ,
mungkin secara pendekatan maupun
secara statistik.
4. Dimensi fraktal biasanya lebih besar dari dimensi topologinya.
5. Umumnya dapat didefinisikan
secara sederhana, mungkin secara rekursif.
Secara umum dari pendapat-pendapat di
atas dapat disimpulkan sifat-sifat fraktal
ada 2 macam, yaitu : Self-similarity
Fraktal adalah obyek yang memiliki
kemiripan dengan dirinya sendiri (Self-similarity) namun dalam skala
yang berbeda, ini artinya obyek
fraktal terdiri dari bagian-bagian yang memiliki sifat seperti obyek
tersebut. Setiap bagian obyek
tersebut bila diperbesar akan identik
dengan obyek tersebut. Dimension
Fraktal adalah obyek yang memiliki
dimensi bilangan riil. Untuk membandingkan ukuran fraktal
diperlukan dimensi fraktal. Dimensi
fraktal didefinisikan sebagai kerapatan fraktal menempati ruang
metrik.
Panjang sebuah segmen garis
(dimensi dua) dapat diketahui
dengan mengukur panjang antar
dua titik. Namun obyek fraktal
tidak dapat diukur panjangnya,
karena memiliki variasi tak hingga.
Gambar 1. Obyek Fraktal
Gambar 1 menunjukkan panjang dari
objek fraktal tersebut bertambah 4/3
setiap tahap. Sehingga panjang objek fraktal tersebut = 4/3 x 4/3 x 4/3 x ….
Objek fraktal tersebut memiliki panjang
tak berhingga. Dalam geometri fraktal, fraktal adalah
sebuah titik di dalam ruang metrik.
Ruang metrik disimbolkan dengan X, adalah himpunan titik-titik yang disertai
dengan fungsi d : X x X → ℜ yang mengukur jarak antara dua buah titik di
ruang tersebut.
Definisi 1. Sebuah ruang X adalah sebuah himpunan. Titik-titik
pada ruang adalah anggota-
anggota dari himpunan.
Definisi 2. Sebuah ruang metrik (X,d) adalah sebuah ruang X bersama
dengan sebuah fungsi riil d : X x
X → ℜ yang mengukur jarak antara dua titik x dan y pada X. Fungsi ini memiliki aksioma
sebagai berikut :
(1) Simetri d(x,y) = d(y,x) ∀x,y
∈ X
(2) Positif 0<d(x,y)<∞ ∀x,y ∈
X, x ≠ y (3) Jarak ke diri sendiri d(x,x) =
0, ∀x ∈ X
Panjang segmen = 1
Total = 1
Panjang segmen = 1/3
Total = 4/3
Panjang segmen = 1/9
Total = 16/9
( a )
( b )
( c )
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
72
(4) Ketaksamaan segitiga d(x,y)
≤ d(x,z) + d(z,y) ∀x,y,z ∈ X Fungsi d disebut sebagai metrik.
Definisi 3. Dua buah metrik d1 dan d2
pada ruang X adalah sama jika ada bilangan konstan 0 < c1 < c2
< ∞ sedemikian hingga :
c1d1(x,y) ≤ d2(x,y) ≤ c2d1(x,y)
∀(x,y) ∈ X x X
Sebuah titik dalam geometri fraktal dapat berupa gambar
hitam putih, yaitu himpunan
bagian yang padat dari ruang X. Dalam geometri fraktal ruang
dimana fraktal ‘hidup’ adalah
himpunan bagian dari X dan
disimbolkan dengan F. Definisi 4. Misalkan (X, d) adalah ruang
metrik lengkap, maka F(X)
menyatakan ruang yang titik-titiknya adalah himpunan
bagian dari X. Titik-titik di
ruang F disimbolkan dengan huruf kapital, misalnya A, B,
dan lain-lain.
Jika x ∈ X dan B ∈ F(X) , maka jarak antara titik x dengan himpunan B dalam
ruang metrik adalah :
d(x,B) = minimum{d(x, y), y ∈ B}
Gambar 2. Jarak Titik ke Himpunan
Sedangkan jarak antara A ∈ F(X) dan B
∈ F(X) dalam suatu ruang metrik yang sama didefinisikan oleh
d(A,B) = maksimum{d(x, B), x ∈ A}
Gambar 3. Jarak Himpunan ke
Himpunan
Definisi 5. Misalkan (X, d) adalah ruang
metrik lengkap, maka jarak Hausdorf antara titik A dan B di dalam F(X)
adalah :
h(A,B) = maksimum{d(A,B), d(B,A)}.
Gambar 4. Jarak Haussdorff
Fraktal Berbasis Fungsi Polinomial
Dalam penelitian ini fungsi polynomial
yang akan dibahas adalah :
a. Polinomial Tchebychev
Polinomial Tchebychev adalah
polinomial yang di dalam bidang teknik
elektro banyak digunakan dalam tapis frekuensi. Ada empat macam polinomial
Tchebychev, yaitu Tn, Un, Cn, dan Sn.
Iterasi dilakukan atas fungsi sebagai
berikut
)(. 1−= nn zfcz
dengan zn adalah bilangan kompleks,
f(zn-1) adalah salah satu bentuk
polinomial Tchebychev (yaitu Tchebychev T, C, U atau S) dan c adalah
suatu konstanta bilangan kompleks yang
nilainya ditentukan oleh suatu lokasi
d(x, B)
Titik x
Himpunan Bd(x, B) = minimum {d(x,y), y anggota B
h(A, B)
Himpunan B
h(A, B) = maksimum dari d(A,B) dan d(B,A)
Himpunan A
d(A, B)
Himpunan B
d(A, B) = maksimum {d(x,B), x anggota A
Himpunan A
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 73
titik dalam bidang kompleks. Untuk
menentukan koefisien dari polinomial
Tchebychev dapat dilihat pada tabel-
tabel berikut :
Tabel 1. Koefisien Polinomial Tchebychev T
z0 z1 z2 z3 z4 z5 z6 z7
T0 1
T1 1
T2 -1 2
T3 -3 4
T4 1 -8 8
T5 5 -20 16
T6 -1 18 -48 32
T7 -7 56 -112 64
Tabel 2.Koefisien Polinomial Tchebychev C
z0 z1 z2 z3 z4 z5 z6 z7
C0 2
C1 1
C2 -2 1
C3 -3 1
C4 2 -4 1
C5 5 -5 1
C6 -2 9 -6 1
C7 -7 14 -7 1
Tabel 3. Koefisien Polinomial Tchebychev U
z0 z1 z2 z3 z4 z5 z6 z7
U0 1
U1 2
U2 -1 4
U3 -4 8
U4 1 -
12
16
U5 6 -32 32
U6 -1 24 -80 64
U7 -8 80 -192 128
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
74
Tabel 4. Koefisien Polinomial Tchebychev S
z0 z1 z2 z3 z4 z5 z6 z7
S0 1
S1 1
S2 -1 1
S3 -2 1
S4 1 -3 1
S5 3 -4 1
S6 -1 6 -5 1
S7 -4 1
0
-6 6
Sebagai contoh misalkan akan
dibangkitkan suatu fraktal Tchebychev
C6, berdasarkan tabel 2 koefisien untuk polinomial Tchebychev C6 adalah :
)296( 246
6 −+−= zzzC
sehingga fraktal Tchebychev C6 dihasilkan dengan melakukan iterasi atas
fungsi
)296( 246−+−= zzzczn
b. Polinomial Legendre dan Laguerre
Fraktal Legendre dan Laguerre dihasilkan dari proses iterasi atas fungsi
Legendre dan Laguerre yaitu :
czfd
z nn +=−
)(1
1
dengan zn adalah bilangan kompleks, d
adalah suatu konstanta (yang dalam
tabel 3 dan 4 pada label pembagi), f(zn-1) adalah polinomial Legendre atau
Laguerre sesuai dengan jenis fraktal
yang akan dihasilkan dan c adalah suatu konstanta bilangan kompleks. Sebagai
contoh, misalnya akan dibuat fraktal
Legendre P5, maka polinomialnya
adalah :
zzzP 157063 35
5 +−=
dengan nilai d nya adalah 8. Jika
persamaan terakhir disubstitusikan ke persamaan awal maka fraktal Legendre
diperoleh dari iterasi fungsi :
czzzz ++−= )157063(125,0 355
Tabel 5. Koefisien Polinomial Legendre
Pembagi z0 z1 z2 z3 z4 z5 z6 z7
P0 1 1
P1 1 1
P2 2 -1 3
P3 2 -3 5
P4 8 3 -30 35
P5 8 15 -70 63
P6 16 -5 105 -315 231
P7 16 -35 315 -693 429
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 75
Tabel 6. Koefisien Polinomial Laguerre
Pembagi Z0 z1 z2 z3 z4 z5 z6
L0 1 1
L1 1 1 -1
L2 2 2 -4 1
L3 6 6 -18 9 -1
L4 24 24 -96 72 -16 1
L5 120 120 -600 600 -200 25 -1
L6 720 720 -
4320
5400 2400 450 -36 1
c. Polinomial Hermite
Fraktal Hermite diperoleh dengan melakukan iterasi atas fungsi berikut :
czfz nn +=−
)( 1
dengan zn adalah bilangan kompleks,
f(zn-1) adalah polinomial Hermite dan c adalah konstanta bilangan kompleks.
Untuk menentukan koefisien
polinomialnya dapat dilihat pada tabel
berikut :
Tabel 7. Koefisien Polinomial Hermite
z0 Z1 z2 z3 z4 z5 z6 z7
H0 1
H1 2
H2 -2 4
H3 -12 8
H4 12 -48 16
H5 120 -160 32
H6 -120 720 -480 64
H7 -1680 3360 -
1344
128
2. METODOLOGI PENELITIAN
Metode penelitian yang digunakan
dalam penelitian ini adalah metodologi pengembangan perangkat lunak
Waterfall Model (Pressman, 2003 : 50).
Tahapan-tahapan pengembangannya,
yaitu :
1. Analisis dan perancangan perangkat
lunak
Tahap analisis adalah tahapan pengumpulan kebutuhan-kebutuhan
dari semua elemen sistem perangkat
lunak yang akan di bangun. Metode perancangan yang
digunakan adalah model fungsional
yaitu Data Flow Diagram (DFD).
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
76
2. Implementasi perangkat lunak
Mengimplementasikan hasil
perancangan perangkat lunak ke
dalam bahasa pemrograman, yaitu ke dalam bahasa pemrograman
Borland C++ Builder Versi 4.0
3. Pengujian perangkat lunak Menguji perangkat lunak terhadap
beberapa kasus uji dan
mengevaluasi kinerja perangkat
lunak apakah sudah sesuai dengan kebutuhan yang diinginkan.
3. HASIL DAN PEMBAHASAN
3.1. Hasil Analisis Dan Perancangan
Perangkat Lunak
Fasilitas-fasilitas yang ada di dalam
perangkat lunak yang diberi nama
PoliFrak ini adalah sebagai berikut :
1. Pembangkitan Fraktal yang terdiri
dari
� Membangkitkan fraktal baru, dengan adanya fasilitas ini maka
dapat dibuat sebuah fraktal
dengan masukan berupa file
teks. � Modifikasi Fraktal, dengan
fasilitas ini sebuah fraktal yang
telah dibentuk dapat dimodifikasi dengan cara
memodifikasi parameter-
parameternya. Fraktal yang akan
dimodifikasi harus sudah ada di dalam suatu list fraktal. Di
samping itu Fraktal yang sudah
dimodifikasi dapat disimpan atau dibatalkan.
2. Menyimpan data fraktal, dengan
fasilitas ini suatu fraktal yang sudah
dibangkitkan atau dimodifikasi
dapat disimpan ke dalam direktori
tertentu atau ke dalam list fraktal.
3. Membuka data fraktal, dengan adanya fasilitas ini pengguna dapat
membuka suatu fraktal dari list
fraktal dengan cara memilih suatu file yang akan di buka.
4. Menampilkan About, dengan adanya
fasilitas ini pengguna dapat
menampilkan form yang berisi informasi mengenai perangkat lunak
ini.
4. PERANCANGAN ANTAR
MUKA
Di dalam sebuah perangkat lunak,
antarmuka memegang peranan penting
karena antarmuka berhubungan langsung dengan pengguna perangkat
lunak. Untuk memudahkan pengguna
digunakan sistem menu pull down. Menu dan sub menunya seperti berikut
ini :
� Menu File yang terdiri dari : Sub
menu Open, Sub menu Save, Sub menu Save As, Sub Menu Close,
Sub menu Exit
� Menu Generation yang terdiri dari
: Sub menu Create, Sub menu
Modification
• Menu Help yang terdiri dari :
Submenu About
Selain menu pulldown, ada beberapa
tombol (buttonspeed) yang merupakan
shortcut ke beberapa proses yaitu tombol Open, Save, Create dan
Modification.
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 77
Gambar 6. Struktur Menu
b. Perancangan Layar Saji Pengguna berinteraksi dengan perangkat
lunak PoliFrak melalui layar saji dalam
bentuk jendela (Windows). Layar saji terdiri dari jendela utama, jendela create
dan jendela about.
Perancangan masing-masing layar saji
untuk setiap jendela adalah sebagai berikut
1. Jendela layar utama
Jendela layar utama ini adalah layar pertama yang muncul jika perangkat
lunak dijalankan. Pada layar ini
pengguna dapat memilih menu-menu
yang ada. 2. Jendela Create
Bila pengguna membuka tombol
Generation kemudian Create pada layar menu utama, maka jendela
Create akan muncul. Jendela ini akan
digunakan oleh pengguna sebagai sarana memasukkan paremater-
parameter untuk membangkitkan
fraktal.
3. Jendela About Jendela ini menampilkan informasi
mengenai nama perangkat lunak,
pembuatnya, versi pembuatan, tahun pembuatan dan nama lembaga.
5. MODEL FUNGSIONAL Model fungsional menggambarkan
proses-proses yang terjadi dalam
perangkat lunak, masukan serta keluaran
yang terjadi pada proses. Model
fungsional PoliFrak akan digambarkan dalam diagram aliran data (DFD).
Diagram aliran data untuk PoliFrak
terdiri dari diagram context dan diagram aliran data level-level
berikutnya yang merupakan turunan dari
diagram context dengan proses yang
lebih terperinci.
a. Diagram Konteks Diagram Konteks PoliFrak
digambarkan pada gambar 7. Masukan ke sistem berupa parameter-parameter
masukan, sedangkan keluarannya
gambar fraktal dan pesan kesalahan.
Gambar 7. Diagram Konteks (DFD
level 0)
b. DFD Level 1
Gambar 8. memperlihatkan perincian
proses dari DFD level 1, yang terdiri dari proses-proses sebagai berikut :
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
78
Pengguna
1.0
Inputing Data
Data Variabel, Parameter,
Warna dan Pilihan Fraktal
Pesan Kesalahan
Parameter dan
Variabel proses,
Warna,
Pilihan Fraktal
2.0
Operation
Fraktal
3.0
Saving Data
4.0
Displaying
Fraktal
File Data
Pengguna
Parameter, Variabel, Warna
dan Pilihan Fraktal
Parameter, Variabel, Warna
dan Pilihan Fraktal
Parameter, Variabel,
Warna dan Pilihan Fraktal
Nama File
Nama FileGambar Fraktal
Gambar Fraktal
Fili Gambar
Fraktal,
File Teks
Gambar
Fraktal
Gambar 8. DFD level 1
6. IMPLEMENTASI PERANGKAT
LUNAK
Perangkat lunak PoliFrak dibangun dalam lingkungan pemrograman
Microsoft Windows. Bahasa
pemrograman yang dipakai adalah
Borland C++ Builder 4.0. Adapun
alasan pemilihan lingkungan ini
adalah : � Jika dibandingkan dengan
lingkungan berbasis mode teks seperti DOS, lingkungan
Windows mempunyai
kemampuan untuk memberikan
antar muka yang lebih baik dan mudah.
� Bahasa pemrograman C++
hemat ruang memori, sehingga
relatif lebih cepat
menjalankannya,, meskipun aplikasi yang dibuat melakukan
proses terhadap gambar.
� Penggunaan C++ Builder karena aplikasi ini cukup potensial
untuk pemrograman visual dan
pembuatan antar muka yang memadai.
a. Implementasi Antarmuka
Pengguna Untuk memudahkan pemakai dalam
penggunaannya PoliFrak dilengkapi
dengan menu. Respon aksi yang diberikan pemakai/pengguna melalui
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 79
menu diimplementasikan dalam
program pada sebuah procedure.
Keseluruhan procedure yang dikerjakan
implementasinya sesuai dengan struktur menu seperti dalam tabel berikut :
Tabel 1. Pengaktifan Prosedur
Melalui Struktur Menu
Keberadaan
di Form
Nama
Item
Menu
Nama Procedure
JendelaMenu
Utama
File
Open FileOpen1Click
Save FileSave1Click
SaveAs FileSaveAs1Click
Close FileClose1Click
Exit FileExit1Click
JendelaMenu
Utama
Generation
Create GenerationCreate1
Click
Modificati
on
GenerationModific
ation1Click
JendelaAbout Help
About HelpAbout1Click
b. Implementasi Jendela Utama
Langkah pertama dalam
mengimplementasikan jendela utama
adalah dengan menampilkan form dan unit program yang berasosiasi
dengannya. Pada form ini telah tersedia
tiga tombol kontrol yaitu minimize,
maximize/restore, dan close disudut kanan atas. Demikian juga dibagian atas
terdapat caption bar untuk
menempatkan judul form yang akan di buat. Langkah berikutnya adalah dengan
memilih komponen pallete untuk
menampilkan struktur menu dan tombol-tombol speedbutton serta area untuk
menampilkan gambar fraktal yang akan
dibangkitkan.
7. KESIMPULAN DAN SARAN
Dari Pembahasan mengenai
sebelumnya, dapat ditarik beberapa kesimpulan sebagai berikut :
1. Geometri fraktal dapat
dibangkitkan dengan cara
melakukan iterasi terhadap
suatu fungsi matematika tertentu. Salah satu fungsi
matematika tersebut adalah
fungsi yang berbasis fungsi polynomial.
2. Perangkat lunak PoliFrak
dibangun dengan menggunakan
metode perancangan berorientasi aliran data (DFD)
dan diimplementasi dengan
perangkat pengembangan Borland C++ Builder versi 6.0,
dan telah mencapai tujuan yang
diinginkan yaitu dapat membangkitkan fraktal.
3. Perangkat lunak yang dibuat
telah dapat menampilkan citra
seperti yang diinginkan sesuai dengan parameter dan variable
masukan yang diberikan
pengguna. Untuk proses pengembangan lebih
lanjut, maka beberapa saran yang perlu
dipertimbangkan adalah perlu
dikembangkan dan dibuat perangkat lunak pembangkit fraktal yang lain,
misalnya berbasis fungsi transenden,
fraktal pohon, dan fractal plasma.
8. DAFTAR PUSTAKA
Barnsley, Michael F. 1995. Fractals
Everywhere. London : Academic
Press Professional
Falconer,Kenneth. 1992. Fractal
Geometry: Mathemetical
Foundation & Applications. New
York : John-Wiley & Sons.
Jauhari, Jaidan. 2002. Perangkat
Lunak Pembangkit Fraktal
Mandelbrot, Jurnal Ilmiah
Matrik Universitas Bina Darma
Palembang 4(3), Halaman 149-
158
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
80
Jauhari, Jaidan, dkk. 2004.
Perangkat Lunak Pembangkit
Fraktal. Makalah disampaikan
pada Seminar Nasional Research
and Studies Proyek TPSDP
Tanggal 11-13 Februari 2004 di
Yogyakarta
Jain, Anil K.1989. Fundamentals Of
Digital Image Processing.
Englewood Cliffs: Prentice-Hall
International Editions.
Mandelbrot, B.B. 1997. The Fractal
Geometry of Nature. W.H.
Freeman Company Martono, Koko. 2000. Sari Informasi
Fungsi Kompleks. Bandung :
HIPMA ITB
Munir, Rinaldi,1999.
Pengelompokan Blok Ranah
Berdasarkan Rata-rata dan
Variansi Intensitas Pixel Pada
Pemampatan citra Dengan Transformasi Fraktal, Tesis
tidak diterbitkan. Bandung :
Magister Informatika ITB
Oliver,Dick.1992. Fractal
Vision:Puts Fractals to Work
For You.Sams.
Mujiono, 2002. Tentang Fraktal.
Harian Umum Kompas Tanggal
10 Mei 2002
Online:www.kompas.com/kompas_c
etak/0205/10/iptek/tent34.htm
[diakses tanggal 15 Juli 2004]
Pietronero, L and E. Tosatti.1995.
Fractal in Physics. Proceeding of
the Sixth Trieste Int. Symp. On
Fractal in Physics, ICTP, Trieste
Italy, July 9-12
Pressman, R.S. 2003. Software Engeneering : A Practitioner’s
Approach (5thed). New York :
Mc Graw Hill.
Purcell, E.J. dan Dale Verberg. 1995.
Kalkulus dan Geometri Analitis
(Jilid 2) Jakarta : Erlangga.
Stevens,Roger.T. 1990. Advanced
Fractal Programming in C.
M&T Books
Jauhari, Pengembangan Perangkat Lunak Pembangkit Fraktal… 81
9. LAMPIRAN
Contoh Keluaran yang dihasilkan adalah
sebagai berikut :
1. Fraktal Berbasis Polynomial
Tchebychep
Gambar berikut diperoleh dari masukan
Xmax = 1,2 Ymax = 1,2
Faktor Warna = 5
Xmin = -1.2 Ymin = -0,9
2. Fraktal Berbasis Polynomial
Legendre Gambar berikut diperoleh dari masukan
Xmax = 1,4 Ymax = 1,2
Faktor Warna = 8
Xmin = -1,4 Ymin = -1,2
1. Ir, Bambang Tutuko, M.T . Asisten Ahli Fakultas Ilmu Komputer 2. Sarmayanta Sembiring, S.Si Tenaga Pengajar Fakultas Ilmu Komputer
82
Perancangan Scanner Pembacaan Data KRS/KPRS
Berbasis Mikrokontroller AT89S52
Bambang Tutuko & Sarmayanta Sembiring
Jurusan Sistem Komputer
Fakultas Ilmu Komputer
Universitas Sriwijaya
[email protected], [email protected]
Abstrak
Penggunaan sistem otomatisasi dengan sensor sebagai pendeteksi dan
mikrokontroler sebagai kendali sangat banyak sekali digunakan dalam aplikasi
bidang pendidikan. Salah satunya adalah sistem scanner menggunakan media
optik sebagai sensor, yang telah banyak dipakai dalam pengisian dan
pengoreksian KRS / KPRS. Namun peralatan yang dijual saat ini berharga relatif
mahal, berdasarkan hal tersebut dilakukan penelitian perancangan scanner KRS
/ KPRS menggunakan sensor photodioda dan berbasiskan mikrokontroler agar
biaya dapat ditekan dan menghasilkan kinerja yang baik. Dari hasil pengujian
dapat disimpulkan bahwa sistem yang dirancang bekerja dengan performansi
yang diinginkan dan dapat membaca data dengan baik yaitu angka 1 sd 9 selain
itu dibaca x dan terjadi konversi data dari 10 bit menjadi 8 bit.
Kata kunci : Sensor, Mikrokontroler, Photodioda
Abstract
Automation system with sensor as detector and microcontroller as controller has
been commonly used in education application. One example is scanner system
using optic media as sensor which has been often used in filling and checking
KRS/KPRS. However, the equipment sold costs relatively expensive nowadays.
Therefore, the research was done on designing scanner KRS/KPRS using
photodiode sensor and based on microcontroller in order to minimize the cost and
the result is still in a good performance. From the testing it could be concluded
that this system performance worked as expected. It could read the data well; that
was the number 1 until 9 besides it was read as x and happened to be data
conversion from 10 bit to 8 bit.
Keyword : Scanner, Microcontroller AT89S52, Photodioda
Tutuko & Sembiring Perancangan Scanner Pembacaan data Krs…
83
1. PENDAHULUAN
1.1 Latar Belakang Penggunaan sistem otomatisasi dengan
sensor sebagai pendeteksi dan
mikrokontroler sebagai kendali sangat banyak sekali digunakan dalam aplikasi
bidang pendidikan. Salah satunya adalah
sistem scanner menggunakan media optik sebagai pendeteksi data lembar
komputer. Pada saat ini pengisian dan
pengkoreksian KRS / KPRS di lembaga
pendidikan masih banyak dilakukan secara manual yang menggunakan
tenaga manusia dalam menginput data,
cara seperti itu tidak begitu praktis dan akurat.
Scanner salah satu media yang dapat
membantu dalam melakukan pembacaan
data, berupa sinyal digital dimana scanner ini dilengkapi dengan sensor
yang berfungsi sebagai media
pembacaan data lembar kerja computer. Data yang telah di baca oleh scanner
akan menjadi input mikrokontroller
sebagai kendali dan kemudian di kirim ke komputer secara serial.
OMR adalah salah satu jenis peralatan
scaner yang banyak digunakan oleh
instansi dalam pembacaan data maupun pemeriksaan hasil ujian, namun
peralatan tersebut sangat mahal,
berdasarkan hal tersebutlah dilakukan penelitian “Perancangan scanner KRS /
KPRS berbasiskan mikrokontroler”.
Diharapkan dari penelitian ini biaya untuk pembuatan peralatan akan
menjadi lebih murah dan dengan
kualitas yang baik.
1.2 Perumusan Masalah
Permasalahan yang akan menjadi
bahasan utama dalam penelitian adalah adalah perancangan alat scanner dengan
menggunakan sensor cahaya photodioda
sebagai pendeteksi bulatan hitam pada
lembar computer dan menjadi inputan bagi mikrokontroler AT89S52.
Pemilihan sensor tersebut dengan
pertimbangan harga yang relatif lebih
murah dan kulitas daerah kerja yang
baik, Sehingga dalam pembaacaan
lembar KRS / KPRS diharapkan menghasil kinerja yang baik sesuai
dengan spesifikasi yang diharapkan.
1.3 Tujuan Penelitian
Tujuan penelitian ini untuk
mengembangkan riset bidang sistem
kendali dan elektronika digital dengan aplikasi alat scanner yang digunakan
untuk membaca data KRS dan KPRS
menggunakan sensor photodiode dan mikrokontroler AT89S52, untuk
mempercepat pengolahan dan
pengecekan data sehingga data yang didapat lebih akurat dan proses
pengoreksi lebih cepat.
1.4 Manfaat Penelitian Hasil penelitian ini akan sangat
bermanfaat bagi Jurusan di lingkungan
Unsri khususnya di Fakultas ilmu komputer dalam proses penginputan
KRS / KPRS mahasiswa, sehingga
mempermudah jurusan dalam membuat
laporan dan rekap data mata kuliah permahasiswa
2. TINJAUAN PUSTAKA
2.1. Mikrokontroler AT89S52
Mikrokontroler AT89S52, merupakan salah satu jenis dari mikrokontroler
yang diproduksi oleh atmel. Dimana
mikrokontroler jenis ini kompatibel
dalam hal proses penggunaannya dengan jenis program MC-S52 yand
dikeluarkan oleh intel. Semua perangkat
MCS-52 memiliki ruang alamat tersendiri untuk perogram memori dan
data memori. AT89S52 mempunyai 40
kaki, 32 kaki digunakan untuk keperluan port paralel buatan ATMEL.
Setiap port terdiri atas 8 pin, sehingga
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
84
terdapat 4 port, yaitu port 0, port 1, port
2, dan port 3. Pemisahan program dan
data memori memungkinkan
pengaksesan data memori dan pengalamatan 8 bit, sehingga dapat
langsung disimpan dan dimanipulasi
oleh mikrokontroler dengan kapasitas akses 8 bit. Dan untuk pengaksesan data
memori dengan alamat 16 bit, terlebih
dahulu register DPTR (Data Pointer).
Mikrokontroler AT89S52 memiliki 32 saluran I/O. Rangkaianya minimum
system dapat dilihat pada Gambar 2.1
Gambar 2.1. Minimum System
AT89S52
2.2. Rangkaian Sensor
Apabila photodiode menerima cahaya
maka arus pada photodiode akan mendekati satu fasa dengan fluks cahaya
sehingga tegangan V1 akan berbanding
terbalik degan besar arus yang melalui
photodiode. Tegangan V1 selanjutnya akan dibandingkan dengan Vref dimana
nilai Vref dibuat lebih kecil dari V1
pada saat cahaya yang diterima fotodioda yang terhalang kertas
KRS/KPRS tanpa bulatan hitam. Nilai
Vref harus lebih besar dari V1 pada saat cahaya yang diterima fotodioda yang
terhalang kertas KRS/KPRS dengan
bulatan hitam.
VccRR
RV
ref
42
4
+
=
Apabila Vin < Vref maka Vout = Vcc
(berlogika 1) dan apabilai Vin ≥ Vref maka Vout = 0 (berlogika 0).
Gambar 2.2 Rangkaian Sensor
cahaya
2.3. IC MAX-232 Komunikasi dengan port serial PC
dilakukan dengan menggunakan standar
RS232 oleh karena itu diperlukan interfacing IC RS232 sebagai perantara
antara port serial PC dengan port serial
mikrokontroler AT89S52. Fungsi utama
dari IC RS232 adalah mengubah data serial. Pada saat mikrokontroler
menerima data serial dari port serial PC
dalam bentuk RS232 maka akan diubah oleh RS232 menjadi level TTL dahulu
sebelum diterima. Sebaliknya pada saat
mikrokontroler mengirimkan data serial melalui port serial mikrokontroler dalam
level TTL maka akan diubah dulu ke
dalam bentuk RS232 sebelum diterima
oleh port serial PC. IC MAX-232 adalah sebuah IC yang mengubah level
tegangan TTL ke RS-232 atau
sebaliknya. Rangkaian tersebut dapat dilihat pada Gambar 2.3.
Tutuko & Sembiring Perancangan Scanner Pembacaan data Krs…
85
Gambar 2.3. Rangkaian IC MAX-232
3. METODOLOGI PENELITIAN
3.1 Perancangan Hardware.
Blok diagram perancangan dapat dilihat
pada Gambar 3.1 dibawah ini :
Gambar 3.1. Blok Diagram
Perancangan
Kertas KRS/KPRS akan masuk ditarik
motor stepper pertama menuju sensor. Lalu bulatan-hitma akan dibaca dalam
bit dan dikondisikan dengan rangkaian
gerbang logika. Data yang terbaca selanjutnya akan dikirim ke PC melalui
port serial mikrokontroller ke port serial
PC dengan interfacing MAX 232.
Pada saat kertas KRS/KPRS yang tidak diberi tanda lingkaran hitam menutupi
photodiode yang disinari dari atas
dengan sumber cahaya maka photodiode masih menerima sebagaian intesitas
cahaya tersebut dan pada saat kertas
KRS/KPRS yang diberi bulatan hitam
melewati photodiode maka hanya sebagian kecil saja intesitas cahaya yang
diterima photodiode. Dengan kondisi
diatas maka V1 pada saat tidak ada
bulatan hitam lebih kecil dari V1 pada
saat ada bulatan hitam. V1 sebagai sinyal analog tersebut selanjutnya dirubah
menjadi sinyal digital dengan dua
kondisi yaitu 1 dan 0 dengan cara membandingkan V1 terhadap VRef yang
telah diatur, dimana VRef diatur lebih
besar dari V1 pada saat kertas
KRS/KPRS tidak ada bulatan hitam dan VRef lebih kecil dari V1 pada saat
KRS/KPRS ada bulatan hitam. Vout akan
berlogika 1 apabila V1 < VRef dan Vout akan berlogika 0 apabila V1 ≥ VRef.
Pengisian KRS/KPRS ditandai dengan
bulatan hitam untuk menandai nomor yang dipilih. Untuk setiap baris terdiri
atas nomor 0 s/d 9 (10 digit). Karena
mikrokontroller yang digunakan pada
penelitian ini untuk setiap port nya 8 bit. Untuk memudahkan dan menghemat
rangkaian pengkode maka 5 bit pertama
terhubung langsung (straight) dengan 5 bit pertama dan 5 bit terakhir di
kondisikan degan rangkaian logika
sehingga outputnya akan menjadi 3 bit.
5 bit terakhir hanya mewakili 5 kondisi yaitu pilihan angka 5,6,7,8 dan 9, jika
ada pilihan kombinasi maka dianggap
salah. 3 bit output merupan rangkaian kombinasi yang dapat mewakili 000(2)
s/d 111(2).
3.2. Rancangan Perangkat Lunak
Berikut ini adalah flowchart dari
mikrokontroller untuk membaca data
dari KRS/KPRS per port dan langsung dikirimkan ke komputer melalui port
serial. Pada penelitian ini digunakan port
0 sebagai input.
JURNAL ILMIAH GENERIC VOLUME 4, NOMOR 1, JANUARI 2009
86
Gambar 3.2 Flowchart Input Sensor
4. PENGUJIAN DAN ANALISIS
Pada penelitian ini, data yang diamati meliputi tegangan output dari sensor
saat tidak ada kertas KRS/KPRS yang
menghalanginya, saat ada kertas KRS/KPRS yang menghalangi tetapi
tidak ada bulan hitam dan saat sensor
dihalangi kertas KRS/KPRS yang ada
bulatan hitam. Selain data dalam bentuk tegangan yang dikelurkan sensor data
yang diamati adalah deret biner yang
dihasilkan sensor setiap kali melakukan pembacaan per baris dan kolom serta
data yang dikirimkan ke komputer
melalui port serial.
4.1. Hasil Pengujian Lembar Scanner Pengujian ini dilakukan pada 2 port
keluaran mikrokontroler. Port pertama
digunakan sebagai input menuju
komputer dan port yang lain untuk
menggerakan motor. Dari hasil
pengujian data yang didapat adalah sebagai berikut :
Tabel 4.1 Hasil Konversi
Mikrokotroler
tanda
Hitam
Krs /
Kprs
Data 10 Bit
Indikator
Data 8 bit
indikator
Data
Ke
PC
0 1111111110 11111110 0
1 1111111101 11111101 1
2 1111111011 11111011 2
3 1111110111 11110111 3
4 1111101111 11101111 4
5 1111011111 11011111 5
6 1110111111 10111111 6
7 1101111111 10011111 7
8 1011111111 1111111 8
9 111111111 1011111 9
Selain
itu Selain itu Selain itu X
Apabila kertas komputer yang dilingkari
hitam adalah angka 1 maka data yang
akan kirim oleh sensor ke mikro adalah 1111111110 kemudian mikrokontroler
akan mengolah data tersebut mejadi
string yang bernilai 1, dan apabila terjadi kesalahan dalam pembulatan
pada kertas komputer seperti
pembulatan 2 kali pada kolom yang sama atau pembulatan yang tidak tepat
maka mikrokontroler akan membaca
data yang dikirim oleh sensor akan
dibaca error.
4.2. Pengujian Software
Pengujian lakukan dengan
menggunakan 1 buah PC yang berfungsi menerima input dari mikrokontroler,
untuk menghubungkan mikrokontroler
dan PC menggunakan serial RS 232.
software yang digunakan adalah VB
Tutuko & Sembiring Perancangan Scanner Pembacaan data Krs…
87
sebagai media untuk menampilkan hasil
inputan mikrokontroler. Pada aplikasi
ini pertama ditampilkan menu login.
Gambar 4.1 Form Login
Aplikasi ini akan menampilkan data
setelah ada inputan dari mikrokontroler,
tampilan pada aplikasi ini sesuai dengan kondisi yang telah dikondisikan pada
mikrokontroler, adapun tampilan pada
aplikasi ini adalah seperti gambar 4.3
dibawah ini.
5. KESIMPULAN
Berdasarkan hasil pengujian dan analisa
yang dilakukan pada sistem yang telah
di buat maka dapat disimpulkan bahwa
1. Tegangan referensi untuk setiap
komporator berbeda
2. Mekanik dalam hal ini (tempat sensor) sangat menentukan
ketepatan pembacaan
3. Faktor cahaya eksternal mempengaruhi tegangan refrensi
4. Pada komunikasi serial,
penginisialisasian baudrate
dilakukan pada PC dan pada mikrokontroller. Kedua inisialisasi
ini harus sama
6. DAFTAR PUSTAKA
Brown, A.D., and J.L. Volakis, “Patch
Antennas on Ferromagnetic
Substrates”, IEEE Transactions on
Antennas and Propagation, vol. 47 pp. 33-39, Nov 1999
Demeterscu, D. and B.V. Budaev. “TM
Electromagnetic Scattering by a
Transparent Wedge with Resistive
Faces”, IEEE Transactions on Antennas and Propagation, vol.
50 pp. 47-54, April 2000..
Elliot, Scot D., & Daniel J. Dailey, 1995, “Wireless Communications
for Inteligent Transportation
Systems”, Artech House Inc.,
London Hayt, William H. Jr., 1992.
“Elektromagnetika Teknologi”,
Penerbit Erlangga, Bandung. Lee, C.W. and H. Son. “Radiation
Characteristics of Dielectric-
Coated Coaxial Waveguided Periodic Slot with Finite and Zero
Thickness”, IEEE Transactions on
Antennas and Propagation, vol.
43 pp. 16-25, January 1999. Siwiak, Kazimierz. 1995. “Radiowave
Propagation and Antena For
Personal Communication”, Artech House Inc., London.