Anda di halaman 1dari 54

IMPLEMENTASI ARTIFICIAL NEURAL NETWORK (ANN)

UNTUK OPTICAL CHARACTER RECOGNATION


Febriana Santi Wahyuni, Sandy Nataly Mantja
PENERAPAN AGILE MODELING PADA PEMBANGUNAN
SISTEM PERSEWAAN MOBIL
Karina Auliasari
SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT KULIT
DENGAN METODE CERTAINTY FACTOR
Ali Mahmudi, Reza Desegi
OPTIMASI SALES FORCE AUTOMATION (SFA) UNTUK MENGANALISA
LOYALITAS PELANGGAN DAN PERAMALAN PENJUALAN
Sandy Nataly Mantja, Febriana Santi Wahyuni
MEDIA PEMBELAJARAN DASAR KOMUNIKASI DATA PADA
JARINGAN KOMPUTER MENGGUNAKAN PROTOKOL UDP
Michael Ardita, Nurlaily Vendyansyah
PENGGUNAAN PROGRAMMABLE LOGIC DEVICE (PLD) BERBASIS
PROGRAMMABLE ARRAY LOGIC (PAL) DAN GENERIC ARRAY LOGIC (GAL)
UNTUK MULTIPLEXER DAN DEMULTIPLEXER 4 BIT
Sonny Prasetio
APLIKASI KOMUNIKASI DATA REMOTE COMPUTER CLIENT
Nurlaily Vendyansyah, Michael Ardita

Bytes Vol 2 No 1, September 2012

ISSN : 2089-9912

JURNAL TEKNIK INFORMATIKA


SUSUNAN DEWAN REDAKSI
Penanggung Jawab
Ketua Program Studi Teknik Informatika
Ketua
Ali Mahmudi, B.Eng, PhD
Sekretaris
Sonny Prasetio, ST, MT
Redaksi
Febriana Santi Wahyuni, Skom, MKom
Sandy Nataly Mantja, Skom
Michael Ardita, ST, MT
Penyunting Ahli :
Dr. Cahyo Crysdian, ST, MSc (UIN Maliki, Malang)
M. Helmi Widyarto, B.Eng, PhD (Departemen TI, PT Krakatau Steel, Cilegon, Banten)
Dr. Eng. Aryuanto, ST, MT. (Intitut Teknologi Nasional, Malang)
Romy Budhi Widodo ST, MT. (Universitas Ma Chung, Malang)
Yan Watequlis Syaifudin, ST, MMT (Politeknik Negeri, Malang)
M. Ashar ST, MT. (Universitas Negeri, Malang)

Alamat Penyunting dan Tata Usaha :


Program Studi Teknik Informatika S1
Jl. Raya Karanglo KM. 2 Malang
Telepon (0341) 417636
Fax. (0341) 417634
Email : informatika@itn.ac.id
Terbit dua kali dalam setahun pada bulan Maret dan September. Berisi gagasan, konseptual,
kajian teori, aplikasi teori Teknik Informatika. Redaksi menerima sumbangan tulisan yang
belum pernah diterbitkan dalam media cetak.

Penulis artikel tidak dibenarkan melakukan plagiat, dan mengirimkan naskah milik pihak lain.
Jika melakukan pelanggaran, sepenuhnya menjadi tanggung jawab penulis artikel.

Bytes Vol 2 No 1, September 2013

ISSN : 2089-9912

JURNAL TEKNIK INFORMATIKA


1 IMPLEMENTASI ARTIFICIAL NEURAL NETWORK (ANN)
UNTUK OPTICAL CHARACTER RECOGNATION

Febriana Santi Wahyuni, Sandy Nataly Mantja

2 PENERAPAN AGILE MODELING PADA PEMBANGUNAN


SISTEM PERSEWAAN MOBIL

Karina Auliasari

3 SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT KULIT


DENGAN METODE CERTAINTY FACTOR

14

Ali Mahmudi, Reza Desegi

4 OPTIMASI SALES FORCE AUTOMATION (SFA) UNTUK MENGANALISA


LOYALITAS PELANGGAN DAN PERAMALAN PENJUALAN

19

Sandy Nataly Mantja, Febriana Santi Wahyuni

5 MEDIA PEMBELAJARAN DASAR KOMUNIKASI DATA PADA


JARINGAN KOMPUTER MENGGUNAKAN PROTOKOL UDP

23

Michael Ardita, Nurlaily Vendyansyah

6 PENGGUNAAN PROGRAMMABLE LOGIC DEVICE (PLD) BERBASIS


PROGRAMMABLE ARRAY LOGIC (PAL) DAN GENERIC ARRAY LOGIC (GAL)
UNTUK MULTIPLEXER DAN DEMULTIPLEXER 4 BIT

28

Sonny Prasetio

7 APLIKASI KOMUNIKASI DATA REMOTE COMPUTER CLIENT


Nurlaily Vendyansyah, Michael Ardita

43

Implementasi Artificial Neural Networ, Febiana | Sandy


IMPLEMENTASI ARTIFICIAL NEURAL NETWORK (ANN) UNTUK OPTICAL
CHARACTER RECOGNATION
Febriana Santi Wahyuni1 , Sandy Nataly Mantja2
1,2
Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
vbryana@yahoo.com, sandymantja@yahoo.com
Abstrak
Artificial Neural Network merupakan paradigma pemrosesan informasi yang mengadopsi
dari cara sistem syaraf biologis bekerja (Principe,2000). Artificial Neural Network digunakan
sebagai alat bantu untuk memodelkan hubungan masukan/inputan yang kompleks untuk di tangkap
dan direpresentasikan. Terdapat dua hal yang utama dalam Artificial Neural Network, yaitu learning
(pembelajaran) dan arsitektur. Dalam penelitian ini Artificial Neural Network diimplementasikan
untuk meningkatkan tingkat keakuratan pengenalan karakter pada kartu nama, metode pembelajaran
yang digunakan adalah Backpropagation dengan arsitektur jaringan multi layer network. Adapun
tahapan-tahapan yang dilakukan dalam penelitian ini meliputi pengumpulan pustaka, analisa dan
perancangan arsitektur, yang meliputi perancangan block diagram sistem, perancangan arsitektur
Artificial Neural Network, perancangan block diagram Optical Character Recognation, dilanjutkan
tahapan berikutnya implementasi dan tahapan terakhir adalah pengujian. Dari pengujian yang telah
dilakukan didapatkan hasil bahwa sistem dapat mengenali karakter pada kartu nama dengan tingkat
keakuratan rata-rata pada gambar kartu nama dengan format JPG sebesar 95,59%, untuk format
BMP sebesar 95,14% dan format .PNG sebesar 93,64%
Kata kunci : Artificial Neural Network, Optical Character Recognation

Pendahuluan
Sebuah Artificial Neural Network
(ANN)
adalah
paradigma
pengolahan
informasi yang terinspirasi oleh sistem syaraf
secara biologis, seperti otak. Elemen kunci dari
paradigma Artificial Neural Network adalah
struktur novel dari sistem pengolahan
informasi. Terdiri dari sejumlah elemen
pemrosesan yang saling berhubungan (neuron)
yang sangat besar, bekerja serentak untuk
menyelesaikan
masalah
tertentu
(Pricipe,2000).
Seperti manusia yang belajar dari
contoh, demikian juga dengan Artificial Neural
Network. Sebuah Artificial Neural Network
dikonfigurasi untuk aplikasi tertentu, seperti
klasifikasi pengenalan pola atau data, melalui
proses pembelajaran. Belajar dalam sistem
biologis melibatkan penyesuaian terhadap
koneksi sinaptik yang ada antara neuron. Hal
ini berlaku juga pada Artificial Neural Network

dimana memperoleh pengetahuan melalui


pembelajaran, dan pengetahuan yang disimpan
dalam koneksi antar-neuron yang kuat dan
dikenal sebagai bobot sinaptik (Alyda,2006).
Salah satu penerapan Artificial Neural
Network adalah digunakan untuk pengenalan
karakter optik yang dikenal dengan Optical
Character Recognation. Optical Character
Recognition merupakan suatu teknologi yang
memungkinkan mesin (komputer) secara
otomatis dapat mengenali karakter lewat suatu
mekanisme optik. Proses yang dilakukan
adalah mengubah citra yang mengandung
karakter-karakter di dalamnya ke dalam
informasi yang dapat dimanipulasi oleh mesin
Artificial Neural Network (ANN)
Neuron adalah satuan unit pemroses
terkecil dari otak, bentuk sederhana dari
sebuah neuron digambarkan seperti Gambar 1.

Jurnal Bytes

Vol 2 No 1, September 2013 : 1 8

Gambar 1. Struktur dasar Artificial Neural Network dan Struktur sederhana sebuah neuron.

Tiruan neuron dalam struktur Artificial


Neural Network adalah sebagai elemen
pemroses seperti ditunjukkan pada Gambar 2.
Dimana berfungsi sebagai sebuah neuron
dalam sistem syaraf dalam sel biologi.
Sejumlah sinyal input a dikalikan dengan

masing-masing penimbang yang bersesuaian


w. Selanjutnya dijumlahkan dari seluruh hasil
perkalian tersebut. Keluaran yang dihasilkan
dilewatkan kedalam fungsi pengaktif untuk
mendapatkan tingkatan derajad sinyal output
F(a,w).

Gambar 2. Model tiruan sebuah Neuron


Dimana :
aj
wj,i
ini
g
ai

: Nilai aktivasi dari unit j


: Bobot dari unit j
: Penjumlahan bobot dan masukan ke unit i
: Fungsi aktivasi
: Nilai aktivasi dari unit i

Implementasi Artificial Neural Networ, Febiana | Sandy

Metode Pelatihan pada Artificial Neural


Network
Metode pelatihan dibedakan menjadi 2
yaitu Pelatihan Terbimbing (Supervised
Training) dan Pelatihan Tidak Terbimbing
(Unsupervised Training). Metode pelatihan
terbimbing dilakukan dengan memasukkan
target output dalam data untuk proses training.
Beberapa metode pelatihan terbimbing yang
sering digunakan yaitu Single Perceptron,
Multi Perceptron dan Back Propagation.
Sedangkan metode pelatihan tak terbimbing
dilakukan tanpa memerlukan target pada
output-nya. Dilakukan berdasarkan proses
transformasi dari bentuk variabel kontinyu
menjadi variabel diskrit, atau dikenal dengan
kuantisasi vektor. Adapun beberapa metode
>

pada pelatihan tak terbimbing ini meliputi


metode Kohonen (Self Organizing Map-SOM)
, metode Hopfield dan metode Hibrida.
Arsitektur Artificial Neural NEtwork
1. Jaringan layar tunggal (single layer
network)
Jaringan dengan lapisan tunggal
umumnya terdiri dari 1 layar input dan 1
layar output. Setiap neuron atau unit yang
terdapat pada layar input selalu terhubung
dengan setiap neuron yang terdapat pada
layar output. Pada gambar 2.7 ini
menggambarkan arsitektur jaringan layar
tunggal dengan 3 layar input dan 1 layar
output.

W11
W31
21

Nilai Input

Layer Output ( Y1 )

Layer Input ( X1, X2, X3 )

Nilai Output

WXY : Matriks Bobot

Keterangan :

Gambar 3 Arsitektur Jaringan Layar Tunggal


2. Jaringan layar jamak (multi layer
network)
Jaringan dengan layar jamak
memiliki layar input, layar tersembunyi
(hidden layer), dan layar output. Jaringan
V11
V21
V31

Keterangan :

V12
V22
V32

dengan layar jamak mampu menyelesaikan


permasalahan yang lebih kompleks
dibandingkan dengan jaringan layar
tunggal,
namun
proses
pelatihan
membutuhkan waktu lama.
W11
W21

Nilai Input

Layer Input ( X1, X2, X3 )

Layer Output ( Y1 )

WZY : Matriks Bobot Kedua

Nilai Output

VXZ : Matriks Bobot Pertama

Layer Tersembunyi ( Z1, Z2 )

Gambar 4 Arsitektur Jaringan Layar Jamak

Jurnal Bytes

3. Reccurent
Model jaringan reccurent mirip dengan
jaringan layar tunggal maupun majemuk.
Hanya saja, ada neuron output yang
memberikan sinyal pada layar atau unit input.
Hal ini juga sering disebut dengan feedback
loop (Siang, 2005)
Pelatihan Jaringan Syaraf Tiruan
Berdasarkan dari cara memodifikasi
bobotnya, ada terdapat tiga macam
pelatihan yang dikenal secara umum
didalam metode jaringan syaraf tiruan
yaitu:
1. Supervisi (supervised)
Dalam pelatihan dengan supervisi,
terdapat sejumlah pasangan data (masukan
target keluaran) yang dipakai untuk
melatih jaringan hingga didapatkan bobot
jaringan yang diinginkan. Untuk setiap kali
pelatihan, suatu input diberikan ke jaringan
akan memproses dan mengeluarkan
keluaran. Selisih antara keluaran jaringan
dengan target merupakan kesalahan yang
terjadi. Jaringan akan memodifikasi bobot
sesuai dengan kesalahan tersebut (Siang,
2005). Contoh model yang di gunakan :
Perceptron, Backpropagation, ADALINE
dan Hopfield.
2. Tanpa Supervisi (unsepervised)
Dalam jaringan kompetitif, jaringan
terdiri dari dua layar atau lapisan, yaitu
layar input dan layar kompetensi. Layar
input menerima data eksternal. Layar
kompetitif berisi neuron-neuron yang saling
berkompetisi agar memperoleh kesempatan
untuk merespon atau menanggapi sifat-sifat
yang ada didalam data masukan. Neuron
yang memenangkan kompetisi akan
memperoleh sinyal yang berikutnya ia
teruskan. Bobot dari neuron pemenang akan
dimodifikasi sehingga menyerupai dengan
data masukkan (Siang, 2005). Contoh
model yang digunakan : Competitive dan
Neocognitron.
3. Hibrida (hybrid)
Merupakan
kombinasi
dari
pembelajaran supervisi dan tanpa supervisi.
Sebagian dari bobot-bobotnya ditntukan
melalui pembelajaran yang supervisi dan
sebagiannya melalui pembelajaran tanpa
supervisi. Contoh model yang digunakan :
algoritma RBF.

Vol 2 No 1, September 2013 : 1 8

Optical Character Recognation


Terdapat beberapa tahapan didalam proses
pengenalan karakter optik (Optical Character
Recognation) meliputi akuisisi citra, pra
pemrosesan, analisa citra, ekstraksi ciri,
pelatihan dan pengenalan (Saefurrahman,
2004). Adapun penjelasan detail mengenai
masing-masing tahapan tersebut adalah
sebagai berikut.
Image Acquisition (Akuisisi Citra).
Akuisisi citra merupakan tahapan
dimana citra atau dokumen yang akan
diproses harus didigitalisasi terlebih dahulu.
Proses ini melibatkan dua teknik yang
umum dikenal di lingkungan pengolahan
citra, yaitu sampling dan kuantisasi.
Sampling merupakan proses mengambil
koordinat citra kontinu ke dalam koordinat
citra digital. Hal ini melibatkan sumbu
diagonal (x) dan vertikal (y) pada dimensi
dua.
Sedangkan pada proses kuantisasi,
apabila citra memiliki warna, sensor warna
harus dilibatkan dalam proses ini. Sensor
yang umum dipakai adalah RGB (Red
Green Blue), dimana setiap sensor akan
memfilter nilai intensitas pada tiap-tiap
piksel, kemudian memetakkannya ke dalam
suatu dimensi yang dikenal dengan triplet
RGB. Proses akuisisi ini melibatkan alatalat optik seperti scanner.
Preprocessing (Pra Pemrosesan)
Pra pemrosesan adalah suatu
tahapan dimana citra yang telah
didigitalisasi akan diberikan perbaikanperbaikan
seperti
noise
removal,
sharpening, skew correction, dan lain
sebagainya. Pada proses ini pula citra RGB
yang telah digitalisasi akan diubah menjadi
citra biner, dimana pada tahap pemrosesan
lebih lanjut akan dibutuhkan citra dengan
nilai-nilai pixel yang pasti (0 atau 1). Secara
umum, nilai nol untuk mewakili intensitas
yang paling gelap dan nilai satu untuk
mewakili nilai intensitas yang paling
terang. Skew correction merupakan proses
mengoreksi arah proyeksi dari obyek-obyek
yang terdapat didalam suatu citra,
kemudian memperbaikinya dengan arah
proyeksi yang baru.

Implementasi Artificial Neural Networ, Febiana | Sandy

Document Page Analysis (Analisa Citra).


Analisa citra merupakan proses
dimana bertujuan untuk mendapatkan
obyek-obyek tertentu di dalam citra. Pada
Optical Character Recognition (OCR),
yang dimaksudkan objek adalah karakterkarakter yang terkandung di dalam citra.
Proses yang mungkin dilakukan antara lain
adalah edge detection (deteksi sisi) atau
segmentasi. Proses segmentasi yang
dilakukan adalah memilah sekumpulan
karakter di dalam region (area) tertentu ke
dalam karakter tunggal maupun karakter
majemuk (teks). Secara umum, tipe-tipe
segmentasi yang akan dilakukan antara lain
adalah line segmentation (garis), word
segmentation (kata), dan character
segmentation (karakter tunggal).
Feature Extraction (Ekstraksi Ciri)
Pada tahapan ekstraksi ciri, setiap
karakter akan direpresentasikan ke dalam
vektor ciri. Tujuannya adalah mendapatkan
himpunan ciri-ciri yang dimiliki oleh karakter.
Karena terdapat beragam tipe variabel atau ciri
yang akan didapatkan, maka proses ini
bukanlah proses yang mudah. Pada tahapan
ini, sering dikenal suatu metode yang
dinamakan zoning. Proses zoning dilakukan
dengan cara membuat matrik dengan ukuran

sebesar R C frame, dimana setiap frame


tersebut mewakili karakter tunggal yang
sedang diproses. Pada tahapan selanjutnya,
akan dicari suatu nilai probabilitas atau
kemungkinan antara bit-bit pada frame
karakter dengan pola bit yang tersimpan pada
template sistem.
Training and Recognition (Pembelajaran
dan Pengenalan).
Proses pembelajaran dan pelatihan
melibatkan metode jaringan syaraf tiruan
dengan template (data pembanding) untuk
menentukan hasilnya
Metode Penelitian
Adapun tahapan penelitian yang
dilakukan meliputi studi pustaka yaitu
mengumpulkan hasil penelitian terdahulu
mengenai Artificial Neural Network dan
Optical Character Recognation. Dilanjutkan
dengan melakukan perancangan block diagram
sistem, arsitektur Artificial Neural Network
dan block diagram Optical Character
Recognation
Rancangan block diagram sistem
Adapun perancangan dari block diagram dari
sistem seperti ditunjukkan pada Gambar 5.

