View
287
Download
4
Category
Tags:
Preview:
Citation preview
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
1
2 PENERAPAN AGILE MODELING PADA PEMBANGUNAN SISTEM PERSEWAAN MOBIL Karina Auliasari
9
3 SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT KULIT DENGAN METODE CERTAINTY FACTOR Ali Mahmudi, Reza Desegi
14
4 OPTIMASI SALES FORCE AUTOMATION (SFA) UNTUK MENGANALISA LOYALITAS PELANGGAN DAN PERAMALAN PENJUALAN Sandy Nataly Mantja, Febriana Santi Wahyuni
19
5 MEDIA PEMBELAJARAN DASAR KOMUNIKASI DATA PADA JARINGAN KOMPUTER MENGGUNAKAN PROTOKOL UDP Michael Ardita, Nurlaily Vendyansyah
23
6 PENGGUNAAN PROGRAMMABLE LOGIC DEVICE (PLD) BERBASIS PROGRAMMABLE ARRAY LOGIC (PAL) DAN GENERIC ARRAY LOGIC (GAL) UNTUK MULTIPLEXER DAN DEMULTIPLEXER 4 BIT Sonny Prasetio
28
7 APLIKASI KOMUNIKASI DATA “REMOTE COMPUTER CLIENT” Nurlaily Vendyansyah, Michael Ardita
43
Implementasi Artificial Neural Networ, Febiana | Sandy
1
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
2
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 : Nilai aktivasi dari unit j wj,i : Bobot dari unit j ini : Penjumlahan bobot dan masukan ke unit i g : Fungsi aktivasi ai : Nilai aktivasi dari unit i
Implementasi Artificial Neural Networ, Febiana | Sandy
3
W11
W21 W31
Nilai Input
Layer Input ( X1, X2, X3 ) Nilai Output
Layer Output ( Y1 ) WXY : Matriks Bobot
V12 V11 V21
V22 V31 V32
W11
W21
Nilai Input
Layer Input ( X1, X2, X3 ) Nilai Output
Layer Output ( Y1 )
Layer Tersembunyi ( Z1, Z2 )
VXZ : Matriks Bobot Pertama
WZY : Matriks Bobot Kedua
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.
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
dengan layar jamak mampu menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan jaringan layar tunggal, namun proses pelatihan membutuhkan waktu lama.
Keterangan :
Gambar 4 Arsitektur Jaringan Layar Jamak
>
Jurnal Bytes Vol 2 No 1, September 2013 : 1 – 8
4
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.
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 alat-alat optik seperti scanner.
Preprocessing (Pra Pemrosesan)
Pra pemrosesan adalah suatu tahapan dimana citra yang telah didigitalisasi akan diberikan perbaikan-perbaikan 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
5
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 karakter-karakter 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
6
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)
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 masing-masing 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 pre-processing, tahapan ini dilakukan bertujuan untuk memperbaiki kualitas citra. Pre-processing 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
X1
X2
Xn
1
1
Z1
Zj
1
K1
Kp
Y1
Y2
Y3
Yi
35 neuron 144 neuron 144 neuron 36 neuron
Layar Tersembunyi Layar Input Layar Output
Implementasi Artificial Neural Networ, Febiana | Sandy
7
dibentuk kedalam matrik berukuran 7 x 5. Hasil dari ekstraksi ciri dari seluruh karakter dataset akan di lakukan pelatihan (training).
Tahapan terakhir adalah pengenalan (recognation).
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
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
No Nama File
Format File
Jumlah Karakter Terbaca Gagal Prosentase
1 A1 Jpg 55 55 2 96,36 Bmp 55 55 2 96,36 Png 55 55 2 96,36
2 A2 jpg 68 68 2 97,06 bmp 68 68 2 97,06 png 68 68 3 95,59
3 A3 jpg 54 54 4 92,59 bmp 54 54 4 92,59 png 54 54 6 88,89
4 A4 jpg 55 53 2 96,36 bmp 55 53 3 94,55 png 55 52 4 92,73
Acquisition Pre-processing Document Page Analysis
Feature Extraction Training Recoqnation
Jurnal Bytes Vol 2 No 1, September 2013 : 1 – 8
8
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-network-software.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, Addison-Wesley Publishing,
Principe, José C., Neil R. Euliano, Curt W. Lefebvre, 2000, “Neural and Adaptive Systems: Fundamentals Through Simulations”, ISBN 0-471-35167-9
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:2277-3061 Volume 3, No. 1.
Siang, JJ. 2005. Artificial Neural NEtwork & Pemogramannya Menggunakan MATLAB. .Yogyakarta: Andi Offset.
Sistem Pakar Untuk Mendiagnosa Penyakit Kulit, Ali | Reza
9
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 lain-lain. 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 kebutuhan-kebutuhan 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 Vol 2 No 1, September 2013 : 9 – 13
10
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] :
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
11
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 2. Proses penerapan XP pada pembangunan sistem
Gambar 3 Sistem pencatatan transaksi sewa yang belum terkomputerisasi
Gambar 4 Sistem pencatatan transaksi sewa yang akan dibangun
Gambar 5 Use-case diagram sistem transaksi sewa mobil
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.
Jurnal Bytes Vol 2 No 1, September 2013 : 9 – 13
12
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.
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.
Gambar 8 Component model sistem pencatatan transaksi sewa mobil
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
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
13
Gambar 10 Tampilan modul manajemen data sewa
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.
f. 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.
g. Pair programming mengkonsumsi banyak waktu apabila dalam tim terdapat patner kerja baru yang membutuhkan waktu untuk memahami kode program.
h. 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.
Jurnal Bytes Vol 2 No 1, September 2013 : 14 – 18
14
SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT KULIT DENGAN METODE CERTAINTY FACTOR
Ali Mahmudi1, Reza Desegi2
1,2 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
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
15
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.
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
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]
= 0MB [h, e1] + MB [h, e2] ∗ (1− MB [h, e1])
MD[h, e1 ∧ e2]
= 0MD [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.
Gambar 1. Flowchart Sistem
Jurnal Bytes Vol 2 No 1, September 2013 : 14 – 18
16
Data Flow Diagram (DFD) Level 0 / Diagram Konteks
Diagram konteks adalah alur data yang berfungsi untuk menggambarkan keterkaitan aliran-aliran data antara sistem dengan bagian-bagian luar. Adapun diagram konteks untuk sistem yang akan dibangun, ditunjukkan di gambar 2.
data_gejala
user
admin
sistem pakar
infomasi_penyakit
data_penyakit
data_gejala
laporan_data_penyakit
laporan_data_gejala
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.
admin
user
1
log_in
2
data_gejala
3
data_penyakit
5
daftar
data_admin
data_gejala
data_penyakit
6
konsultasi
data_user
7
solusi
data_admin
info_admin
data_admin
data_gejala
lap_gejaladata_gejala
data_penyakit
lap_penyakit
data_penyakit
data_solusidata_solusi
lap_solusi
daftar
laporan_user
data_gejala
data_penyakit dan solusi
data_user
konsultasi
info_konsultasi
report_user
Gambar 3. DFD Level 1
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.
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.
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
17
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 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.
Gambar 8. Halaman informasi
Halaman Konsultasi
Halaman konsultasi ini merupakan halaman yang menampilkan gejala-gejala pada suatu sistem. Pada halaman ini pengguna
melakukan proses diagnosa untuk mengetahui jenis penyakit yang dialami. Tampilan dari halaman konsultasi dapat ditunjukkan pada gambar 9.
Gambar 9. Halaman konsultasi.
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 10. Halaman hasil perhitungan satu
gejala untuk satu penyakit.
Jurnal Bytes Vol 2 No 1, September 2013 : 14 – 18
18
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]*(1–MB[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]*(1–MD[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
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
19
OPTIMASI SALES FORCE AUTOMATION (SFA) UNTUK MENGANALISA LOYALITAS PELANGGAN DAN PERAMALAN PENJUALAN
Sandy Nataly Mantja1 , Febriana Santi Wahyuni2
1,2 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 costumer-
facing 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.
Jurnal Bytes Vol 2 No 1, September 2013 : 19 – 22
20
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.
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
21
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
Jurnal Bytes Vol 2 No 1, September 2013 : 19 – 22
22
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
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
23
MEDIA PEMBELAJARAN DASAR KOMUNIKASI DATA PADA JARINGAN KOMPUTER MENGGUNAKAN PROTOKOL UDP
Michael Ardita1, Nurlaily Vendyansyah2
1,2 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, dasar-dasar 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 lapisan-
lapisan 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 tiap-tiap komputer dalam jaringan memiliki alamat IP (Internet Protocol) yang unik.
Jurnal Bytes Vol 2 No 1, September 2013 : 23 – 27
24
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.
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
25
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-to-point) ataukah ke seluruh anggota jaringan (broadcast). Antarmuka dengan pengguna yang dibuat saat desain dapat dilihat pada Gambar 1 .
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
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. 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.
Jurnal Bytes Vol 2 No 1, September 2013 : 23 – 27
26
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
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.
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
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
27
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/tutorial-OSI-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 (23- Juli -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.non-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)
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
28
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
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
29
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
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
30
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 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.
Gambar 4. Arsitektur PAL
Sumber : Tocci,1995
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
31
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
apabila tidak berhasil maka harus dilakukan pengecekan hardware.
Mulai
Penyederhanaan Fungsi Logika
Menjalankan development
software
Memasukkan persamaan logika
Development software
menghasilkan fuse map dan test data
Mengirim fuse map dan test data pada programmer
Pemrograman PLD
Pengujian PLD
Berhasil ? Cek persamaan logika
Melakukan pengujian pada rangkaian yang
sebenarnya
Meniliti kesalahanBerhasil ?
Selesai
A
A
N
Y
N
Y
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.
Multiplekser
I0
I1
IN-1
Output Z
Input Selektor
Gambar 7. Diagram multiplekser secara umum Sumber : Nur, 1981
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
32
Cara kerja multiplekser seperti sebuah switch multi posisi yang dikontrol secara digital dimana kode digital yang diberikan pada pemilih input akan mengontrol input-input 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. 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.
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.
Kerangka Teori Kerangka teori penelitian ditunjukkan dalam Gambar 9.
TEKNOLOGI MONOLITIK
BIPOLAR CMOS
HCMOS BICMOS
PERANCANGANMULTIPLEKSER
DEMULTIPLEKSER 4 BIT
SIMULASIMULTIPLEKSER DAN
DEMULTIPLEKSER 4 BIT
COMPILEBENAR ?
TUJUANPENELITIAN
PENGGUNAANIC PAL DAN GAL
PEMROGRAMANIC PAL DAN GAL
UJI COBA IC PAL & GALSEBAGAI MULTIPLEXER
SESUAI ?
SELESAI
Ya
Tidak
Ya
Tidak
TTL RTL DTL ECL PALGAL
Gambar 9. Kerangka teori penelitian
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
33
MULAI
Studi Literatur
Membuat Persamaan Rangkaian Logika
Selesai
Persiapan penelitian : Penentuan IC PAL dan GAL yang digunakan Indetifikasi masalah Menyiapkan tools yang dibutuhkan Mengumpulkan peralatan yang digunakan.
Rangkaian logika PAL Rangkaian logika GAL
Membuat Hardware Minimum Sistem PAL dan GAL
Hardware OK ?
Merancang Skema Multiplekser dan Demultipleser 4 bit pada
Protel 99 SE
Melakukan proses Compile
Skema Benar ?
Tidak
Ya
Tidak
Ya
File jedec (.jed)
Pengisian PAL dan GAL
Uji coba benar ?
Analisis
Dokumentasi penelitian
Ya
Tidak
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 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.
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
PAL20L8
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
34
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
demultiplekser berfungsi sebagai pemilih output. Tabel kebenaran demultiplekser 4 bit ditunjukkan dalam Tabel 2. Tabel 2. Tabel kebenaran demultiplekser 4 bit Inpu
t S0
S1
Out0
Out1
Out2
Out3
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
35
Gambar 16 ditunjukkan rangkaian logika multiplekser yang telah dirancang sesuai dengan Persamaan 7 dan memenuhi tabel kebenaran multiplekser yang ditunjukkan pada Tabel 1.
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 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
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 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 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
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
36
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.
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.
Gambar 22. Rangkaian multiplekser pada GAL20V8 dan PAL20L8
Rangkaian multiplekser pada
PAL20L8 mengalami perubahan pada gerbang logika yang digunakan. Hal ini terjadi karena
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
Gambar 24. Penentuan pin input dan output
pada GAL20V8 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
NAND AND
Multiplekser GAL20V8
Multiplekser PAL20L8
Penggunaan Programmable Logic Device, Sonny
37
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.
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
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 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
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
38
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 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.
Gambar 30. Skema diagram logika
multiplekser dan demultiplekser 4 bit
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
39
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 All-100. 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
2 PIN
3 PIN
4 PIN
5 PIN
6 PIN
7 PIN 21
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
IN S0 S1 OUT0
OUT1
OUT2
OUT3
PIN 8
PIN 9
PIN 10
PIN 20
PIN 19
PIN 18
PIN 17
1 0 0 1 * * * 1 0 1 * 1 * * 1 1 0 * * 1 * 1 1 1 * * * 1
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
40
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
2 PIN
3 PIN
4 PIN
5 PIN
6 PIN
7 PIN 21
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.
Gambar 36. Pengujian input dan output
demultiplekser PAL20L8 pada saat S0=0, S1=0
Tabel 6. Hasil pengujian demultiplekser 4 bit pada PAL20L8
IN S0 S1 OUT0
OUT1
OUT2
OUT3
PIN 8
PIN 9
PIN 10
PIN 19
PIN 18
PIN 17
PIN 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. 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 37. Rangkaian pengujian GAL dan
PAL
Penggunaan Programmable Logic Device, Sonny
41
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 38. Pengujian sinyal kotak 1 khz pada
GAL dan PAL
Gambar 39. Pengujian sinyal segitiga 1 khz
pada 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. 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.
Jurnal Bytes Vol 2 No 1, September 2013 : 28 – 42
42
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/mengenal-programmable-logic-devices-pld.htm. 1 Nop 2009.
Leach, D. P , Malvino, P. A . 1995. Digital Principles And Applications. McGraw-Hill. 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
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 It’s 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 SC-19 No. 6. New York. Halaman. 1041-1044
Aplikasi Komunikasi Data, Nurlaily, Michael
43
Aplikasi Komunikasi Data “Remote Computer Client”
Nurlaily Vendyansyah1, Michael Ardita2
1,2 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].
Layer 7 Application Layer 6 Presentation Layer 5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 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.
Host Layer
Media Layer
Jurnal Bytes Vol 2 No 1, September 2013 : 43 – 47
44
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.
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
45
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 :
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;
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 5. Hasil Pengujian Aplikasi Server Side
Jurnal Bytes Vol 2 No 1, September 2013 : 43 – 47
46
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.
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;
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 :
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
47
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.
Gambar 7 – Hasil Pengujian Client Side
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_komputer/, (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)
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]
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.
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.
k
knxkxny )()()( (1)
2.2. …………………
3. Keterangan Tabel dan Gambar
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).
4. Cara Pengajuan dan Pengutipan
Rujukan dalam pembahasan ditandai
nomor pustaka yang dirujuk dalam kurung siku,
contoh: [1], [2, 5–7].
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, tulisan dapat dilengkapi
dengan lampiran.
Recommended