Jurnal Byte Vol 2 No 1

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

Transcript of Jurnal Byte Vol 2 No 1

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 : [email protected] 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 [email protected], [email protected]

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

[email protected]

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 [email protected], [email protected]

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 [email protected], [email protected]

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 [email protected], [email protected]

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 [email protected]

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 [email protected]. [email protected]

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.