Gambar 5. Block Diagram Sistem

Jurnal Bytes

Vol 2 No 1, September 2013 : 1 8

Citra masukan berupa citra digital hasil scan


dari dokumen fisik, lalu akan diproses melalui
tahapan-tahapan yakni Preprocesing (tahap
awal
perbaikan
citra),
Segmentation
(pengelompokan tunggal atau majemuk),
Feature Extration (representasi ke dalam

vektor ciri) dan Training and Recognition.


Setelah dilakukan keseluruhan proses tersebut
hasilnya informasinya akan di simpan dalam
bentuk dokumen digital sehingga, dapat
digunakan.

Rancangan arsitektur Artificial Neural Network (Artificial Neural NEtwork)


Layar Input

Layar Output
Layar Tersembunyi

X1

Y1
Z1

K1

X2

Y2
Zj

Kp

Xn

Y3
1

1
35 neuron

Yi
144 neuron

144 neuron

36 neuron

Gambar 6. Arsitektur Artificial Neural Network


Rancangan arsitektur
Artificial
Neural Network ditunjukkan pada Gambar
6. Dimana input dari JST adalah 35 neuron,
yang merupakan vektor dari ekstraksi fitur
yang berdimensi 7 x 5, sehingga diperoleh
35 x 1. Arsitektur Artificial Neural Network
ini memiliki dua hidden layer yang masingmasing hidden layer terdiri dari 144
neuron. Adapun jumlah neuron pada layar
tersembunyi bukan merupakan ketetapan ,
tetapi konstanta yang di inisialisasi di awal
untuk mendapatkan hasil pelatihan yang
baik. Layar output terdiri dari 36 neuron
yang merupakan jumlah pola target yang
berjumlah 36 macam dengan penjabaran
karakter tunggal huruf A-Z = 26 macam
dan karakter angka 0-9 = 10 macam. Angka
1 menandakan nilai bias yang dimasukan
didalam jaringan sedangkan iterasi
pelatihan Artificial Neural NEtwork ini
dibatasi hingga mencapai 20.000 epoch.
Rancangan Optical Character Recognation
Rancangan untuk block diagram
Optical Character Recognation ditunjukkan

pada Gambar 7, dimana tahapan diawali


dengan acquisition image atau penangkapan
citra, dilakukan dengan melakukan pemindaian
(scaning) kartu nama, dilanjutkan dengan preprocessing, tahapan ini dilakukan bertujuan
untuk memperbaiki kualitas citra.
Preprocessing dilakukan dengan cara mengubah
dari citra berwarna menjadi citra greylevel,
dilanjutkan dengan proses binerisasi yaitu
proses mengubah citra greylevel ke citra hitam
putih. Dilanjutkan dengan proses thinning
yaitu suatu proses menjadikan citra satu pixel
untuk mempermudah proses ekstraksi ciri.
Tahap selanjutnya adalah melakukan
analisa halaman dokumen (document analysis
page), pada tahap ini dilakukan dengan
melakukan
segmentasi,
yaitu
proses
mengelompokkan citra kedalam baris dan
dilanjutkan dengan mengelompokkan kolom.
Segmentasi yang akan dilakukan antara lain
adalah line segmentation (garis), word
segmentation
(kata),
dan
character
segmentation (karakter tunggal). Dilanjutkan
dengan melakukan ekstraksi ciri dimana citra
yang sudah menjadi karakter tunggal akan

Implementasi Artificial Neural Networ, Febiana | Sandy

dibentuk kedalam matrik berukuran 7 x 5.


Hasil dari ekstraksi ciri dari seluruh karakter
dataset akan di lakukan pelatihan (training).

Tahapan
terakhir
(recognation).

adalah

Acquisition

Pre-processing

Document Page
Analysis

Recoqnation

Training

Feature Extraction

pengenalan

Gambar 7. Block Diagram Optical Character Recognation

Pengujian
Skenario pengujian dirancang sebagai
berikut, digunakan empat sampel kartu nama.
Dimana setiap kartu nama dalam format file
.PNG, .JPG dan .BMP, sehingga total kartu

No
1

nama yang di uji sebanyak 12 kartu nama..


Parameter pengujian berdasarkan pada tingkat
keakuratan sistem mengenali karakter pada
masing-masing kartu nama. Hasil pengujian
seperti
ditunjukkan
pada
Tabel.
1.

Tabel 1. Hasil Pengujian Pengenalan Karakter Pada 12 Kartu Nama


Nama
Format
Jumlah
Terbaca
Gagal
Prosentase
File
File
Karakter
Jpg
55
55
2
96,36
A1
Bmp
55
55
2
96,36
Png
55
55
2
96,36
jpg
68
68
2
97,06
A2
bmp
68
68
2
97,06
png
68
68
3
95,59
jpg
54
54
4
92,59
A3
bmp
54
54
4
92,59
png
54
54
6
88,89
jpg
55
53
2
96,36
A4
bmp
55
53
3
94,55
png
55
52
4
92,73

Jurnal Bytes

Simpulan
Simpulan yang dapat diperoleh dari penelitian
ini adalah tingkat akurasi pengenalan karakter
pada 12 kartu nama sebesar 94,71%. Format
file yang terbesar tingkat akurasinya adalah
95,59%. Kesalahan pengenalan karakter
disebabkan oleh kondisi fisik kartu nama, hasil
scan dan format file citra inputan yang
digunakan.
Daftar Pustaka
Alyuda, 2006, Neural Network Software.
http://www.alyuda.com/neural-networksoftware.htm
David A. Forsyth, Jean Ponce, 2003. Computer
Vision : A Modern Approach. Pearson
Education International.
Fadlisyah, 2007.
Computer Vision Dan
Pengolahan Citra. Andi. Yogyakarta.
Gonzales, Rafael C., 1992 ., Digital Image
Processing, Second Edition, AddisonWesley Publishing,
Principe, Jos C., Neil R. Euliano, Curt W.
Lefebvre, 2000, Neural and Adaptive
Systems:
Fundamentals
Through
Simulations, ISBN 0-471-35167-9

Vol 2 No 1, September 2013 : 1 8

Mamedov , Fakhraddin,. Jamal Fathi Abu


Hasna, ,. 2003, Character Recognation
Using Neural Networks. Near East
University, North Cyprus, Turkey via
Mersin-10, KKTC
Ni,Dong Xiao, 2007, Application of Neural
Networks to Character Recognition,
Proceedings
of
Students/Faculty
Research Day, CSIS, Pace University,
May 4th
Rinaldi Munir, 2004, Pengolahan Citra digital
dengan Pendekatan Algoritmik, Penerbit
Informatika Bandung.
Shrivastava, Madhup, Monika Sahu, & M.A
Rizvi,2012, Artificial Neural Network
Based Character Recognation Using
Backpropagat, International Journal of
Computers & Technology, ISSN:22773061 Volume 3, No. 1.
Siang, JJ. 2005. Artificial Neural NEtwork &
Pemogramannya
Menggunakan
MATLAB. .Yogyakarta: Andi Offset.

Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza

PENERAPAN AGILE MODELING PADA PEMBANGUNAN SISTEM PERSEWAAN MOBIL


Karina Auliasari
Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
karina.auliasari86@gmail.com
Abstrak
Metode dalam software engineering berkembang seiring dengan bergesernya aspek yang
mempengaruhi dalam pembuatan soft-ware itu sendiri. Jika pada tahun 80an aspek teknis sangat
penting, saat ini aspek non teknis justru yang berpengaruh pada pembuatan software. Agile modeling
hadir sebagai sebuah pen-dekatan software engineering informal yang memiliki langkah kerja namun
tidak terikat oleh aturan tertentu. Proses pada agile modeling sangat tepat diaplikasikan untuk
perusahaan yang akan mengembangkan sistem perangkat lunak yang komplek, sehingga bisa dilihat
dari berbagai sudut pandang. Paper ini secara detail memaparkan definisi, langkah kerja, kelebihan,
keku-rangan pada Agile Modeling dan studi kasus penerapannya pada pembangunan sistem pencatat
transaksi persewaan mobil.
Kata kunci : Software engineering, Agile modeling

Pendahuluan
Metode software engineering berkembang
dari tahun 80an hingga saat ini. Aspek yang
mempengaruhi
perkembangan
berbagai
metode berbeda-beda. Pada tahun 80an
pengembang software memperhatikan aspek
teknis, sedangkan pada saat ini lebih ke aspek
non teknis. Aspek teknis berkaitan erat dengan
software dan hardware sebagai suatu benda,
seperti penerapan software pada suatu
hardware, penerapan fungsi-fungsi tertentu
pada suatu software, pengunaan software dan
lain-lain. Sedangkan aspek non teknis lebih
mengacu pada pengguna dalam hal ini manusia
dan hal-hal yang mempengaruhi dalam
penggunaan software oleh manusia, seperti
proses bisnis, lingkungan kerja, dan lain-lain.
Berbagai metode software engineering
telah banyak dibuat dan dikembangkan oleh
para ahli, seperti Waterfall, Xtreme
Programming, DSDM, SCRUM, UP dan lainlain. Metode-metode tersebut tidak dipungkiri
ingin menampilkan berbagai kebutuhan yang
diperlukan atau yang perlu diketahui untuk
mengembangkan sebuah sistem perangkat
lunak. Pemodelan merupakan langkah
terpenting dalam menggambarkan kebutuhan
tiap proses dalam suatu metode software
engineering. Sebuah model dibuat dalam
metode software engineering untuk tujuan :

1. Memahami perangkat lunak seperti apa


yang akan dibangun.
2. Media komunikasi baik antar angota tim
pembangun perangakat lunak maupun
antara tim dengan klien.
Berbagai metode software engineering
konvensional mendeskripsikan kebutuhankebutuhan sistem yang akan dibangun secara
ketat, sehingga implementasi dari sistem yang
akan dibangun terhambat pada satu proses jika
proses sebelumnya belum sepenuhnya selesai.
Pendefinisian secara tepat dalam setiap proses
juga mempengaruhi jangka waktu yang
diperlukan oleh suatu proses. Keefektifan dari
metode software engineering konvensional
patut dipertanyakan melihat dari beberapa hal
tadi. Dalam hal ini agile modeling menjadi
solusi
yang
dapat
diambil
dalam
pengembangan perangkat lunak secara efektif
dari sisi pemanfaatan waktu dan efisien dari
sisi memodelkan kebutuhan sistem.
Agile Modeling
Agile modeling (AM) adalah sebuah
pendekatan untuk menggambarkan kebutuhan
dari sebuah sistem perangkat lunak yang akan
dibangun secara komprehensif. AM is chaordic
[1], in that it blends the chaos of simple
modeling practices and blends it with the order
inherent in software modeling artifacts.[1]

Jurnal Bytes

Gambar 1. AM meningkatkan kualitas


software proses [1]
Metode dalam agile software engineering
banyak dikembangkan. Masing-masing metode
memiliki karakteristik dalam tiap proses
software engineering. Berbagai penelitian telah
dilakukan
untuk
mengoptimalkan
pengaplikasian metode-metode tersebut dalam
membangun perangkat lunak. Penelitian untuk
mengidentifikasi tiap proses dalam beberapa
metode agile software engineering yang
digunakan, sehinggga mencapai kesuksesan
dalam pengembangan perangkat lunak [3].
Metode lain dalam agile software engineering
yaitu XP lebih meminimalkan pembuatan
artifact dalam proses software engineering,
namun metode ini berusaha mendekatkan
proses pengembangan software dengan calon
pengguna melalui diskusi secara langsung[4].
Dari penelitian-penelitian sebelumnya,
tiap metode memiliki prosedur yang baku
tanpa meninggalkan prinsip agile software
engineering. Agile modeling (AM) hadir
sebagai suatu pendekatan software engineering
yang fleksibel disesuaikan dengan metode
software engineering apapun yang ingin
dipakai pada saat pengerjaan pengembangan
perangkat lunak. AM bukanlah sebuah metode
yang baku namun memiliki langkah kerja yang
jelas.[1]
Dalam hal ini AM merupakan sebuah
solusi untuk memecahkan masalah pada
metode konvensional, yaitu bagaimana
memodelkan kebutuhan perangkat lunak yang
akan dibangun secara efektif, sehingga
kebutuhan-kebutuhan tersebut dapat diketahui
tanpa mengganggu implementasi proses
pengembangan
software
yang
telah
dijadwalkan.
Langkah kerja pada agile modeling [1] :
1. Collecting artifact
2. Apply right artifact
3. Create several models in paralel
4. Iterate to another artifact
5. Model in small increments
Pada langkah kerja collecting artifact dan
apply right artifact ada beberapa hal yang
diperhatikan [1] :

10

Vol 2 No 1, September 2013 : 9 13

1. Understanding business environment


2. Identify initial scope
3. Work closely with stakeholder
Dalam fase modeling pada agile modeling,
pemodelan yang dibuat untuk menggambarkan
kebutuhan sistem, meliputi beberapa hal :
1. Pemodelan kebutuhan calon pengguna
2. Pemodelan analisa sistem
3. Pemodelan arsitektur sistem
4. Pemodelan desain sistem
Kelebihan dan Kekurangan Agile Modeling
Kelebihan dari pengaplikasian agile
modeling dalam mengembangkan perangkat
lunak adalah AM mampu mengoptimalkan dan
mengintegrasikan model-model dalam metode
software engineering yang digunakan agar
sesuai dengan tujuan pembangunan perangkat
lunak.
Kekurangan dari agile modeling adalah
AM sangat tergantung terhadap eksistensi
model pada software engineering yang lain
dan tidak ada standar yang baku dalam AM
sehingga menimbulkan beda persepsi dalam
menggunakan pendekatan ini, sehingga tidak
adanya komunikasi yang seragam antara
software developer yang satu dengan software
developer yang lain yang sama-sama
menggunakan pendekatan AM.
Penerapan Agile Modeling pada
Pembangunan Sistem Pencatat Transaksi
Sewa Mobil
Studi kasus yang diimplementasikan
dalam penerapan AM adalah pembangunan
sistem pencatatan transaksi persewaan mobil.
Proses-proses dalam sistem pencatatan
transaksi persewaan
mobil diantaranya
pencatatan
traksaksi
persewaan
dan
pengembalian
mobil, pencetakan laporan,
pengelolaan data mobil. Sistem dibangun
dengan tujuan membantu pengguna dalam
proses pencatatan transaksi persewaan secara
terkomputerisasi, sehingga proses pencatatan
akan jauh lebih mudah dan cepat serta
menghasilkan laporan yang akurat.
Pada studi kasus ini proses dalam
membangun software menggunakan metode
eXtremme Programming (XP) yang mengikuti
langkah kerja pada AM. Pada bagian ini akan
dipaparkan tahapan dan aktifitas proses pada
metode eXtremme Programming (XP)yang
diperlihatkan dalam Gambar 2.

Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza

Proses Exploration
Pada proses exploration dikumpulkan
deskripsi dan kebutuhan-kebutuhan pengguna
pada sistem secara lengkap. Proses ini
dilakukan
secara
langsung
(oral
communication).
Proses
exploration
merupakan
tahap
inisialisasi
untuk
memperjelas ruang lingkup sistem, yang
dimanfaatkan untuk membuat dokumentasi
berupa use case, user story dan high level
architecture.
Hasil observasi sistem pencatatan transaksi
sewa mobil yang belum terkomputerisasi
ditunjukkan pada Gambar 3. Arsitektur sistem
yang dibangun diperlihatkan pada Gambar 4.

Gambar 4 Sistem pencatatan transaksi


sewa yang akan dibangun

Gambar 5 Use-case diagram sistem


transaksi sewa mobil
Gambar 2. Proses penerapan XP pada
pembangunan sistem

Gambar 3 Sistem pencatatan transaksi sewa


yang belum terkomputerisasi

Sistem pencatatan transaksi sewa yang


dikembangkan memiliki oleh dua akses
pengguna yaitu administrator dan petugas
administrasi. Administrator memiliki hak akses
penuh dalam melakukan pengelolaan data
mobil dan pengguna, sedangkan untuk petugas
memiliki hak akses dalam pengelolaan data
transaksaksi sewa mobil. Detail user access
pada sistem ini ditunjukkan pada Gambar 5.
Penjabaran untuk masing-masing proses yang
ada pada use-case diagram dibuat dalam
bentuk user stories seperti yang ditunjukkan
pada Gambar 6. Gambar 6 merupakan salah
satu contoh user stories pada sistem yang
menjabarkan proses interaksi antara petugas
administrasi sebagai actor dengan sistem untuk
proses pengelolaan data transaksi sewa.

11

Jurnal Bytes

Vol 2 No 1, September 2013 : 9 13

Gambar 8 Component model sistem


pencatatan transaksi sewa mobil

Gambar 6 User stories proses


manajemen data sewa
Proses Planning
Pada
proses
planning
dilakukan
pemodelan data-data yang digunakan dalam
sistem. Pemodelan data yang dihasilkan dalam
bentuk relasi tabel seperti yang ditunjukkan
pada Gambar 7. Tabel yang digunakan dalam
sistem berjumlah sembilan (9) tabel. Delapan
tabel pada sistem saling terhubung yaitu tabel
job, tabel petugas, tabel sewa, tabel konsumen,
tabel sewa, tabel mobil, tabel merk mobil,
tabel tipe mobil dan tabel model mobil. Untuk
tabel admin tidak terhubung karena tabel ini
digunakan untuk menyimpan data user access
administrator.

Proses Iteration
Proses iteration merupakan tahap
pembuatan
sistem,
pada
proses
ini
programmer melakukan pair programming
yaitu aktivitas coding secara berpasangan.
Aktifitas pair programming dilakukan
berdasarkan artifak sequence diagram yang
merupakan bagian dari proses iteration. Salah
satu contoh dari sequence diagram sistem
ditunjukkan pada Gambar 9.

Gambar 9 Sequence diagram manajemen data


sewa

Gambar 7 Relasi tabel sistem pencatatan


transaksi sewa mobil
Pada proses planning juga dirancang
arsitektur fitur yang ada pada sistem,
rancangan ini berupa component model seperti
yang ditunjukkan pada Gambar 8. Pada
component model dijabarkan modul-modul
yang ada pada sistem pencatatan transaksi
sewa mobil.

12

Proses Productionizing
Proses productionizing merupakan tahap
akhir dari metode software engineering
eXtreme Programming (XP). Pada proses ini
dihasilkan modul-modul yang merupakan hasil
implementasi dari sequence diagram pada
proses iteration. Seperti yang ditunjukkan
Gambar 10 dan Gambar 11 hasil implementasi
untuk modul manajemen dan isian data
transaksi sewa mobil.

Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza

f.

g.
Gambar 10 Tampilan modul
manajemen data sewa
h.

Gambar 11 Tampilan isian data pada modul


manajemen data sewa
Kesimpulan
Berdasarkan hasil dari penerapan metode
eXteremme
programming
(XP)
dalam
mengembangkan sistem didapatkan beberapa
kesimpulan sebagai berikut :
a. Metode XP sesuai diterapkan untuk
pengembangan project ini dengan scope
business process pada sistem yang tidak
kompleks (skala usaha kecil hingga
menengah), dengan jumlah tim developer
yang kecil dan klien yang kooperatif.
b. Metode XP Tidak banyak menghabiskan
waktu
untuk
membuat
beberapa
requirement document karena entry point
dari keseluruhan proses didaptkan dari
user stories.
c. User stories dibuat bersama dengan calon
user jadi requirement bisa dipahami
bersama (klien&tim developer) dari awal.
d. Adanya pembagian kerja secara jelas,
sehingga masing-masing individu dalam
tim memiliki tanggung jawab dan
komitmen untuk menyelesaikan project.
e. Kode program aplikasi dibagi dan
dibangun secara bersama, artinya tiap
programmer memiliki tanggung jawab
yang besar terhadap kode yang dibuat.

Tim developer harus memiliki komitmen


terhadap
project
karena
kunci
keberhasilan metode XP terletak pada
oral communication jika tim kurang
komunikasi maka performa kerja dan
hasil akan buruk atau bahkan gagal.
Pair programming
mengkonsumsi
banyak waktu apabila dalam tim terdapat
patner kerja baru yang membutuhkan
waktu untuk memahami kode program.
Dua programmer mengerjakan hal yang
sama dalam pair programming akan
mengurangi setengah waktu yang tersedia
untuk melakukan satu pekerjaan.

Daftar Pustaka
Ambler, Scot., (2002): Agile Modeling:
Effective
Practices
for
eXtreme
Programming and the Unified Process.
John Wiley&Sons,Inc.,New York.
Ambler, Scot., (2002): Agile Modeling: A Brief
Overview.,New York.
Baird, Stewart., (2003) : SAMS Teach Yourself
Extreme Programming in 24 Hours,
Sams Publishing, United States of
America.
Beecham, Sarah., Sharp, Helen., Baddoo,
Nathan., Hall, Tracy., Robinson, Hugh.,
(2007) : Does the XP Environment Meet
The Motivational Needs Of The
Software Development ? An Empirical
Study, IEEE Computer Society.
Keenan, Frank., (2004) : Agile Process
Tailoring and Problem Analysis
(APTLY), International Conference on
Software Engineering (ICSE).
Laboratorium SIRKEL, (2005) : Modul
Praktikum Rekayasa Perangkat Lunak :
Pengenalan UML, Universitas Islam
Indonesia Yogyakarta.
Pressman, Roger S., (2005) : Software
Engineering : A Practitioners Approach,
McGraw-Hall, New York.
Schardt, James., Chonoles, Michael., (2003) :
UML 2 for Dummies, Wiley Publishing,
Inc, New York.
Pusat Ilmu Komputer Universitas Indonesia,
(2007): Pengembangan Project dengan
Pendekatan Agile Modeling Unified
Process, Universitas Indonesia, Jakarta.

13

Jurnal Bytes

Vol 2 No 1, September 2013 : 14 18

SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT KULIT


DENGAN METODE CERTAINTY FACTOR
1,2

Ali Mahmudi1, Reza Desegi2


Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
amahmudi@hotmail.com, Rezadesegi@yahoo.com
Abstrak

Perkembangan teknologi komputer terus berkembang dan sangat berpengaruh pada


kehidupan manusia, termasuk dunia kesehatan, yang salah satunya adalah penyakit kulit.
Pengetahuan tentang penyakit kulit sangat dibutuhkan untuk mengatasi masalah penyakit kulit
tersebut secara cepat dan tepat. Meski kadang orang menganggapnya sepele, gangguan kulit ternyata
bisa sangat berbahaya bila salah dalam perawatannya. Untuk itu pengobatannya tidak boleh
dilakukan secara sembarangan. Dengan demikian, akhirnya timbul pemikiran bagaimana cara
mengatasi penyakit dan merawat kulit dengan menggunakan sistem pakar dengan tujuan lebih praktis
yaitu tanpa harus berkonsultasi kepada seorang pakar penyakit kulit. Sistem pakar adalah suatu
sistem yang berbasis komputer yang digunakan untuk membantu memberikan alternatif dan solusi
dari seorang pakar yang nantinya dapat menyelesaikan masalah dari sebuah permasalahan yang
lebih spesifik. Pada penerapannya, sistem pakar ini bertindak sebagai konsultan yang dapat
menjelaskan langkah-langkah dan tujuan yang nantinya menghasilkan keputusan dan kesimpulan.
Pada penulisan ini akan membahas pembuatan aplikasi sistem pakar penyakit kulit berbasis
web menggunakan konsep forward chaining dengan menggunakan metode certanty factor (CF) atau
faktor kepastian. Aplikasi ini di kembangkan untuk melakukan jenis penyakit kulit dan hanya
mendiagnosa gejala-gejala yang di alami oleh pasien selanjutnya di proses menggunakan metode CF
yang nantinya akan menghasilkan kesimpulan. Dalam aplikasi sistem pakar penyakit kulit ini
menggunakan pemograman PHP dan MySql sebagai penyimpanan databasenya.
Kata kunci : certainty factor, sistem pakar, penyakit kulit, web

Pendahuluan
Kulit adalah salah satu penunjang hidup
manusia yang merupakan indra peraba dan
sebagai penunjang penampilan pada manusia.
Oleh karena itu sangatlah penting untuk dijaga
keadaan ataupun keberadaannya. Pada manusia
kulit dapat terjangkit berbagai macam
penyakit, mulai dari penyakit ringan yang
berakibat gatal-gatal ataupun yang lebih berat
yang dapat berakibat kematian. Pengetahuan
tentang penyakit kulit sangat dibutuhkan untuk
mengatasi masalah penyakit kulit tersebut
secara cepat dan tepat. Meski kadang orang
menganggapnya sepele, gangguan kulit
ternyata bisa sangat berbahaya bila salah
dalam perawatannya.
Untuk itu pengobatannya tidak boleh
dilakukan secara sembarangan. Dengan
demikian, akhirnya timbul pemikiran tentang
cara mengatasi penyakit dan merawat kulit
tanpa harus berkonsultasi kepada seorang
pakar penyakit kulit. Pertama-tama seorang
pakar akan mengidentifikasi permasalahan

14

kulit yang diderita oleh pasien. Kemudian dari


identifikasi ini pakar dapat menentukan hasil
diagnosanya, yaitu penyakit yang diderita oleh
si pasien.
Meskipun seorang pakar adalah orang
yang ahli dibidangnya, namun dalam
kenyataannya seorang pakar mempunyai
keterbatasan daya ingat dan stamina kerja yang
salah satu faktornya disebabkan oleh usia dari
seorang
pakar.
Seiring
perkembangan
teknologi, dikembangkan pula suatu teknologi
yang mampu mengadopsi proses dan cara
berpikir manusia yaitu teknologi Artificial
Intelligence (AI) atau Kecerdasan Buatan [3].
Salah satu cakupan Artificial Intelligence (AI)
adalah sistem pakar yang diperuntukkan
seorang pakar guna membantu masyarakat
awam.
Sistem pakar adalah aplikasi berbasis
komputer
yang
digunakan
untuk
menyelesaikan masalah sebagaimana yang
dipikirkan oleh pakar. Pakar yang dimaksud
disini adalah orang yang mempunyai keahlian

Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza

khusus yang dapat menyelesaikan masalah


yang tidak dapat diselesaikan oleh orang
awam.
Salah satu implementasi yang diterapkan
sistem pakar dalam bidang kesehatan yaitu
sistem pakar berbasis web untuk mendiagnosis
macam-macam penyakit kulit. Sistem pakar ini
bermanfaat untuk memecahkan masalah
tentang penyakit kulit yang diderita
masyarakat. Untuk melakukan diagnosa
penyakit
kulit
dan
pencegahannya
(memberikan solusi pada pasien) dengan
menggunakan metode Certainty Factor (CF).
Certainty factor (CF) merupakan nilai
parameter klinis yang diberikan MYCIN untuk
menunjukkan besarnya kepercayaan.
Sistem Pakar[4][5]
Sistem pakar adalah sistem berbasis
komputer yang menggunakan pengetahuan,
fakta dan teknik penalaran dalam memecahkan
masalah yang biasanya hanya dapat
dipecahkan oleh seorang pakar dalam bidang
tersebut.
Secara umum, sistem pakar adalah sistem
yang berusaha mengadopsi pengetahuan
manusia ke komputer yang dirancang untuk
memodelkan kemampuan menyelesaikan
masalah seperti layaknya seorang pakar.
Dengan sistem pakar ini, orang awam pun
dapat menyelesaikan masalahnya atau sekedar
mencari suatu informasi berkualitas yang
sebenarnya hanya dapat diperoleh dengan
bantuan para ahli di bidangnya. Sistem pakar
ini juga akan dapat membantu aktivitas para
pakar sebagai asisten yang berpengalaman dan
mempunyai pengetahuan yang dibutuhkan.

ketidakpercayaan mutlak sedangkan nilai 1


menunjukkan kerpercayaan mutlak.
MB (H, E) : ukuran kenaikan kepercayaan
(measure of increased belief) terhadap
hipotesis H yang dipengaruhi oleh gejala E.
MD (H, E) :
ukuran
kenaikan
ketidakpercayaan (measure of increased
disbelief) terhadap hipotesis H yang
dipengaruhi oleh gejala E.
E = Evidence (Peristiwa atau fakta).
H = Hipotesis (Dugaan)

Untuk menghitung nilai CF dari 1 gejala


menggunakan rumus:
CF = MB MD
Sedangkan untuk menghitung nilai CF yang
lebih dari 1 gejala menggunakan rumus :
MB[h, e1 e2]
0
MB [h, e1] + MB [h, e2] (1 MB [h, e1])
MD[h, e1 e2]
0
=
MD [h, e1] + MD [h, e2] (1 MD [h, e1])
=

Flowchart Sistem
Flowchart adalah representasi grafik dari
langkah-langkah yang harus diikuti dalam
menyelesaikan
suatu permasalahan yang
terdiri atas sekumpulan simbol, dimana
masing-masing symbol mempresentasikan
suatu kegiatan tertentu. Flowchart diawali
dengan penerimaan input, pemrosesan input
dan diakhiri dengan penampilan output.

Metode Certainty Factor (CF)


Faktor kepastian (certainty factor)
diperkenalkan oleh Shortliffe Buchanan dalam
pembuatan MYCIN. Certainty factor (CF)
merupakan nilai parameter klinis yang
diberikan MYCIN untuk menunjukkan
besarnya kepercayaan. Rumus dasar faktor
kepastian :
CF (H, E) = MB (H, E) MD (H, E)
Keterangan :
- CF (H, E) : certainty factor dari hipotesis
H yang dipengaruhi oleh gejala (evidence)
E. Besarnya CF berkisar antara 1 sampai
dengan 1. Nilai 1 menunjukkan

Gambar 1. Flowchart Sistem

15

Jurnal Bytes

Vol 2 No 1, September 2013 : 14 18

Data Flow Diagram (DFD) Level 0 /


Diagram Konteks
Diagram konteks adalah alur data yang
berfungsi untuk menggambarkan keterkaitan
aliran-aliran data antara sistem dengan bagianbagian luar. Adapun diagram konteks untuk
sistem yang akan dibangun, ditunjukkan di
gambar
2.

Enternity Relationship Diagram (ERD)


Enternity Relationship Diagram (ERD)
adalah kumpulan dari relasi-relasi yang
mengandung seluruh informasi suatu entitas/
objek yang akan disimpan di dalam database.
ERD ditunjukkan di gambar 4.

data_penyakit

data_gejala
data_gejala

admin
sistem pakar

user

laporan_data_gejala

infomasi_penyakit

laporan_data_penyakit

Gambar 2. Diagram Konteks


DFD Level 1
Gambar 3 merupakan perincian dari
proses diagram konteks yaitu terdapat proses
inputan dan outputan data, yang di berikan
sistem kepada entity.
data_admin

data_admin

log_in

Gambar 4. Enternity Relationship Diagram


(ERD)
Struktur Menu Program
Desain menu program Sistem Pakar
Penyakit Kulit untuk user serta admin yang
merupakan seorang pakar penyakit kulit
dihadapkan pada halaman yang terdeskripsi
dalam struktur menu program seperti
ditunjukkan pada gambar 5.

data_admin

info_admin
admin
data_gejala
lap_gejala

2
data_gejala

data_gejala
data_gejala

3
data_penyakit
data_penyakit data_penyakit data_penyakit
lap_penyakit

data_solusi

lap_solusi

solusi

daftar

5
daftar

user

data_solusi

data_user

data_user

laporan_user

konsultasi

info_konsultasi

konsultasi

data_penyakit dan solusi

data_gejala

report_user

Gambar 3. DFD Level 1

16

Gambar 5. Struktur menu program


Halaman Utama
Halaman ini merupakan halaman
utama yang dapat diakses user dari aplikasi
untuk diagnosa penyakit kulit. Pada halaman
utama ini terdapat beberapa menu antara lain
home, informasi penyakit, info dokter kulit.
Tampilan dari halaman utama dapat
ditunjukkan pada gambar 6.

Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza

melakukan proses diagnosa untuk mengetahui


jenis penyakit yang dialami. Tampilan dari
halaman konsultasi dapat ditunjukkan pada
gambar 9.

Gambar 6. Halaman menu utama


Halaman Daftar Info Penyakit Kulit
Halaman daftar info penyakit kulit ini
merupakan halaman yang menampilkan
informasi penyakit beserta keterangannya yang
tersedia di dalam web sistem pakar penyakit
kulit. Tampilan dari halaman daftar info
penyakit kulit dapat ditunjukkan pada gambar
7.

Gambar 9. Halaman konsultasi.

Gambar 7. Halaman daftar info penyakit


Halaman Informasi
Halaman
informasi
merupakan
halaman yang disediakan oleh admin untuk
memberikan informasi-informasi yang terbaru
kepada user. Tampilan dari halaman informasi
dapat ditunjukkan pada gambar 8.

Pengujian Sistem
a. Pengujian sistem dengan membandingan
perhitungan manual dengan perhitungan
program, dengan menghitung satu gejala
untuk satu pennyakit, misal penyakit Kadas
dengan mengambil gejala Kulit bersisik
dengan nilai MB[h, e1] = 0,8 dan nilai
MD[h, e1] = 0,2, maka perhitungannya
adalah:
CF [Kadas, Kulit bersisik]
MB[h, e1] MD[h, e1]
= 0,8 0,2
= 0,6
Dan hasil pada program seperti ditunjukkan
pada gambar 10.

Gambar 8. Halaman informasi


Halaman Konsultasi
Halaman konsultasi ini merupakan
halaman yang menampilkan gejala-gejala pada
suatu sistem. Pada halaman ini pengguna

Gambar 10. Halaman hasil perhitungan satu


gejala untuk satu penyakit.

17

Jurnal Bytes

b. Pengujian sistem dengan menghitung dua


gejala untuk satu penyakit misal dengan
mengambil penyakit Exim, dengan gejala
kulit berwarna kemerahan dengan nilai
MB[h, e1]= 0,9 dan MD[h, e1] = 0,1, dan
kulit kering MB[h, e2]= 0,5 dan MD[h,
e2]=0,5, maka perhitungannya adalah :
MB [Exim, kulit berwarna kemerahan, kulit
kering]
MB [h, e1] : Kulit Kemerahan
MB [h, e2] : Kulit Kering
MB [h, e1]+MB [h, e2]*(1MB[h, e1])
=0,9+0,5*(1-0,9)
=0,9+0,5*(0,1) =0,9+0,05 =0,95
MD [Exim, kulit berwarna kemerahan, kulit
kering]
MD [h, e1] : Kulit Kemerahan
MD [h, e2] : Kulit Kering
MD [h, e1]+MD [h, e2]*(1MD[h, e1])
=0,1+0,5*(1-0,1)
=0,1+0,5*(0,9) =0,1+0,45 =0,55
CF [Exim, kulit berwarna kemerahan, kulit
kering]
CF = MB MD
= 0,95-0,55 = 0,40
Dan hasil programnya seperti ditunjukkan
pada gambar 11 :

Gambar 11. Halaman hasil perhitungan dua


gejala untuk satu penyakit.
Kesimpulan
Setelah melakukan analisis, perancangan, dan
pengujian, maka dapat diperoleh kesimpulan
sebagai berikut :
1. Sistem ini dapat mendiagnosa penyakit
kulit diantaranya Dermatitis Atopik (Exim),
Kadas (Tinea Corporis), Kudis (Skabies),
Kusta (Morbus Hansen), Herpes Zooster,
Panu (Pitriasis Versikolor) dan Cacar Air
(Varicella)
dengan memasukkan
informasi data gejala yang diderita oleh

18

Vol 2 No 1, September 2013 : 14 18

pasien yang akan diproses menggunakan


metode CF.
2. Dengan menggunakan sistem ini dapat
dijadikan solusi alternatif bagi masyarakat
untuk melakukan diagnosa dini terdapat
gejala-gejala suatu penyakit yang dirasakan
sebelum melakukan konsultasi langsung
kepada pakar dalam hal ini dokter spesialis
kulit.
Saran
1. Untuk mendapatkan hasil diagnose yang
lebih baik, jenis penyakit kulit sebaiknya
dapat dilengkapi. Semakin lengkap data
representasi pengetahuan yang ada maka
semakin akurat pula proses diagnosa yang
didapat tetapi juga pada kasus-kasus
lainnya.
2. Diharapkan aplikasi ini dikembangkan atau
dimodifikasi sesuai dengan penambahan
pengalaman dan kepakaran dalam bidang
kedokteran.
Daftar Pustaka
Arief, M. Rudyanto. 2011.
Pemrograman
Web Dinamis Menggunakan PHP
&
MySQL.
Yogyakarta: Penerbit
ANDI.
Arief mansjoer, Suprohaita, Wahyu, Wiwik.
1993. Kapita Selecta Kedokteran. Jilid
2. Jakarta: Media Aesculapius.
Kusumadewi, S. 2003. Artificial Intelligence
(Teori dan Aplikasinya). Yogyakarta:
Penerbit Graha Ilmu.
Kusrini. 2009. Aplikasi Sistem Pakar.
Yogyakarta: Penerbit ANDI.
Kusrini. 2006. Sistem Pakar Teori dan
Aplikasi. Yogyakarta: Andi Offset.
Nugroho, Bunafit. 2009. Aplikasi Prmograman
Web Dinamis dengan PHP dan MySql.
Yogyakarta: Penerbit Gava Media.
Nugroho, Bunafit. 2008. Membuat Aplikasi
Sistem Pakar dengan PHP dan Editor
Dreamweaver. Yogyakarta: Penerbit
Gava Media.
Paranginan, Kasiman. 2006. Aplikasi Web
dengan PHP dan MYSQL. Yogayakarta:
Penerbit ANDI.
Sugiri. 2008. Pengelolaan Database Mysql
Dengan Php Myadmin. Yogyakarta:
Penerbit Graha Ilmu.

Optimasi Sales Force Automation, Sandy | Febriana

OPTIMASI SALES FORCE AUTOMATION (SFA) UNTUK MENGANALISA LOYALITAS


PELANGGAN DAN PERAMALAN PENJUALAN
1,2

Sandy Nataly Mantja1 , Febriana Santi Wahyuni2


Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
sandymantja@yahoo.com, vbryana@yahoo.com
Abstrak

Persaingan dalam usaha saat ini sangat kompetitif. Pelanggan diberi kebebasan dalam
memilih barang ataupun jasa yang dianggap menguntungkan. Berbagai upaya dilakukan pelaku
usaha dalam meningkatkan penjualan dan mempertahankan pelanggan. Sales Force Automation
merupakan program yang dapat membantu pelaku usaha dalam meningkatkan penjualan secara
otomatisasi berdasarkan data yang ada. SFA juga dapat membantu pelaku usaha dalam
mempertahankan loyalitas pelanggan dengan cara mengembangkan usaha berdasarkan data yang
diperoleh dari pelanggan dan dapat meramalkan penjualan.
Kata kunci : Sales Force Automation, Loyalitas Pelanggan

Pendahuluan
Pelanggan merupakan aset yang sangat
penting dalam suatu organisasi, usaha dapat
berhasil karena adanya kepuasan pelanggan.
Loyalitas pelanggan merupakan salah satu
tujuan akhir dari suatu usaha. Tantangan
terbesarnya adalah menjaga dan mengelola
hubungan yang baik dengan pelanggan
(Customer
Relationship
Management)
sehingga pelanggan tetap loyal dalam jangka
waktu yang panjang. Pergeseran loyalitas
pelanggan disebabkan oleh banyak faktor.
Salah satu faktor penting adalah kurangnya
pemahaman pemilik usaha mengenai trend
pasar. Dengan pemahaman yang baik
mengenai trend atau pergeseran pasar,
loyalitas pelanggan akan terjaga dengan baik.
Sales Force Automation (SFA) merupaka
aplikasi
terpenting
dalam
operasional
Customer Relationship Management (CRM).
SFA mengelola berbagai aktifitas penjualan
pada perusahaan. Tujuan penerapan SFA
adalah manajer penjualan dapat mengetahui
performa tiap tenaga penjual, dapat
mengetahui perbandingan antara kegiatan dan
biaya yang dikeluarkan. Terdapat beberapa
kekurangan pada SFA yang ada saat ini
sehingga sulit dilakukan analisa loyalitas
pelanggan dan peramalan penjualan. Dengan
loyalitas pelanggan yang optimal maka dapat
diramalkan trend penjualan pada beberapa
tahun berikutnya.

Customer Relationship Management


Merupakan
strategi
bagaimana
perusahaan
dapat
mengoptimalkan
profitabilitas melalui kepuasan pelanggan.
CRM
merupakan
strategi
yang
menitikberatkan semua hal terkait dengan
pelanggan (Rustono, 2010)
Menurut Buttle (2009) jenis dari Customer
Relationship Management:
Strategi CRM
adalah suatu bagian penting strategi suatu
bisnis customer-centric yaitu target penting
dalam memenangkan dan mempertahankan
konsumen
Operasional CRM
fokus pada proses otomatisasi costumerfacing misalnya penjualan dan pemasaran
Analytical CRM
Analitis CRM fokus pada intelligent
mining. Yaitu data yang berhubungan
dengan konsumen guna menentukan
strategi penjualan.
Collaborative CRM
Yaitu kolaborasi CRM dengan teknologi si
semua
aspek
organisasi
untuk
mengoptimalkan hubungan perusahaan,
partner perusahaan dan konsumen
Fokus CRM pada pengelolaan dan
peningkatan hubungan dengan pelanggan
dalam jangka waktu yang panjang.

19

Jurnal Bytes

Sales Force Automation


Merupakan program atau usaha yang
memanfaatkan
teknologi
untuk
mengotomatisasi penjualan.
Sales Force Automation berguna bagi
perusahaan untuk merekam data dan dapat
memunculkan peluang pada tiap tahap
penjualan.
Komponen utama CRM adalah Sales
Force Automation untuk membantu Sales
Representative dalam mengatur account dan
riwayat pelanggan, mengatur daftar contact
pelanggan, mengatur jadwal kerja sales,
memberikan layanan training online untuk
jarak jauh, dapat membangun serta mengawasi
alur
penjualan
juga
mengoptimalkan
penyampaian informasi.
Aplikasi SFA dalam CRM
Secara otomatis mendata semua proses
penjualan mulai dari penawaran.
Mencatat data dan identitas pelanggan
Proses melengkapi informasi sesuai
kebutuhan perusahaan.
Modul Sales Force Automation:
Lead Management
mengelola informasi setiap ada prospek
yang baru yang didapatkan oleh perusahaan
maupun tenaga penjual
Potential
Management/
Opportunity
Management
Dari informasi yang sudah didapat
perusahaan
dilakukan
pengelolaan
informasi pejualan apa saja yang potensial
atau menguntungkan perusahaan.
Kebutuhan dicatat ke dalam suatu sistem,
contoh: produk yang dibutuhkan, jumlah
produk, peluang penutupan, kompetitor,
biaya yang dikeluarkan
Account & Contact Management
Proses perubahan status dari leads menjadi
Account dan Contact. Account adalah
modul untuk mengisi informasi yang
diperoleh perusahaan, Contact untuk
mengisi informasi personal
Activity Management
Bagian mana saja pada leads yang harus
ditindaklanjuti,
melakukan presentasi,
perhitungan apa saja yang harus dikerjakan.
Pada bagian ini terdapat notifikasi atau
reminder guna mengingatkan tugas-tugas
yang harus dikerjakan tenaga penjual.

20

Vol 2 No 1, September 2013 : 19 22

Quotation Management
Proses lanjutan dari potential Management
yaitu proses penawaran dalam bentuk
proposal.
Pelanggan
Pelanggan adalah seseorang yang
membeli barang dan jasa. (Lupiadi, 2001).
Jadi pelanggan adalah pelaku yang berulang
kali melakukan transaksi penjualan maupun
pembelian barang atau jasa.
Loyalitas Pelanggan
Secara harafiah loyalitas pelanggan
diartikan kesetiaan. Loyalitas pelanggan adalah
seseorang yang mempunyai kebiasaan
melakukan transaksi pembelian suatu produk
pada periode tertentu. Kesetiaan pelanggan
merupakan kunci penting dalam suatu usaha.
Pelanggan dikatakan loyal jika :
a. Melakukan tansaksi secara teratur.
b. Merekomendasikan kepada orang lain.
c. Tidak terpengaruh untuk pindah melakukan
transaksi dengan pesaing.
PERANCANGAN PERANGKAT LUNAK.
Proses penjualan secara manual dapat
digambarkan sebagai berikut:

Gambar 1. Proses penawaran dan


penjualan produk manual
Dari gambar 1 dapat disimpulkan bahwa
waktu yang dibutuhkan mulai dari proses
penawaran barang hingga rekap penjualan
tidak dapat dipastikan. Perlu dilakukan
penghitungan kembali berapa banyak produksi
barang yang akan dilakukan pada saat
kemudian. Marketing juga masih melakukan
penawaran barang dengan cara berkeliling.
Hasil permintaan barang dicatat kedalam
kertas dan diserahkan ke pihak perusahaan
untuk memenuhi berapa banyak kebutuhan
customer. Tidak dapat diketahui pula
bagaimana keinginan dari customer ataupun
pelanggan. Apabila keinginan pelanggan tidak
terpenuhi maka pelanggan dapat beralih ke
produk sejenis yang dirasa lebih baik. Tidaklah
mudah mendapatkan pelanggan terutama yang
mempunyai loyalitas terhadap suatu barang

Optimasi Sales Force Automation, Sandy | Febriana

atau jasa. Penawaran dalam bentuk pelayanan


yang lebih baik, harga yang kompetitif
merupakan keuntungan bagi pelanggan untuk
memilih produk atau jasa yang sesuai
keinginan pelanggan.
Oleh karenanya perlu menerapakan
solusi yang membantu perusahaan dalam
mempertahankan loyalitas pelanggan melalui
pelayanan yang baik dengan memanfaatkan
teknologi yang ada. Salah satu pengembangan
untuk
menjembatani
hubungan
antara
pelanggan dengan customer adalah Customer
Relationship Management, dimana salah satu
bagian CRM yaitu Sales Force Automation
dapat meningkatkan penjualan dan loyalitas
pelanggan.
Rancangan aplikasi yang dibuat adalah :
contact management, opportunity management
dan sales management.
Untuk
merancang
Sales
Force
Automation dibutuhkan:
Data Pelanggan
Mempunyai riwayat transaksi pembelian
yang dilakukan pelanggan. Diperlukan juga
kontak pelanggan atau rekam jejak interaksi
antara pembeli dan penjual. Data
demografis juga diperlukan. Contoh:
penjualan air conditioner di daerah beriklim
panas akan lebih banyak laku dibandingkan
derah bersuhu dingin. Tingkat status
pelanggan
juga
berpengaruh
pada
pembelian suatu barang.
Menganalisa data pelanggan
Dari data yang sudah dikumpulkan dapat
dianalisa berdasarkan berbagai hal. Misal
faktor usia, barang yang dijual harus sesuai
dengan usia konsumen sehingga tidak
terjadi kesalahan dalam menawarkan
barang. Data pribadi nomer telepon ataupun
alamat email dapat digunakan sebagai
sarana promosi sesuai riwayat pembelian
Mengembangkan program SFA
Pelanggan harus dianggap sebagai aset
penting yang mempunyai nilai tinggi.
Pendekatan
yang
digunakan
untuk
membangun kepercayaan pelanggan adalah
dengan berkomunikasi.
Menerapkan SFA
Perlu adanya koordinasi antar bagian dalam
menerapakan SFA. Karena terdapat
keterkaitan satu dan lain hal guna
meningkatkan
penjualan
dan
mempertahankan pelanggan

Memahami loyalitas pelanggan


Banyak pelanggan yang merasa tidak
nyaman apabila penjual meminta informasi
yang cukup banyak. Disinilah pentingnya
bagaimana dengan keterbatasan data yang
ada dapat meningkatkan penjualan dan
memepertahankan loyalitas pelanggan
Pengujian Dan Analisa
Guna meningkatkan loyalitas pelanggan
dan meningkatkan penjualan maka dibuatlah
sebuah program Sales Force Automation yang
sumber data awalnya adalah dari pelanggan
dan dioalah sehingga mampu meningkatkan
penjualan.

Gambar 2. Program Aktifitas


Penjualan pada SFA
Pada gambar 2 dijelaskan tentang salah
satu aktifitas Sales Force Automation yang
berkaitan dengan penjualan. Dimana pada
program tersebut bias diketahui target secara
periodik. Perhitungannya dihasilkan dari
perbandingan target dan penjual di periode
sebelumnya.
Selain itu pemasaran dan penjualan
ditampilkan dalam bentuk diagram untuk
memudahkan dalam proses pembacaan. Pada
program aktifitas ini dapat diketahui pula
kompetitor dan solusi dalam menghadapi
competitor. Juga terdapat shortcut untuk
mengetahui komisi dan target yang dicapai
Bagian terpenting pada aktifitas SFA
adalah adanya reminder atau notifikasi tentang
apa yang harus dikerjakan oleh tenaga penjual
pada hari ini maupun yang akan datang. Hal ini
bertujuan agar tenaga penjual dapat bekerja
mengatur waktu dengan
baik dan tidak

21

Jurnal Bytes

mengecewakan pelanggan. Dari data aktifitas


penjualan dapat diramalakan atau diprediksi
berapa banyak kuota yang akan dijual pada
masa yang akan datang.
Selain aktifitas tenaga penjual terdapat
juga Contact Management dimana data
pelanggan diolah dan dimanfaatkan dengan
baik. Sebagai contoh, data kelahiran pelanggan
bisa menjembatani komunikasi dengan
penjual. Penjual dapat mengucapkan selamat
ulang tahun melalui SMS kepada pelanggan.
Secara psikologis pelanggan akan merasa
senang karena diperhatikan. Dari data hobby
pelanggan juga dapat dijadikan komunikasi
yang baik untuk meningkatkan penjualan dan
mempertahankan
loyalitas
pelanggan.
Pelanggan akan merasa senang jika penjual
menawarkan barang yang sesuai dengan
kebutuhannya.
Kesimpulan
Kesimpulan yang dapat diambil adalah:
1. Pemanfaatan teknologi Sales Force
Automation dapat meningkatkan penjualan
jauh lebin besar daripada proses penjualan
manual dikarenakan tenaga penjual bisa
mengambil langkah cepat dari data-data
program yang telah disajikan
2. Dengan
menggunakan Sales
Force
Automation dapat meningkatkan loyalitas
pelanggan karena pelanggan merasa
diperhatikan dan penjual tahu kebutuhan
pelanggan

22

Vol 2 No 1, September 2013 : 19 22

Saran
Tahapan
berikutnya
adalah
dikembangkan menjadi Cloud Sales Force
Automation sehingga tenaga penjual dapat
memanfaatkan aplikasi mobile dan tidak
terpaku pada satu tempat penyimpanan data
yang butuhkan
Daftar Pustaka
Buttle, Francis, Customer relationship
Management
Concepts
and
technologies, 1st ed, Published by
Elsevier Ltd , 2009
Dyche, Jill, The CRM Handbook, 4th ed,
Penerbit Addison-Wesley, 2002
Lupiyoadi, Hamdani. Manajemen Pemasaran
Jasa, 2nd ed. Jakarta : Penerbit Salemba
Empat., 2006
Rustono, Faktor-faktor yang mempengaruhi
Implementasi Customer Relationship
Management
(CRM)
untuk
meningkatkan loyalitas pelanggan,
Ragam
Jurnal
Pengembangan
Humaniora Vol.10 N0.3 Desember
2010, Politeknik Negeri Surabaya

Media Pembelajaran Protokol UDP, Michael | Nurlaily

MEDIA PEMBELAJARAN DASAR KOMUNIKASI DATA PADA


JARINGAN KOMPUTER MENGGUNAKAN PROTOKOL UDP
1,2

Michael Ardita1, Nurlaily Vendyansyah2


Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
e2982online@yahoo.co.id, lily_flowers05@yahoo.com
Abstrak

Konsep dasar komunikasi data antar komputer dalam suatu jaringan adalah suatu topik
penting bagi mahasiswa yang sedang menempuh perkuliahan di bidang teknologi informasi. Pada
makalah ini dibahas teknik dasar komunikasi data antar komputer dengan cara membuat sebuah
aplikasi sederhana berbasis bahasa pemrograman Delphi.
Aplikasi dibangun dengan
mempergunakan komponen Internet Direct (Indy) untuk menangani protokol UDP dan analisa paket
datanya dilakukan dengan perangkat lunak Wireshark. Aplikasi yang dibangun dapat dipergunakan
untuk media pembelajaran dasar komunikasi data
Kata kunci : Jaringan Komputer, Komunikasi Data, Media Pembelajaran, UDP

Pendahuluan
Pada saat ini perkembangan teknologi
informasi
yang
pesat
tampak
pada
perkembangan penjualan produk smart phone
saat ini [1],[2]. Dengan adanya perangkat
smart phone, kita semakin dimudahkan untuk
mengakses infromasi dengan cepat baik dari
sumber yang jaraknya dekat samapi dari
sumber yang terpisah oleh batas-batas negara .
Salah satu pendukung dari kemudahan akses
informasi tersebut adalah perkembangan
teknologi
jaringan
computer
dan
telekomunikasi.
Oleh sebab itu, dasardasar komunikasi data dan standar protokol
yang sudah ada penting untuk dipahami
mahasiswa
yang
sedang
menempuh
perkuliahaan di bidang teknologi informasi dan
komunikasi. Untuk komunikasai data secara
umum dapat dilihat pada standar yang sudah
diperkenalkan oleh ISO berupa 7 layer OSI.
Komunikasi data yang paling sederhana adalah
komunikasi data antara perangkat komputer
dengan perangkat masukan berupa keyboard
dan mouse.
Pada perkembangan teknologi informasi
yang pesat, maka mahasiswa paling tidak
dihadapkan pada pentingnya pertukaran
informasi antar komputer yang secara tidak
tampak sebenarnya sudah sering dilakukan
dengan cara browsing di internet dimana
sebenarnya terjadi pertukaran data antara client
dan server.

7 Lapisan OSI
Tujuh lapisan OSI layer adalah lapisanlapisan dalam komunikasi yang digambarkan
oleh ISO oleh International Organization for
Standardization (ISO) [3],. Pembagian lapisan
ini dipergunakan untuk menggambarkan tugas
dari masing-masing lapisan mulai dari lapisan
fisik jaringan telekomunikasi sampai dengan
lapisan aplikasi. Pada lapisan bawah, protokol
yang dipergunakan untuk komunikasi data
adalah protokol yang sederhana dan semakin
ke lapisan atas semakin kompleks. Tiap-tiap
lapisan pada suatu host dapat berkomunikasi
dengan lapisan yang sama pada host lain dalam
satu jaringan [4].
Jaringan Komputer
Sebuah jaringan komputer adalah
jaringan telekomunikasi yang memungkinkan
komputer untuk melakukan pertukaran data
[5]. Jaringan komputer dapat berupa jaringan
komputer lokal (LAN) sampai jaringan yang
paling besar sedunia (Internet). Supaya data
yang dikirimkan tidak salah alamat, maka tiaptiap komputer dalam jaringan memiliki alamat
IP (Internet Protocol) yang unik.

23

Jurnal Bytes

Protokol UDP
User Datagram Protocol (UDP) adalah
protokol untuk komunikasi data antar
komputer yang sifatnya connection-less dan
berada pada lapisan transport pada 7 lapisan
OSI. Protokol UDP merupakan protokol
sederhana pada jaringan komputer sehingga
merupakan pilihan yang tepat untuk dijadikan
sebagai media pembelajaran komunikasi data
antar komputer [6]. Connection-less adalah
protokol komunikasi data yang sifatnya tidak
meng-garansi paket daya untuk sampai ke
alamat tujuan. Protokol komunikasi data UDP
ini memiliki kelebihan dalam kecepatan
komunikasi data karena protokol tersebut tidak
memerlukan balasan ( delivery report ) bahwa
paket data sudah sampai ke alamat tujuan.
Pemrograman berbasis Dephi
Pemrograman Delphi adalah salah satu
bahasa pemrograman berbasis GUI (
Graphical User Interface pemrograman
visual ) merupakan penerus dari bahasa
pemrograman
Pascal
yang
saat
ini
dikembangkan oleh Embarcadero [7]. Bahasa
pemrograman ini termasuk dalam golongan
Rapid Application Development (RAD) yang
dapat dipergunakan untuk membangun aplikasi
dengan cepat mempergunakan syntax-syntax
Pascal. Bahasa pemrograman Delphi juga
merupakan bahasa permograman yang cukup
populer di kalangan pengembang software [8].
bahasa pemrograman ini berbasis pada
pemrograman berbasis obyek (OOP) dan juga
juga mendukung untuk pemrograman aplikasi
untuk jaringan komputer.
Komponen Internet Direct (Indy)
Komponen Indy adalah kependekan dari
Internet Direct yang merupakan komponen
dari pemrograman Delphi. Komponen Indy
sifatnya Open Source yang dikembangkan oleh
para sukarelawan dengan dukungan dari
perusahaan sponsor [9]. Komponen Indy ini
pada umumnya menangangi soket komunikasi
data pada jaringan komputer. Untuk dasar
komunikasi data, komponen Indy yang dapat
dipergunakan adalah IdUDPServer dan
IdUDPClient.

24

Vol 2 No 1, September 2013 : 23 27

Wireshark
Wireshark adalah salah satu analyzer
protokol jaringan komputer yang banyak
dipergunakan dalam dunia industri dan dunia
pendidikan [10]. Perangkat lunak ini dapat
digunakan untuk melakukan pengamatan pada
paket-paket data jaringan yang keluar-masuk
dari komputer. Melalui Wireshark dapat
diamati alamat IP asal dan tujuan, protokol
yang dipergunakan,
dan juga
dapat
dipergunakan untuk mengamati isi dari data
yang dikirimkan antar komputer.
Analisa Kebutuhan
Untuk membangun suatu aplikasi, yang
pertama kali harus dilakukan adalah analisa
kebutuhan fungsional dari sistem. Adapun
perangkat lunak untuk media pembelajaran
yang akan dibangun ini adalah sebagai berikut:
1. Setiap perangkat harus dapat mengirim
dan menerima paket data.
2. Paket data harus dapat dianalisa secara
transparan dengan protocol analyzer.
3. Aplikasi yang dibuat harus bisa
dipergunakan untuk unicast maunpun
broadcast.
Perancangan Sistem
Karena sistem yang dirancang berbasis
pada komunikasi data yang dibuat harus dapat
dipergunakan untuk melakukan broadcast,
maka protokol yang harus diterapkan adalah
UDP. Supaya komputer dapat menerima data
dari komputer lain maka harus memesan salah
satu port UDP pada Sistem Operasi. Untuk
penggunaan port komunikasi data untuk
keperluan pribadi, sebaiknya dipergunakan
port yang nilainya diatas 1024 karena port
dengan nomor di bawah 1024 biasanya sudah
dipergunakan untuk well-known ports.
Protokol UDP yang dipergunakan pada contoh
aplikasi ini port 1115. Untuk menerima data
UDP pada Delphi dapat dilakukan dengan
mempergunakan komponen IndyUDPServer
dan
untuk
mengirim
data
dapat
mempergunakan komponen IndyUDPClient.
Pada IdUDPServer juga terdapat fasilitas untuk
mengirim data UDP sehingga penggunaan
IndyUDPClient sifatnya tidak wajib ada.

Media Pembelajaran Protokol UDP, Michael | Nurlaily

Perancangan format paket data


Pada jaringan komputer terdapat
banyak titik sumber dan banyak titik tujuan.
Setiap titik tersebut dapat menjadi sumber
maupun tujuan paket UDP. Karena aplikasi
yang dibuat ini untuk media pembelajaran,
maka pada paket data yang dibuat tidak diberi
kode identitas khusus supaya dapat mengirim
dan menerima semua paket data UDP dan
supaya dapat dianalisa dengan mudah melalui
aplikasi protocol analyzer.
Perancangan user interface
Supaya aplikasi yang dihasilkan
mudah dipergunakan oleh pengguna, maka
yang tidak boleh dilewatkan adalah
perancangan antar-muka untuk pengguna
aplikasi. Antar muka yang dibuat pada aplikasi
ini bersifat Graphical User Interface (GUI).
Antar muka berbasis grafis ini supaya dapat
mengakomodasi keinginn pengguna untuk
menentukan siapa sajakah penerima paket
datanya, apakah hanya satu titik (point-topoint) ataukah ke seluruh anggota jaringan
(broadcast). Antarmuka dengan pengguna
yang dibuat saat desain dapat dilihat pada
Gambar 1 .

IP yang tertulis dalam edit_IPTujuan.


Perancangan Server UDP
Untuk menerima data UDP port 1115,
maka pada Delphi dapat dipergunakan
komponen IdUDPServer.
Properti yang perlu diubah pada
komponen ini adalah properti DefaultPort.
Algoritma untuk proses penerimaan data
adalah :
1. Ambil jumlah data yang diterima.
2. Ambil data dari buffer.
3. Tampilkan pada Memo_DataDiterima
Implementasi script pada pemrograman
Delphi adalah dengan menempatkan kode
berikut pada EventHandler komponen
IdUDPServer.OnUDPRead yang berisi :
procedure
TForm1.IdUDPServer1UDPRead(Sender:
TObject; AData: TStream; Abinding:
TIdSocketHandle);
var
str:ShortString;
UDPDataSize:Byte;
begin
UDPDataSize:=AData.Size;
Memo_DataTerima.Lines.Add('');
Memo_DataTerima.Lines.Add(
'Kiriman dari '+Abinding.PeerIP+
' pada '+TimeToStr(Now)+' : ');
AData.Read(str[1],UDPDataSize);
str[0]:=Char(UDPDataSize);
Memo_DataTerima.Lines.Add('>'+str);
end;
Untuk mengaktifkan sever UDP
supaya dapat menerima data dapat dilakukan
dengan
cara
merubah
properti
IdUDPServer1.Active := TRUE pada saat
program dijalankan.

Gambar 1. Rancangan Aplikasi


Gambar 1 menunjukkan lay-out dari
aplikasi yang dibuat. Pada bagian atas terdapat
GroupBox Client Data ( Pengiriman Data )
yang berfungsi untuk menerima masukkan dari
pengguna berupa data yang akan di kirim dan
alamat IP tujuan. Tombol kirim berfungsi
untuk mengirimkan masukan teks pada
edit_DataUntukDikirim dan dikirim ke alamat

Perancangan Client UDP


Untuk mengirim data UDP dapat
mempergunakan
syntax
IdUDPServer.SendData(). Untuk mengirim
data pada jaringan perlu juga adanya
pengalamatan paket supaya data yang dikirim
tidak tersesat ke alamat yang lain. Pada
komunikasi data, ada kalanya data yang
dikirim bersifat broadcast dimana sekali
pengiriman dapat diterima oleh seluruah
anggota jaringan komputer.

25

Jurnal Bytes

Implementasi
script
pada
untuk
pengiriman data adalah dengan menempatkan
kode berikut pada EventHandler komponen
btnKirim.OnClick yang berupa kode berikut
ini :
procedure Tform1.btnKirimClick(
Sender: TObject);
begin
IDUDPServer1.Send(
edit_IPTujuan.Text,1115,
edit_DataUntukDikirim.Text);
end;
Pengujian Aplikasi
Setelah aplikasi selesai dibuat, pada saat
pertama kali aplikasi dijalankan biasanya
sistem operasi akan memberikan perigatan
apakah port komunikasi data untuk server
dibuka atau ditutup (di-block) karena alasan
keamanan. Contoh peringatan aplikasi berupa
server dapat dilihat pada Gambar 2

Vol 2 No 1, September 2013 : 23 27

Pada pengujian ini alamat IP yang


dipergunakan adalah 192.168.11.7 dan
192.168.11.15 dengan netmask jaringan kelas
C ( 255.255.255.0 ). Karena mempergunakan
alamat jaringan privat standard kelas C, maka
alamat
IP
broadcast-nya
adalah
192.168.11.255. Proses pengujian dapat dilihat
pada Gambar 3 dimana alamat IP tujuan yang
dipergunakan adalah alamat IP broadcast
192.168.11.255 supaya semua server UDP
yang ada pada jaringan dapat menerima data
yang sama. Gambar 3 bagian bawah
menunjukkan adanya data yang diterima oleh
server UDP yang berupa 2 data dari IP
192.168.11.7 dan 1 data dari IP 192.168.11.15.

Gambar 3 hasil pengujian aplikasi

Gambar 2 Setting firewall untuk server

Pengujian Komunikasi Data


Untuk memastikan bahwa aplikasi yang
dibuat dapat berjalan dengan baik atau tidak,
maka perlu dilakukan perngujian secara
fungsional untuk system yang telah dibuat.
Pada proses pengujian ini yang dilakukan
adalah dengan menghubungkan beberapa buah
komputer dalam suatu jaringan.

26

Pengujian Menggunakan Protocol Analyzer


Untuk mengetahui bahwa aplikasi yang
dibuat dapat berjalan dengan baik atau tidak
dapat juga dilakukan dengan mempergunakan
network protocol analyzer yang berupa
perangkat lunak Wireshark. Gambar 4
menunjukkan hasil tangkapan paket data UDP
dari alamat IP 192.168.11.7 menuju ke alamat
IP 192.168.11.15 pada software Wireshark.
Pada aplikasi tersebut dapat dianalisa lebih
lanjut lagi seperti alamat port UDP-nya pada
header paket dan data pada payload-nya. Pada
baian atas adalah data-data yang paket yang
ter-capture dan pada baian bawah adalah detail
dari paket data yang siap untuk dianalisa.

Media Pembelajaran Protokol UDP, Michael | Nurlaily

Gambar 4 tangkapan data pada Wireshark


Kesimpulan
1. Aplikasi yang dibuat dapat dipergunakan
untuk menunjukkan prinsip kerja dari
jaringan komunikasi data dasar berbasis
UDP dan IP.
2. Dengan aplikasi ini diharapkan mahasiswa
mampu memahami dasar komunikasi
secara point-to-point dan broadcast dan
mengetahui proses analisa paket datanya
melalui perangkat lunak Wireshark.
Daftar Pustaka
,China Smartphone Market Report, 2006
[Online]. Available: http://www.resear
chinchina.com/report/
Telecommu
nications/667.html (21-Juli-2013)

InfoTrend, Smartphone Adoption Growing at


Astonishing Rate, [Online]. Available:
http://www.capv.com/public/
Content/Press/2011/05.25.2011.html
(21- Juli -2013)
Teracom Tutorial: OSI 7-Layer Model ,
[Online]. Available: http://www.tele
communications-tutorials.com/tutorialOSI-7-layer-model.htm (21- Juli -2013)
Douligeris, C.;Serpanos, D., "Network
Security:Current Status and Future
Directions", Wiley-IEEE Press, 2007.
,Computer network, http://en.wikipedia.
org/wiki/Computer_network (23- Juli 2013)
J. Postel, "RFC 768 - User Datagram
Protokol", ISI, 1980 -- Available:
http://www.ietf.org/rfc/rfc768.txt (23Juli -2013)
--, "Embarcadero Corporate Overview",
http://www.embarcadero.com/company/
corporate-overview (23- Juli -2013)
--,"Re: How many Delphi users in the
World?",
http://coding.derkeiler.com/
Archive/Delphi/borland.public.delphi.no
n-technical/2007-08/msg01759.html
(23- Juli -2013)
--, "Indy - About", http://www.indyproject
.org/About.EN.aspx (23- Juli -2013)
--, "About Wireshark", http://www.wireshark
.org/about.html (23- Juli -2013)

27

Jurnal Bytes

Vol 2 No 1, September 2013 : 28 42

PENGGUNAAN PROGRAMMABLE LOGIC DEVICE (PLD)


BERBASIS PROGRAMMABLE ARRAY LOGIC (PAL)
DAN GENERIC ARRAY LOGIC (GAL) UNTUK
MULTIPLEXER DAN DEMULTIPLEXER 4 BIT
Sonny Prasetio
Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
sonny@fti.itn.ac.id
Abstrak
Perancangan rangkaian digital dapat dibangun dengan berbagai device digital. Beberapa
rangkaian digital dapat dibangun menggunakan rangkaian terpadu yang bersifat fixed logic. Adanya
Programmable Logic Device (PLD) memberikan ruang lingkup yang luas bagi pengembang
rangkaian digital. Berbagai aplikasi dan fungsi dapat diwujudkan melalui konfigurasi array sebagai
penentu rangkaian digital yang dirancang.
Penelitian ini bertujuan untuk menunjukkan metode perancangan sebuah rangkaian terpadu
multiplekser dan demultiplekser 4 bit pada 1 (satu) chip PLD. Perancangan dimulai dengan
menentukan device PLD yang digunakan yaitu GAL20V8 dan PAL20L8. Pemilihan GAL20V8 dan
PAL20L8 ini didasari dengan jumlah pin input dan output yang terdapat pada masing-masing IC.
Metode penyederhanaan rangkaian digital digunakan untuk mendapatkan persamaan logika dari plan
yang dirancang. Untuk dapat melakukan implementasi persamaan logika multiplekser dan
demultiplekser 4 bit proses pada IC PLD, dilakukan proses pengisian IC dengan menggunakan
universal programmer All-100 Hilosystem.
Pengujian dilakukan dengan cara menguji sinyal keluaran terhadap masukkan dan nilai
logika input/output. Hasil pengujian sinyal menunjukkan bahwa IC GAL20V8 dan PAL20L8 dapat
digunakan untuk meloloskan input berupa sinyal kotak. Dari pengujian nilai logika input/ouput pada
multiplekser dan demultiplekser 4 bit yang dibangun pada GAL20V8 dan PAL20L8 memiliki
keberhasilan 100% atau sesuai dengan tabel kebenaran.
Kata kunci : multiplekser, demultiplekser, GAL20V8, PAL20L8, PLD

Pendahuluan
Programmable Logic Device (PLD)
adalah rangkaian terpadu (IC) digital yang
dapat diprogram untuk dapat menghasilkan
fungsi logika tertentu. Beberapa IC PLD ada
yang
mempunyai
kemampuan
untuk
mengaplikasikan fungsi logika kombinasional
dan ada juga yang dapat mengaplikasikan
fungsi kombinasional serta sequential.
Terdapat beberapa jenis PLD yang telah
banyak digunakan diantaranya Programmable
Random
Memory
Access
(PROM),
Programmable Array Logic (PAL), Generic
Array Logic (GAL), Programmble Logic
Array (PLA), dan lain-lain. Berbagai jenis dan
merek produksi IC PLD dapat menjadi pilihan
bagi pengguna. Maka diperlukan adanya
metode penyederhanaan persamaan logika
dalam proses perancangan menggunakan IC
PLD. Kemampuan dan peforma yang
didapatkan dari metode perancangan menjadi

28

referensi agar rangkaian terpadu PLD tersebut


dapat digunakan sesuai dengan fungsi yang
dirancang. Dalam hal ini dapat digaris bawahi
bahwa IC PLD yang berbeda mempunyai cara
pemrograman yang berbeda pula.
Perancangan menggunakan IC PLD
memerlukan presentasi dari fungsi logika dan
penyederhanaan persamaan logika. Metode
yang dapat digunakan untuk penyederhanaan
persamaan logika adalah Sum of Product
(SOP), Product of Sum (POS) dan peta
Karnaugh. Sum of Product (SOP) merupakan
jumlah dari hasil kali yang ditunjukkan dengan
ekspresi yang terdiri atas 2 term atau lebih.
Sedangkan Product of Sum (POS) merupakan
perkalian dari hasil jumlah 2 term atau lebih.
Penyederhanaan persamaan logika perlu
dilakukan untuk memperkecil area desain[13].
Penyerdehanaan fungsi logika dapat juga
dilakukan
dengan
menggunakan
peta
Karnaugh[8].

Penggunaan Programmable Logic Device, Sonny

Rangkaian
logika
terpadu
yang
mempunyai beberapa fungsi dalam satu device
tentunya menjadi keinginan bagi para designer
elektronika. Adanya IC (Integrated Circuit)
yang mempunyai fungsi logika sebagai
multiplekser
dan
demultiplekser
akan
memberikan kontribusi bagi dunia elektronika
digital. Penggunaan PLD yang di rancang
dengan
fungsi
kombinasional
akan
menghasilkan beberapa fungsi logika di dalam
1 (satu) device IC[13]. Ranngkaian
multiplekser dan demultipleser terdiri atas
rangkaian kombinasional gerbang AND, OR,
dan NOT[8]. Multiplekser dapat difungsikan
sebagai penyeleksi data, konverter paralel to
serial, dan implementasi pada arbitary fungsi
logika. Sedangkan demultiplekser dapat
digunakan sebagai distributor data dan pemilih
jalur data.
Penggunaan IC PLD dapat dilihat dari
implementasi yang akan di rancang. Apabila
jumlah gerbang yang dipergunakan tidak
terlalu banyak maka perancangan dapat
menggunakan IC PAL atau GAL.
Programmable Logic Device (PLD)
Pada rangkaian elektronika digital
dikenal dengan 2 jenis rangkaian terpadu yaitu
rangkaian logika permanen (fixed logic) dan
rangkaian logika yang dapat di program
(Programmable Logic Device). Rangkaian
logika permanen mempunyai konfigurasi
fungsi tertentu dan bersifat tetap, sebagai
contoh
rangkaian
terpadu
flip-flop,
multiplekser, demultiplekser, dan lain-lain.
Sedangkan untuk rangkaian logika yang
bersifat dapat diprogram (programmable)
mempunyai struktur array logic yang
memerlukan pemrograman untuk mengatur
pemutusan secara elektrik pada array tersebut.
Pemutusan elektrik (electric fuse) dilakukan
untuk memilih jalur yang akan digunakan
dalam penerapan fungsi logika. Gambar
rangkaian digital terpadu sederhana yang
bersifat dapat diprogram (programmable)
ditunjukkan dalam Gambar 1 .

Gambar 1. Gambar rangkaian digital terpadu


yang bersifat programmable
Sumber : Maini, 2007
Konsep dasar dari PLD adalah membuat
sebuah
rangkaian
logika
terpadu
kombinasional yang bersifat programmable
(dapat diprogram). Umumnya rangkaian sirkuit
kombinasional merupakan rangkaian yang
tidak memiliki elemen memori. Hal ini
berbeda dengan mikroprosesor yang mampu
menjalankan sebuah program yang tersimpan
dalam memori dan mempengaruhi perangkat
keras yang telah terkoneksi. Pemrograman
PLD diterapkan pada perancangan sebuah
perangkat keras agar memiliki fungsi logika
tertentu
dan
sesuai
dengan
hasil
penyederhanaan fungsi logika. Arsitektur
programmable logic device (PLD) ditunjukkan
dalam Gambar 2.

Gambar 2. Arsitektur programmable logic


device Sumber : Maini,2007

29

Jurnal Bytes

Vol 2 No 1, September 2013 : 28 42

Programmable Array Logic (PAL)


Arsitektur PROM sangat sesuai jika
aplikasi yang dibuat mengharuskan setiap
kemungkinan kombinasi input menghasilkan
suatu fungsi output. Sebagi contoh konverter
kode tertentu dan penyimpanan data. Ada
banyak aplikasi yang tidak semuanya
memerlukan kombinasi secara terprogram
pada bagian input. Seperti pada fungsi logika
dalam Gambar 3 bahwa tidak semuanya
merupakan hasil dari operasi AND.

Gambar 4. Arsitektur PAL


Sumber : Tocci,1995

Gambar 3. Pemrograman pada array


Sumber : Tocci,1995
Hal inilah yang menjadi latar belakang
dikembangkannya jenis dari Programmable
Logic Device (PLD) yang disebut dengan
Programmable Logic Array (PAL). Arsitektur
PAL agak berbeda sedikit dengan PROM,
seperti ditunjukkan dalam Gambar 4.

30

Generic Array Logic (GAL)


Generic array logic (GAL) mempunyai
karakteristik array gerbang AND yang dapat
diprogram, array gerbang OR dan logika
output yang dapat di program ulang. GAL
seperti sebuah IC PAL, akan tetapi array
gerbang AND dapat di program ulang.
Tentunya dengan ketentuan yang tertera pada
datasheet tentang siklus hapus dan tulis. Maka
saat ini sangat memungkinkan untuk
menggunakan EEPROM (Electrical Eraseable
Programmable Read Only Memory) untuk
menyimpan pola program. Pada IC GAL ini
terdapat output logic macrocells (OLMCs)
yang terdapat pada sisi output, yang mana
dapat digunakan untuk melakukan konfigurasi
output sebagai kombinasional atau register.

Penggunaan Programmable Logic Device, Sonny

apabila tidak berhasil maka harus dilakukan


pengecekan hardware.
Mulai

Penyederhanaan
Fungsi Logika
A
Menjalankan
development
software

Pengujian PLD

Memasukkan
persamaan logika

Development
software
menghasilkan fuse
map dan test data

Gambar 5.
(a) Output yang dihasilkan oleh GAL,
(b) arsitektur OLMC
Sumber : Maini,2007
Dalam Gambar 5 (a) dan (b) ditunjukkan blok
skematik Generic Array Logic (GAL) dan
arsitektur dari GAL yang di dalamnya terdapat
OLMC. Tipe dari OLMC dalam Gambar 5 (b)
dapat di konfigurasi untuk menghasilkan 4
output yang berbeda berdasarkan dari seleksi
input.
Pemrograman PLD
Pemrograman dan uji coba data dilakukan
menggunakan software yang dijalankan pada
sebuah komputer. Dengan menggunakan
software tersebut maka perancangan dapat
memasukkan data pada komputer yang berisi
tentang fungsi logika yang dikehendaki.
Keluaran dari software berupa fuse map dan
hasil tes data yang dikirimkan pada memory
PLD. Diagram alir pemrograman ditunjukkan
dalam Gambar 6. Tahap awal dimulai dengan
penyederhanaan persamaan fungsi logika.
Setelah persamaan fungsi logika didapatkan
maka dapat dilanjutkan dengan menjalankan
development software. Hasil dari development
software tesebut merupakan fuse map dan data
test yang digunakan untuk pemrograman PLD.
Kemudian dilanjutkan dengan tahap pengujian,
apabila berhasil maka dapat dilakukan
pengujian pada rangkaian yang sesungguhnya,
akan tetapi apabila pengujian tidak berhasil
maka harus dilakukan pengecekan persamaan
logika
dalam
mengulangi
tahapan
pemrograman dari penyederhanaan persamaan
logika. Pada tahap pengujian pada rangkaian

N
Berhasil ?

Cek persamaan
logika

Melakukan pengujian
pada rangkaian yang
sebenarnya

Mengirim fuse
map dan test data
pada programmer

N
Berhasil ?

Meniliti kesalahan

Pemrograman
PLD

Selesai

Gambar 6. Diagram alir pemrograman PLD


Sumber : Tocci,1995
Multiplekser
Multiplekser atau selektor data adalah
suatu rangkaian logika yang menerima
beberapa input data dan untuk suatu saat
tertentu hanya mengijinkan satu dari data input
tersebut untuk diteruskan pada output. Jalur
yang akan ditempuh dari input data yang
diinginkan ke output dikontrol oleh pemilih
input input selektor . Dalam Gambar 7
ditunjukkan diagram sebuah multiplekser
secara umum. Pada diagram ini input dan
output digambar sebagai panah besar untuk
menunjukkan bahwa input dan output tersebut
merupakan satu kelompok atau lebih.
I0

I1

Multiplekser

Output Z

IN-1

Input
Selektor

Gambar 7. Diagram multiplekser secara umum


Sumber : Nur, 1981

31

Jurnal Bytes

Cara kerja multiplekser seperti sebuah


switch multi posisi yang dikontrol secara
digital dimana kode digital yang diberikan
pada pemilih input akan mengontrol inputinput data yang akan dipilih. Misalnya, output
z akan sama dengan data input I0 untuk kode
pemilih input tertentu, z akan sama dengan I1
untuk kode pemilih input tertentu yang lain.
Dengan kata lain, multiplekser memilih 1 dari
N data input dan menyalurkan data yang
terpilih ke suatu channel output tunggal.
Proses
inilah
yang
disebut
dengan
multiplexing.

Vol 2 No 1, September 2013 : 28 42

Kerangka Teori
Kerangka teori penelitian ditunjukkan
dalam Gambar 9.
TEKNOLOGI MONOLITIK

BIPOLAR

CMOS

HCMOS

TTL

RTL

DTL

BICMOS

ECL

PAL
GAL

PERANCANGAN
MULTIPLEKSER
DEMULTIPLEKSER 4 BIT

SIMULASI
MULTIPLEKSER DAN
DEMULTIPLEKSER 4 BIT

Tidak

Demultiplekser
Demultiplekser adalah rangkaian logika
kombinasional yang memiliki 1(satu) jalur
input dan 2n jalur output (n adalah jumlah
selector).
Sinyal pada jalur input akan
diteruskan ke jalur output sesuai dengan
kondisi logika selector. Dalam Gambar 8
ditunjukkan representasi demultiplekser 4 bit.

COMPILE
BENAR ?

Ya
TUJUAN
PENELITIAN

PENGGUNAAN
IC PAL DAN GAL

PEMROGRAMAN
IC PAL DAN GAL

UJI COBA IC PAL & GAL


SEBAGAI MULTIPLEXER

Tidak

SESUAI ?

Ya
SELESAI

Gambar 9. Kerangka teori penelitian

Gambar 8. Representasi demultiplekser 4 bit


Sumber : Maini, 2007
Cara kerja demultiplekser seperti sebuah
switch multi posisi yang dikontrol secara
digital dimana kode digital yang diberikan
pada pemilih/selektor akan mengontrol output
data yang akan dipilih. Misalnya, output z akan
sama dengan data input I0 untuk kode pemilih
output tertentu, z akan sama dengan I1 untuk
kode pemilih output tertentu yang lain. Dengan
kata lain, demultiplekser memilih 1 dari N
output dan menyalurkan satu data input ke
suatu channel output tertentu. Proses inilah
yang disebut dengan demultiplexing.

32

Konsep penelitian
Sesuai dengan tujuan penelitian, maka
dilakukan perancangan dan implementasi
multiplekser dan demultiplekser 4 bit pada
1(satu) chip PLD. Implementasi dilakukan
pada IC GAL20V8 dan PAL20L8 yang
memiliki jumlah pin input/output yang sama.
Sebagai media untuk mengetahui fungsi logika
multiplekser dan demultiplekser 4 bit maka
dibangun minimun sistem yang dilengkapi
dengan indikator dan selektor untuk mengatur
jalur input serta dapat mengetahui nilai logika
output.
Tahap Penelitian
Penelitian dilakukan dengan tahapan
seperti diagram alir dalam Gambar 10.

Penggunaan Programmable Logic Device, Sonny


PAL20L8
MULAI

Studi Literatur

Persiapan penelitian :

Penentuan IC PAL dan GAL yang digunakan

Indetifikasi masalah

Menyiapkan tools yang dibutuhkan

Mengumpulkan peralatan yang digunakan.

Membuat Hardware Minimum


Sistem PAL dan GAL

Hardware OK ?

Tidak

Ya
Membuat Persamaan
Rangkaian Logika

Rangkaian logika PAL

Rangkaian logika GAL

Merancang Skema Multiplekser


dan Demultipleser 4 bit pada
Protel 99 SE

Gambar 11. Konfigurasi pin PAL20L8 dan


GAL20V8
Rangkaian minimum sistem PAL20L8
dan GAL20V8 ditunjukkan dalam Gambar 12.
Hardware terdiri atas regulator tegangan 5 volt,
IC PLD, dip switch serta led pada port input
dan output. IC PLD adalah PAL20L8 dan
GAL20V8. Dip switch diletakkan pada blok
input minimum sistem dan berfungsi sebagai
pemilih input rendah atau tinggi. Indikator
logika berupa led yang terpasang pada port
input dan output rangkaian minimum sistem.

Melakukan proses
Compile

Skema Benar ?

Tidak

Ya
File jedec (.jed)

Pengisian PAL
dan GAL

Uji coba
benar ?

Tidak

Ya
Analisis
Dokumentasi
penelitian

Selesai

Gambar 10. Tahapan penelitian


Perancangan Hardware
Pemilihan IC PLD yang digunakan
didasari dengan jumlah pin input dan output
serta kapasitas gerbang logika. Aplikasi
multiplekser dan demultiplekser 4 bit
memerlukan 9 pin input dan 5 pin output. IC
PAL20L8 dan GAL20V8 memiliki 14 pin
yang dapat digunakan sebagai input dan 8 pin
yang dapat digunakan sebagai output. Dalam
Gambar 11 ditunjukkan konfigurasi pin dari
PAL20L8 dan GAL20V8.

Gambar 12. Rangkaian minimum sistem


GAL20V8 dan PAL20L8
Dalam Gambar 13 ditunjukkan gambar PCB
rangkaian minimum sistem GAL20V8 dan
PAL20L8.

Gambar 13. PCB rangkaian minimum sistem


GAL20V8 dan PAL20L8

33

Jurnal Bytes

Vol 2 No 1, September 2013 : 28 42

Penyederhanaan persamaan logika


Perancangan
persamaan
logika
multiplekser dan demultiplekser diawali
dengan penyederhanaan rangkaian logika.
Acuan dari penyederhanaan persamaan logika
tersebut ialah tabel kebenaran dari rangkaian
logika multiplekser dan demultiplekser. Nilai
input dan output akan didapatkan dari tabel
kebenaran. Berdasarkan keadaan logika
tersebut maka dapat dirumuskan dalam sebuah
persamaan logika.
Rangkaian multiplekser 4 bit dapat
disusun mengunakan gerbang AND, OR dan
NOT. Di dalam multiplekser 4 bit terdapat 4
input, 2 selektor, dan 1 output. Tabel
kebenaran dari rangkaian logika multiplekser 4
bit ditunjukkan dalam Tabel 1.
Tabel 1. Tabel kebenaran multiplekser 4 bit
In0 In1 In2 In3 S0 S1 Output
1
*
*
*
0
0
In1
*
1
*
*
0
1
In2
*
*
1
*
1
0
In3
*
*
*
1
1
1
In4
Penyederhanaan rangkaian logika dapat
dilakukan dengan metode Sum of Product
(SOP) dan Product of Sum (POS). Pada
perancangan multiplekser dan demultiplekser
ini digunakan metode Sum of Product (SOP).
Persamaan logika didapatkan dari peta
Karnaugh yang diisi berdasarkan tabel
kebenaran multiplekser 4.

Gambar 14. Peta Karnaugh Multiplekser 4 bit


Berdasarkan peta Karnaugh dalam Gambar 14
maka persamaan logika yang dapat ditulis
adalah :
Misal : In0=A, In1=B, In2=C, In3=D
=
(7)

Rangkaian logika demultiplekser terdiri


dari 1 input, 2 selektor dan 4 output. Prinsip
kerja demultiplekser merupakan lawan atau
kebalikan dari multiplekser. Selektor pada

34

demultiplekser berfungsi sebagai pemilih


output. Tabel kebenaran demultiplekser 4 bit
ditunjukkan dalam Tabel 2.
Tabel 2. Tabel kebenaran demultiplekser 4 bit
Inpu S S Out Out Out Out
t
0
1
0
1
2
3
1
0
0
1
*
*
*
1
0
1
*
1
*
*
1
1
0
*
*
1
*
1
1
1
*
*
*
1
Peta Karnaugh Dalam Gambar 15
ditunjukkan persamaan logika demultiplekser
4 bit dapat dibentuk dari peta Karnaugh. Pada
hal ini digunakan metode Sum of Product
(SOP) untuk mendapatkan bentuk persamaan
logika.

Gambar 15. Peta Karnaugh demultiplekser 4


bit
Bentuk persamaan logika demultiplekser 4 bit
adalah sebagai berikut :
Misal : Out0=A, Out1=B, Out2=C, Out3=D
=
, =
,
=
,
=
...(8)
Setelah persamaan logika multiplekser
dan demultiplekser 4 bit diketahui maka dapat
dilanjutkan dengan pemrograman IC PAL dan
GAL. Pemrograman dilakukan dengan
mengimplentasikan bentuk persamaan logika
menjadi rangkaian kombinasi gerbang logika.
Perancangan gerbang logika
Persamaan logika multiplekser dan
demultiplekser 4 bit dapat diimplementasikan
ke dalam rangkaian kombinasi gerbang logika.
Kombinasi dilakukan dengan menggunakan 3
jenis gerbang logika yaitu AND, OR dan NOT.
Hasil dari susunan gerbang-gerbang logika
tersebut harus sesuai dengan tabel kebenaran
multiplekser dan demultiplekser 4 bit.
Perancangan gerbang logika pada IC
GAL20V8
dilakukan
mengacu
pada
persamaan logika yang telah diketahui. Dalam

Penggunaan Programmable Logic Device, Sonny

Gambar 16 ditunjukkan rangkaian logika


multiplekser yang telah dirancang sesuai
dengan Persamaan 7 dan memenuhi tabel
kebenaran multiplekser yang ditunjukkan pada
Tabel 1.

array OR yang bersifat tetap (fixed). Untuk


membangun sebuah rangkaian multiplekser 4
bit pada PAL20L8 yang juga terdiri atas
gerbang OR, maka diperlukan penerapan teori
bubble pushing. Dalam penerapan teori bubble
pushing sebuah gerbang OR dapat di bangun
menggunakan gerbang NAND. Gerbang OR
yang dibangun menggunakan rangkaian
gerbang NAND ditunjukkan dalam Gambar
19.
Dalam Gambar x.xx ditunjukkan
rangkaian gerbang NAND yang menerapkan
teori bubble pushing dan berfungsi sebagai
gerbang OR 4 input.

Gambar 16. Rangkaian logika multiplekser


pada GAL20V8
Setelah perancangan rangkaian logika
multiplekser pada GAL20V8 dilakukan. Proses
perancangan dilanjutkan dengan pembuatan
rangkaian demultiplekser pada GAL20V8.
Metode perancangan ini mengacu pada
persamaan logika demultiplekser yang
ditunjukkan dalam Persamaan 8. Hasil
perancangan rangkaian logika demultiplekser
ditunjukkan dalam Gambar 18.

Gambar 19. Kombinasi gerbang NAND yang


berfungsi sebagai OR
Dalam rangkaian multiplekser 4 bit terdapat
gerbang OR 4 input. Dengan menerapkan teori
bubble pushing gerbang OR 4 bit dapat
dirancang menggunakan gerbang NAND.
Rangkaian OR 4 input menggunakan gerbang
NAND ini harus memenuhi tabel kebenaran
gerbang OR 4 input. Dalam Gambar 20
ditunjukkan gerbang OR 4 input dan rangkaian
gerbang NAND yang berfungsi sebagai
gerbang OR 4 input.

Gambar 18. Rangkaian logika demultiplekser 4


bit
Dalam perancangan rangkaian logika
multiplekser dan demultiplekser 4 bit
menggunakan PAL20L8 terdapat perubahan
dalam susunan kombinasi gerbang logika.
Dalam hal ini perbedaan ditunjukkan pada
rangkaian multiplekser 4 bit.
Pada PAL20L8 perancangan rangkaian
logika digital tidak dapat menerapkan plan
yang memiliki fungsi OR secara langsung. Hal
ini disebabkan karena pada PAL20L8 memiliki

Gambar 20. Gerbang OR 4 input dan


rangkaian NAND yang berfungsi sebagai
gerbang OR 4 input menggunakan teori bubble
pushing
Teori bubble pushing ini diterapkan
pada perancangan rangkaian multiplekser 4 bit
pada PAL20L8. Dalam penerapan pada

35

Jurnal Bytes

Vol 2 No 1, September 2013 : 28 42

PAL20L8 rangkaian OR 4 input menggunakan


gerbang NAND dengan teori bubble pushing
perlu dilakukan perubahan pada saat
diaplikasikan pada rangkaian multiplekser 4 bit
di IC PAL20L8. Perubahan yang dilakukan
ada dengan mengubah gerbang NAND pada
bagian output rangkaian OR 4 bit menjadi
gerbang AND. Modifikasi yang dilakukan
ditunjukkan dalam Gambar 21. Hal ini
dilakukan agar compiler tidak mendeteksi
adanya plan OR dalam PAL20L8.
NAND

AND

Gambar 21. Pengantian gerbang logika NAND


menjadi AND
Perubahan
yang
dilakukan
menyebabkan rangkaian gerbang NAND
tersebut tidak berfungsi sebagai gerbang OR 4
input. Agar dapat mendukung fungsi rangkaian
multiplekser
4 bit
maka
diperlukan
pengabungan dengan gerbang logika yang
lainnya. Perubahan rangkaian multiplekser 4
bit pada GAL20V8 ke multiplekser 4 bit pada
PAL20L8 ditunjukkan dalam Gambar 22.

pada
PAL20L8
tidak
diperbolehkan
melakukan implementasi gerbang OR 4 input,
dan untuk dapat mempertahankan tabel
kebenaran
dari
multiplekser
maka
ditambahkan gerbang NOT pada INPUT0,
INPUT1, INPUT2 dan INPUT3 pada
rangkaian multiplekser PAL20L8.
Pemrograman GAL20V8 dan PAL20L8
Penentuan pin yang digunakan pada
PAL20L8 dan GAL20V8 berdasarkan dari
fungsi tiap-tiap pin. Untuk pin yang berfungsi
sebagai input digunakan sebagai pin input
rangkaian multiplekser dan demultiplekser 4
bit, sedangkan pin yang berfungsi sebagai
output digunakan sebagai pin ouput rangkaian.
Pada perancangan rangkaian multiplekser dan
demultiplekser 4 bit memerlukan 9 pin input
dan 5 pin output. Maka pin input rangkaian
dapat menggunakan pin no. 2-10 dan untuk pin
output menggunakan pin no. 17-21. Dalam
Gambar 23 dan Gambar 24 ditunjukkan
penentuan pin yang digunakan sebagai input
dan output.

Gambar 23. Penentuan pin input dan output


pada PAL20L8

Multiplekser GAL20V8

Gambar 24. Penentuan pin input dan output


pada GAL20V8
Multiplekser PAL20L8

Gambar 22. Rangkaian multiplekser pada


GAL20V8 dan PAL20L8
Rangkaian
multiplekser
pada
PAL20L8 mengalami perubahan pada gerbang
logika yang digunakan. Hal ini terjadi karena

36

Pemrograman IC Programmable Logic


Device khususnya GAL dan PAL dapat
dilakukan dengan berbagai macam cara.
Dalam penelitian ini pemrograman dilakukan
menggunakan Compiler Universal for
Programmable Logic (CUPL) yang terdapat
dalam Protel 99SE. Dengan menggunakan cara

Penggunaan Programmable Logic Device, Sonny

ini maka pemrograman dapat dilakukan


dengan menggunakan diagram skematik.
Perancangan
rangkaian
logika
multiplekser dan demultiplekser pada PLD
menggunakan
CUPL
dapat
dilakukan
menggunakan persamaan logika atau hanya
dengan menggunakan diagram logika. Dalam
penelitian ini perancangan multiplekser 4
dilakukan dengan menggunakan persamaan
logika dan perancangan demultiplekser 4 bit
mengacu
pada
diagram
logika
IC
demultiplekser 74HC139. Untuk dapat mencari
persamaan logika diperlukan bantuan peta
Karnaugh multiplekser 4 bit. Proses
pembentukan persamaan logika multiplekser 4
bit dengan bantuan peta Karnaugh ditunjukkan
dalam Gambar 25.

Gambar 25. Pembentukan persamaan logika


multiplekser 4 bit menggunakan peta
Karnaugh
Setelah memperoleh persamaan logika
dapat
dilanjutkan
dengan
penyusunan
rangkaian multiplekser 4 bit menggunakan
gerbang AND, OR dan NOT. Penyusunan
gerbang logika mengacu pada persamaan
logika yang telah didapatkan.

di Protell 99SE. Dalam Gambar 27


ditunjukkan
pembentukan
rangkaian
demultiplekser menggunakan diagram logika
IC 74HC139.

Gambar 27. Perancangan demultiplekser


menggunakan diagram logika pada 74HC139
Dalam perancangan multiplekser dan
demultiplekser pada PAL dan GAL terdapat
perbedaan proses perancangan rangkaian
logika. Rangkaian logika multiplekser dan
demultiplekser pada PAL memerlukan
perubahan struktur gerbang logika dengan
menerapkan teori bubble pushing. Diagram alir
proses
perancangan
multiplekser
dan
demultiplekser 4 bit pada IC GAL20V8
Gambar 28.

Gambar 26. Pembentukan rangkaian


multiplekser 4 bit menggunakan persamaan
logika
Perancangan
rangkaian
logika
demultiplekser 4 bit menggunakan diagram
logika IC 74HC139. Pada perancangan ini
struktur gerbang logika yang dibentuk pada
PLD tidak menggunakan persamaan logika.
Skema rangkaian logika pada datasheet
74HC139 dapat digunakan secara langsung
pada saat menggambar skema demultiplekser

Gambar 28. Diagram alir proses perancangan


multiplekser dan demultiplekser 4 bit pada
GAL20V8
Proses perancangan multiplekser dan
demultiplekser 4 bit pada GAL20V8
perancangan dimulai dengan pembuatan
skema. Kemudian skema tersebut dicocokan
dengan tabel kebenaran, apabila nilai logika

37

Jurnal Bytes

Vol 2 No 1, September 2013 : 28 42

cocok dengan tabel kebenaran maka dapat


dilakukan dengan proses compile. Bila proses
compile berhasil maka akan menghasilkan file
jedec (.jed) dan file jedec inilah yang nantinya
di isikan pada GAL20V8.

Gambar 30. Skema diagram logika


multiplekser dan demultiplekser 4 bit
Gambar 29. Diagram alir proses perancangan
multiplekser dan demultiplekser 4 bit pada
PAL20L8
Dalam diagram alir proses perancangan
multiplekser dan demultiplekser 4 bit pada
PAL20L8 perancangan dimulai dengan
pembuatan
skema.
Kemudian
dengan
menerapkan teori bubble pushing, struktur
rangkaian logika dapat dirubah sesuai dengan
array pada PAL20L8. Proses berikutnya skema
tersebut dicocokan dengan tabel kebenaran,
apabila nilai logika cocok dengan tabel
kebenaran maka dapat dilakukan dengan
proses compile. Bila proses compile berhasil
maka akan menghasilkan file jedec (.jed) dan
file jedec inilah yang nantinya di isikan pada
PAL20L8.
Skema rangkaian dibuat pada lembar
kerja Protel 99 SE dengan cara menambahkan
library PLD pada kotak komponen. Dalam
Gambar 30 ditunjukkan skema diagram logika
multiplekser dan demultiplekser 4 bit yang
telah digambar pada lembar kerja skematik
Protel 99SE.

38

Setelah skematik dibuat dilanjutkan


dengan melakukan alokasi pin yang digunakan
pada GAL dan PAL. Alokasi pin ini
disesuaikan dengan fungsi pin GAL dan PAL
yang ada dalam datasheet. Pada Protel 99SE
alokasi pin yang digunakan sebagai input
ditandai dengan nama ipad dan yang
digunakan sebagai output ditandai dengan
nama opad. Nomor pin yang digunakan harus
tercantum dalam ipad atau opad yang telah
diletakkan pada skematik. Peletakkan ipad dan
opad ditunjukkan dalam Gambar 31.

Gambar 31. Alokasi pin pada Protel 99SE


Untuk mendapatkan file jedec maka
harus dilakukan proses compile. Pada Protel
99SE proses compile dapat dilakukan dengan
cara mengatur konfigurasi menu PLD.
Pengaturan menu PLD dilakukan untuk
memilih target device. Dalam Gambar 32
ditunjukkan isi dari menu PLD pada Protel
99SE.

Penggunaan Programmable Logic Device, Sonny

Gambar 32. Tampilan menu PLD


Bila konfigurasi menu PLD telah dilakukan
maka dapat dilanjutkan dengan proses compile.
Setelah proses compile selesai maka akan
didapatkan file jedec dengan ekstensi .jed.
Pengisian IC PLD dilakukan dengan
menggunakan universal programmer Hilo All100.
Pengujian dan analisis
Analisa dan pengujian yang dilakukan
dalam penelitian ini bertujuan untuk
mengetahui karakteristik pemrograman IC
GAL dan PAL, kemampuan IC GAL dan PAL
sebagai penyederhana rangkaian elektronika
digital, dan bentuk sinyal keluaran yang
mampu dihantarkan oleh IC GAL dan PAL.
Pengujian hasil pemrograman PAL dan
GAL
Pengujian hasil pemrograman dilakukan
dengan melihat logika input dan output pada
PAL dan GAL yang telah diprogram. Proses
ini dapat dilakukan secara langsung pada
minimum sistem yang telah dilengkapi led dan
dip switch. Uji coba dilakukan sesuai dengan
tabel
kebenaran
multiplekser
dan
demultiplekser. Logika input pada selektor
diatur oleh dip switch yang dapat terhubung
pada ground dan vcc.
Pertama kali pengujian dilakukan pada
rangkaian multiplekser yang terdapat pada
GAL20V8. Sesuai dengan tabel kebenaran,
multiplekser 4 bit akan meneruskan logika
yang ada pada jalur input 1 (IN0) apabila
selektor dalam kondisi S0=0 dan S1=0.
Keadaan logika output rangkaian multiplekser
akan sama dengan kondisi logika input yang
terpilih oleh selektor. Dalam Gambar 33
ditunjukkan pengujian pada minimum sistem
Generic Array Logic (GAL). Proses pengujian
ini dilanjutkan sesuai dengan nilai logika
selektor yang ada dalam tabel kebenaran. Hasil
pengujian rangkaian multiplekser 4 bit dalam
GAL20V8 ditunjukkan dalam Tabel 3.

Gambar 33. Pengujian input dan output


multiplekser GAL20V8 pada saat S0=0, S1=0
Tabel 3. Hasil pengujian multiplekser 4 bit
pada GAL20V8
IN0 IN1 IN2 IN3 S0
S1 OUTPUT
PIN PIN PIN PIN PIN PIN
PIN 21
2
3
4
5
6
7
1
*
*
*
0
0
IN0
*
1
*
*
0
1
IN1
*
*
1
*
1
0
IN2
*
*
*
1
1
1
IN3
Kemudian pengujian dilanjutkan dengan
rangkaian demultiplekser 4 bit pada
GAL20V8.
Rangkaian
demultiplekser
mempunyai selektor untuk memilih jalur
output. Kondisi logika jalur output akan
bernilai sama dengan kondisi logika input
apabila data selektor sesuai dengan jalur output
yang dipilih. Sebagai contoh OUT0 akan sama
dengan INPUT bila selektor S0=0 dan S1=0.
Dalam Gambar 34 ditunjukkan pengujian
rangkaian logika demultiplekser 4 bit pada
GAL20V8.
Hasil
dari
pengujian
demultiplekser ditunjukkan dalam Tabel 4.

Gambar 34. Pengujian input dan output


demultiplekser GAL 20V8 pada saat S0=0,
S1=0
Tabel 4. Hasil pengujian demultiplekser 4 bit
pada GAL20V8
OUT OUT OUT OUT
IN S0 S1
0
1
2
3
PIN PIN PIN PIN
PIN
PIN
PIN
8
9
10
20
19
18
17
1
0
0
1
*
*
*
1
0
1
*
1
*
*
1
1
0
*
*
1
*
1
1
1
*
*
*
1

39

Jurnal Bytes

Prosedur pengujian multiplekser 4 bit


pada PAL20L8 sama dengan pengujian
GAL20V8. Untuk rangkaian multiplekser pada
PAL20L8 memiliki spesifikasi yang sama
dengan
rangkaian
multiplekser
pada
GAL20V8. Pengujian ditunjukkan dalam
Gambar 35 dan hasil pengujian multiplekser
pada PAL20L8 ditunjukkan dalam Tabel 5.

Gambar 35. Pengujian input dan output


multiplekser PAL20L8 pada saat S0=0, S1=0
Tabel 5. Hasil pengujian multiplekser 4 bit
pada PAL20L8
IN0 IN1 IN2 IN3 S0
S1 OUTPUT
PIN PIN PIN PIN PIN PIN
PIN 21
2
3
4
5
6
7
1
*
*
*
0
0
IN0
*
1
*
*
0
1
IN1
*
*
1
*
1
0
IN2
*
*
*
1
1
1
IN3
Fungsi
demultiplekser
ialah
menyalurkan sinyal input menuju output sesuai
dengan logika selektor. Pada PAL20L8
rangkaian
demultiplekser
mempunyai
konfigurasi yang sama dengan demultiplekser
pada GAL20V8. Nilai logika output akan
bernilai sama dengan logika input apabila
selektor pada posisi output yang terpilih.
Sebagai contoh Output1 sama dengan Input
bila S0=0 dan S1=1. Dalam Gambar 36
ditunjukkan
pengujian
rangkaian
demultiplekser pada PAL20L8 dan hasil dari
pengujian demultiplekser pada PAL20L8
ditunjukkan dalam Tabel 6.

Vol 2 No 1, September 2013 : 28 42

OUT OUT OUT OUT


0
1
2
3
PIN PIN PIN PIN
PIN
PIN
PIN
8
9 10
19
18
17
16
1
0
0
1
*
*
*
1
0
1
*
1
*
*
1
1
0
*
*
1
*
1
1
1
*
*
*
1
Hasil pengujian nilai logika input dan
output yang diperoleh merupakan hasil dari
penyederahaan persamaan logika rangkaian
logika multiplekser dan demultiplekser. Tabel
kebenaran yang didapat dari hasil pengujian
merupakan nilai logika yang tepat, apabila
nilai-nilai
tersebut
dimasukkan
dalam
persamaan logika yang telah ditemukan.
IN

S0

S1

Pengujian sinyal keluaran pada GAL dan


PAL
Pengujian sinyal keluaran pada GAL
dan PAL dilakukan untuk mengetahui sinyal
yang mampu dihantarkan oleh GAL dan PAL.
Sinyal masukkan diberikan pada bagian input
GAL dan PAL yang telah terkonfigurasi
sebagai multiplekser dan demultiplekser 4 bit.
Bentuk sinyal yang diujikan ialah sinyal kotak,
segitiga dan sinus. Dalam pengujian ini
diperlukan osiloskop untuk melihat bentuk
gelombang dan function generator sebagai
sumber sinyal.
Prosedur dari pengujian ialah dengan
memperhatikan frekuensi dan amplitudo
maksimum dari sinyal yang akan diberikan
pada GAL dan PAL. Frekuensi yang
digunakan pada pengujian ini adalah 100Hz,
1kHz, 10kHz, 100kHz untuk setiap bentuk
sinyal. Amplitudo yang digunakan ialah 5 volt
untuk seluruh bentuk sinyal yang akan
diujikan. Rangkaian pengujian ditunjukkan
dalam Gambar 37.

Gambar 36. Pengujian input dan output


demultiplekser PAL20L8 pada saat S0=0, S1=0
Tabel 6. Hasil pengujian demultiplekser 4 bit
pada PAL20L8

40

Gambar 37. Rangkaian pengujian GAL dan


PAL

Penggunaan Programmable Logic Device, Sonny

Hasil yang diperoleh dari pengujian IC


GAL dan PAL tidak jauh berbeda. Sinyal yang
dapat diteruskan adalah sinyal kotak/square
wave. Bentuk sinyal keluaran terhadap input
yang diberikan tidak mengalami perubahan
bentuk. Apabila diberikan masukkan berupa
sinyal segitiga dan sinus maka keluaran tidak
sama dengan sinyal masukkannya. Maka dapat
disimpulkan bahwa sinyal segitiga dan sinus
tidak dapat di teruskan oleh PAL20L8 dan
GAL20V8. Dalam Gambar 38, 39 dan 40
ditunjukkan hasil dari pengujian sinyal GAL
dan PAL.

Gambar 40. Pengujian sinyal sinus 1 khz pada


GAL dan PAL
Dari hasil pengujian sinyal ini PAL20L8
mempunyai batas frekuensi yang dapat
dilewatkan sebesar 500kHz dan pada
GAL20V8 frekuensi yang dapat dilewatkan
adalah 100kHz.

Gambar 38. Pengujian sinyal kotak 1 khz pada


GAL dan PAL

Gambar 39. Pengujian sinyal segitiga 1 khz


pada GAL dan PAL

Kesimpulan
Dari hasil pengujian dan analisis dapat
disimpulkan hal-hal sebagai berikut :
a. Pemrograman rangkaian logika pada
GAL20V8 berbeda dengan PAL20L8,
perbedaan terjadi pada konfigurasi gerbang
logika pada array PAL20L8, sebuah
gerbang OR pada GAL20V8 dibangun
menggunakan 3 buah gerbang NAND pada
PAL20L8 melalui teori bubble pushing.
b. IC PAL20L8 dan GAL 20V8 hanya dapat
meneruskan sinyal kotak/square wave.
c. Nilai logika input dan output memiliki
ketepatan 100% dengan tabel kebenaran
multiplekser dan demultiplekser 4 bit.
Saran
a. Aplikasi
yang
dapat
dirancang
menggunakan PLD
sangatlah luas,
sehingga
dapat
dikembangkan
implementasi lainnya yang membutuhkan
persamaan logika.
b. Penggunaan PLD dapat dikembangkan
dengan menggunakan FPGA (Field
Programmable Gate Array), sehingga dapat
menjalankan aplikasi yang lebih kompleks.

41

Jurnal Bytes

Daftar Pustaka:
Balch, M. 2003. Complete Digital Design.
McGraw-Hill. Amerika.
Budiharto, W. 2003. Interfacing Komputer dan
Mikrokontroler. 2004. PT Elex Media
Komputindo. Jakarta
3Dzale. 2009 . Mengenal Programmable Logic
Devices
(PLD).
http://ndoware.com/mengenalprogrammable-logic-devices-pld.htm. 1
Nop 2009.
Leach, D. P , Malvino, P. A . 1995. Digital
Principles And Applications. McGrawHill. Amerika
Kleitz, W . 1996. Digital Electronics Fourth
Edition. Prentice Hall. New Jersey
Maini, A. K . 2007. Digital Electronics :
Principle Devices and Applications.
John Wiley & Sons. England
Martanto.
2000.
Perancangan
dan
Implementasi
Generator
Fungsi
DenganMetoda DDS(Direct Digital
Synthesis)
pada
CPLD(Complex
Programmable Logic Device). Institut
Teknologi Bandung. Bandung

42

Vol 2 No 1, September 2013 : 28 42

Navabi, Z. 2005. Digital Design and


Implementation
with
Field
Programmable
Devices.
Springer.
Boston
Nur, M. 1981. Sistem-sistem Digital. Institut
Teknologi Sepuluh Nopember. Surabaya
Samman, A. F. 2002. Fuzzy Logic Controller
Circuit Design and Its Implementation
on CPLD. Institut Teknologi Bandung.
Bandung
Sofyan. 2004. Risc Sederhana dengan FPGA.
KOMMIT 2004. Jakarta. Hal 699-707
Tocci, R. J. 1995. Digital System Principle &
Applications. Prentice Hall. Amerika
Tinder, R. F. 2000. Engineering Digital
Design Second Edition. Academic Press.
San Diego
Wood, R. A. 1981. An Electrically Alterable
PLA for Fast Turnaround-Time VLSI
Development Hardware. IEEE Journal
of Solid-State Circuits. Vol SC-16 No.
5. New York. Halaman. 570-577
Fong, E. 1984. An Electrically Reconfigurable
Programmable Logic Array Using A
CMOS/DMOS
Technology.
IEEE
Journal of Solid-State Circuits. Vol SC19 No. 6. New York. Halaman. 10411044

Aplikasi Komunikasi Data, Nurlaily, Michael

Aplikasi Komunikasi Data Remote Computer Client


1,2

Nurlaily Vendyansyah1, Michael Ardita2


Teknik Informatika ITN Malang, Jalan Karanglo km 2 Malang
lily_flowers05@yahoo.com. e2982online@yahoo.co.id
Abstrak

Bagaimana cara antar computer dapat berkomunikasi adalah merupakan permasalahan


dasar untuk memahami komunikasi data. Dalam paper ini dibuat aplikasi komunikasi data berbasis
client server untuk tujuan remote computer client melalui computer server menggunakan UDP (User
Datagram Protocol) dengan memesan port yang disediakan untuk alokasi service bebas 16 bit, yaitu
nomor port 1024 hingga 65.535. Fitur yang dapat dikendalikan oleh computer server remote
Shutdown, Restart, Hide Icon Desktop, Unfreeze Mouse dan Keyboard dalam interval waktu tertentu,
Manajemen Windows, Hide Clock, Open CDRoom, Hide Taskbar, serta pemanggilan beberapa
aplikasi Client melalui server.
Kata kunci : UDP, Komunikasi Data, Remote, Jaringan Komputer

Pendahuluan
Komunikasi data adalah salah satu
pendukung keberhasilan terciptanya bermacam
aplikasi social media yang sedang marak.
Sebut saja KakaoTalk, Line, WeChat,
Whatsapp, Facebook, Twitter, mypeople,
Instagram dan masih banyak lagi. Bahkan
baru-baru ini, pihak RIM (Research In Motion)
secara resmi meluncurkan BBM for Android
melalui PlayStore.
Bagaimana cara antar computer dapat
berkomunikasi
adalah
merupakan
permasalahan
dasar
untuk
memahami
komunikasi data. Sehingga penulis bermaksud
membuat aplikasi remote computer client
melalui computer server.
Jaringan Komputer
Jaringan computer adalah sebuah system
yang terdiri atas lebih dari satu computer yang
didesain untuk dapat berbagi sumber daya
(CPU, printer), berkomunikasi (email, pesan
instan), dan dapat mengakses informasi[1].
Untuk dapat terhubung antar satu computer
dengan computer lainnya dapat memanfaatkan
teknologi wired (dengan kabel) ataupun
wireless (tanpa kabel) untuk transmisi datanya.
Pada jaringan computer tedapat istilah server
adalah pihak yang memberikan dan client
adalah pihak yang meminta informasi.

Open Systems Interconnection (OSI) Model


OSI model menjelaskan bagaimana
informasi dari sebuah aplikasi pada sebuah
computer dapat berkomunikasi dengan aplikasi
pada computer lainnya dalam jaringan. OSI
model memiliki 7 layer seperti ditunjukkan
pada gambar 1, dikembangkan oleh
International Organization for Standardization
(ISO) di Eropa pada 1984. Masing-masing
layer memberikan keterangan detail fungsinya
dalam sebuah jaringan[4].
Host Layer

Media Layer

Layer 7
Layer 6
Layer 5
Layer 4
Layer 3
Layer 2
Layer 1

Application
Presentation
Session
Transport
Network
Data Link
Physical

Gambar 1. 7 Layer OSI [4]


Komunikasi Data
Dalam suatu jaringan computer baik itu
menggunankan teknologi kabel (wired)
maupun tanpa kabel (wireless) pada dasarnya
tujuan utamanya
adalah agar
dapat
berkomunikasi antar satu host dengan yang
lainnya. Komunikasi itu bisa dapat dalam
bentuk komunikasi point-to-point atau
broadcast ke suluruh jaringan.

43

Jurnal Bytes

Remote
Istilah remote dapat diartikan sebagai
suatu kegiatan yang mengendalikan sesuatu
(perangkat)
dari
jarak
jauh.
Dalam
implementasinya
untuk
mengendalikan
perangkat tersebut dapat melalui media kabel
ataupun melalui gelombang radio.
UDP (User Datagram Protocol)
UDP (User Datagram Protocol)
merupakan salah satu protocol pada lapisan
Transport TCP/IP pada OSI 7 Layer. Protokol
ini mengasumsikan Internet Protocol (IP) yang
digunakan sebagai underlying protocol. UDP
adalah transaction oriented, dan delivery dan
duplicate protection tidak terjamin. [2].
Karakteristik UDP antara lain [3] :
1. Connectionless (Tanpa Koneksi)
Pesan UDP akan dikirimkan tanpa harus
dilakukan proses negoisasi koneksi antara
dua host yang akan bertukar informasi.
2. Unreliable (Tidak Handal)
Pesan UDP akan dikirimkan sebagai
datagram tanpa adanya nomor urut atau
pesan acknowledgement.
3. UDP menyediakan mekanisme untuk
mengirimkan pesan ke sebuah protocol
lapisan aplikasi atau proses tertentu di
dalam sebuah host dalam jaringan yang
menggunakan TCP/IP. Header UDP berisi
field Source Process Identification dan
Destination Process Identification.
4. UDP menyediakan penghitungan checksum
berukuran 16-bit terhadap keseluruhan
pesan UDP.
Analisa Kebutuhan Fungsional
Adapun perangkat lunak yang akan
dibangun adalah sebagai berikut :
1. Aplikasi dibangun berbasis Client Server
2. Aplikasi server memiliki fitur remote untuk
mengendalikan komputer client yang
terhubung dengan server. Fitur yang
dimaksud adalah Shutdown, Restart, Hide
Icon Desktop, Unfreeze Mouse dan
Keyboard dalam interval waktu tertentu,
Manajemen Windows, Hide Clock, Open
CDRoom, Hide Taskbar, serta pemanggilan
beberapa aplikasi Client melalui server.
3. Aplikasi
Client
dapat
melakukan
komunikasi dengan Server melalui fitur
Chat.
4. Server dapat merekam semua IP address
Client yang sedang terhubung.

44

Vol 2 No 1, September 2013 : 43 47

5. Aplikasi dapat melakukan broadcast ke


semua client yang terhubung.
Perancangan User Interface
1. Perancangan pada sisi Server
Perancangan antarmuka aplikasi pada
sisi server dan sisi client adalah bersifat
userfriendly, karena dibuat berbasis Graphical
User Interface (GUI). Rancangan antarmuka
pada sisi server ditunjukkan gambar 2 :

Gambar 2. Perancangan Aplikasi Server Side


Pada perancangan sisi server, untuk
pegaktifan server dibuat secara manual dengan
memanfaatkan
komponen
IdTcpServer1
dengan memesan nomor port yang akan
digunakan untuk melakukan komunikasi.
Implementasi
kode
program
untuk
mengaktifkan server secara manual adalah
sebagai berikut :
Procedure Tform1.Button5Click(Sender:
Tobject);
var
Bindings: TidSocketHandles;
port: Integer;
begin
Button7.Enabled:=True;
port:=StrToInt(Edit3.Text);
Bindings:=
TidSocketHandles.Create(IdTCPServer1);
Try
with Bindings.Add do
begin
IP:=Edit2.Text;
Port:=port;
end;
Komponen
IdThreadMgrDefault1
digunakan untuk merekam data yang dikirim
oleh client. Untuk merekam data yang masuk
ke server diimplementasikan kode program
sebagai berikut :

Aplikasi Komunikasi Data, Nurlaily, Michael

Procedure
Tform1.IdTCPServer1Execute(Athread:
TidPeerThread);
var
pesan:String;
begin
While Athread.Connection.Connected do
begin
Pesan:=Athread.Connection.ReadLn;
Athread.Connection.WriteLn(OK);
Memo1.Lines.Insert(0,pesan);
Memo1.Lines.Insert(0,[Data Dari IP
+Label10.Caption+] : +pesan);
end;
end;

2. Perancangan pada sisi Client


Pada perancangan antar muka pada sisi
client dengan memanfaatkan komponen
IdTCPClient1. Rancangan antarmuka pada sisi
client ditunjukkan gambar 3 :

end;
Berikut ini adalah kode program untuk
merekam komunikasi antara computer client
dengan server :
procedure TForm1.Button2Click(Sender:
TObject);
var
pesan:String;
begin
IdTCPClient1.WriteLn(Edit2.Text);
IdTCPClient1.ReadLn(pesan);
Memo1.Lines.Insert(0,'Data Client IP
'+Edit2.Text+' : '+Edit2.Text);
Edit2.Text:='';
end;
Pengujian Aplikasi Server Side
Pengujian yang dilakukan adalah dengan
komunikasi point-to-point dan broadcast
dengan teknologi wireless. Kemampuan
aplikasi untuk merekam IP Address secara
otomatis pada komputer yang dipasang
aplikasi server akan dibandingkan dengan
pengecekan konfigurasi IP melalui command
prompt dengan mengetikkan perintah ipconfig.

Gambar 4. Windows IP Configuration pada


terminal Server

Gambar 3. Perancangan Aplikasi Client Side


Berikut ini adalah kode program agar
computer client dapat terhubung dengan server
:
procedure Tform1.Button1Click(Sender:
Tobject);
var
pesan:String;
begin
With IdTCPClient1 do
begin
Host:=Edit1.Text;
Port:=1115;
Connect;
end;

Gambar 5. Hasil Pengujian Aplikasi Server


Side

45

Jurnal Bytes

Port yang digunakan untuk pengaktifan


server pada pengujian ini adalah 1115. Dalam
protocol TCP/IP nomor port memiliki tipe data
integer yaitu 0 sampai 65.535 (16 bit), dengan
0 sampai 1023 adalah well-known port
numbers. Sedangkan nomor port yang
disediakan untuk alokasi service bebas adalah
1024 sampai 65.535.

Vol 2 No 1, September 2013 : 43 47

if LoadLibrary(PChar(dllName))=0
Then Exit;
Lib:=GetModuleHandle(PChar(dllName));
if lib<>0 Then
begin
p:=GetProcAddress(Lib,PChar
(FuncName));
if p <>Nil Then
Result:= True;
end;
end;
Berikut ini adalah kode program untuk
memanggil aplikasi yang terinstal pada
computer client :

Gambar 6. Hasil Pengujian Fitur Remote


Computer Client melalui Server
Komputer client dapat dikendalikan oleh
server melalui fitur yang sudah disediakan
aplikasi server pada tombol Remote. Fitur
yang dimaksu yaitu Shutdown, Restart, Hide
Icon Desktop, Unfreeze Mouse dan Keyboard
dalam interval waktu tertentu, Manajemen
Windows, Hide Clock, Open CDRoom, Hide
Taskbar, serta pemanggilan beberapa aplikasi
Client melalui server. Dalam percobaan ini
dilakukan pada jaringan Klas C dengan IP
address Server 192.168.56.1 dan IP address
Client 192.168.56.5 .
Berikut ini adalah kode program untuk
merestart computer client :
procedure TForm1.Button1Click(Sender:
TObject);
begin
WindowsExit(EWX_REBOOT or
EWX_FORCE);
end;
Berikut ini adalah kode program untuk
shutdown computer client :
function TForm1.FuncAvail(dllName,
funcName: String; var p: Pointer): Boolean;
var
lib: THandle;
begin
result:=False;
p:=Nil;

46

procedure
TForm1.ComboBox1Change(Sender:
TObject);
begin
if ComboBox1.Text='Kalkulator' Then
begin
WinExec('calc.exe',SW_NORMAL);
end;
if ComboBox1.Text='Paint' Then
begin
WinExec('mspaint.exe',SW_NORMAL);
end;
if ComboBox1.Text='Notepad' Then
begin
WinExec('notepad.exe',SW_NORMAL);
end;
if ComboBox1.Text='Ms.Office' Then
begin
WinExec('C:\Program Files\Microsoft
Office\Office12\winword.exe',SW_NORMAL)
;
end;
if ComboBox1.Text='Ms.Excel' Then
begin
WinExec('C:\Program Files\Microsoft
Office\Office12\excel.exe',SW_NORMAL);
end;
end;

Aplikasi Komunikasi Data, Nurlaily, Michael

Pengujian Aplikasi Client Side


Pengujian yang dilakukan pada aplikasi
sisi client adalah kemampuan aplikasi untuk
merekam IP Address Computer sendiri secara
otomatis dan kemampuan untuk dapat
terhubung dengan Server. Aplikasi akan
memberikan informasi status keberhasilan
terhubung dengan server. Ketika
client
terhubung dengan server maka computer client
dapat
melakukan
komunikasi
dengan
mengirimkan pesan. Rekaman komunikasi data
antara server dan client ditampilkan di memo.
Ketika client terhubung ke computer
server, maka fitur remote computer client
melalui computer server dapat berfungsi.
Antarmuka aplikasi pada sisi client
ditunjukkan gambar 7.

kesimpulan
1. Aplikasi yang dibuat adalah untuk
komunikasi data antara satu computer
server yang terhubung dengan satu atau
lebih computer client melalui nomor port
yang disediakan untuk alokasi service
bebas.
2. Alamat Broadcast pada pengujian dengan
IP
server
192.168.56.1
adalah
192.168.56.255.
3. Fitur Remote computer client akan
berfungsi jika computer client terhubung
dengan aplikasi server, dan server harus
mengaktifkan layanannya.
Daftar Pustaka
--,Jaringan
Komputer,
http
:
//id.m.wikipedia.org/wiki/Jaringan_kom
puter/, (26-07-2013)
H.Schiller,Jochen,Mobile
Communications
2nd Edition, Great Britain : Pearson
Education Limited, 2003, pp.19.
Masya, Fajar, Fiade, Andrew, Socket
Programming, Graha Ilmu.
--,OSI
model,
http
:
//id.m.wikipedia.org/wiki/OSI_model/,
(26-07-2013)

Gambar 7 Hasil Pengujian Client Side

47

PANDUAN PENULISAN JURNAL


Judul (font size 14 bold)
Nama Penulis (NIM) (font size 11 bold)
Teknik Informatika ITN Malang
e-mail (font size 11 reguler)

Abstrak (font size 11 italic bold )


Abstrak berisi aspek-aspek umum dan kesimpulan utama. Panjang abstrak 100 s/d 200 kata dan diketik
dalam ukuran huruf 11 pts.
Kata kunci : Kata kunci sedapat mungkin menjelaskan isi tulisan, dan ditulis dengan huruf kecil, kecuali
singkatan. Kata kunci tidak lebih dari 6 kata.

1. Pendahuluan [11 pts/Bold]

3. Keterangan Tabel dan Gambar

Naskah jurnal ditulis di kertas berukuran


standar A4 (21 cm x 29.7 cm) dalam jumlah 8
sampai 15 halaman. Naskah ditulis dalam
format satu spasi. Tambahkan satu spasi untuk
setiap antar-bagian (antara judul dan penulis,
antara penulis dan abstrak, antara absrak dan
kata kunci, antara sub-bab dan isi). Semua
margin atas, margin bawah, margin kiri, dan
margin kanan 25 mm. Margin untuk header dan
footer 15 mm. Naskah tidak perlu diberi nomor
halaman, header dan footer.
Isi pendahuluan mengandung latar
belakang, tujuan, identifikasi masalah dan
metoda penelitian, yang dipaparkan secara
tersirat (implisit).
Kecuali bab Pendahuluan dan bab
Kesimpulan dan Saran, penulisan judul-judul
bab sebaiknya eksplisit menyesuaikan isinya.
Tidak harus implisit dinyatakan sebagai Dasar
Teori, Simulasi Sistem, dan sebagainya.

Nomor urut tabel ditulis di bagian atas tabel


yang dijelaskan, contoh: Tabel 1, Tabel 2(a).
Nomor urut gambar ditulis di bawah gambar
yang dijelaskan, contoh: Gambar 1, Gambar
2(a).

2. Persamaan Matematika
2.1. Contoh
Persamaan matematika dinomori dengan
angka Arab di dalam tanda kurung buka-tutup
pada posisi rata kanan kolom. Persamaan
ditulis menjorok ke dalam sejauh satu 7,5 mm.
Untuk persamaan yang tidak cukup ditulis
dalam lebar 1 kolom, penulisannya dapat
melintasi 2 kolom, ditulis di bagian bawah
halaman dan diberi nomor urut yang sesuai.

y ( n)

x(k ) x(n k )

2.2.

(1)

4. Cara Pengajuan dan Pengutipan


Rujukan dalam pembahasan ditandai
nomor pustaka yang dirujuk dalam kurung siku,
contoh: [1], [2, 57].
Daftar Pustaka:
[1] Ludeman, L. C., 1987, Fundamental of
Digital Signal Processing, Singapore,
John Wiley & Sons, Inc.
[2]
Penyusunan rujukan dalam daftar pustaka
berurut berdasarkan abjad nama pengarang dan
diberi nomor angka arab dalam kurung siku.
Penulisan unsur-unsur keterangan pustaka
mengikuti kaidah dengan urutan: (1) nama
pengarang ditulis dengan urutan nama akhir,
nama awal dan nama tengah, tanpa gelar
akademik. (2) tahun penerbitan. (3) Judul. (4)
tempat penerbitan. (5) nama penerbit. Untuk
pemisah antar-unsur keterangan pustaka
digunakan tanda koma ,.

Lampiran
Jika diperlukan,
dengan lampiran.

tulisan

dapat

dilengkapi

Anda mungkin juga menyukai