222
1

Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Embed Size (px)

Citation preview

Page 1: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

1

Page 2: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

2

PROSIDING

KONFERENSI NASIONAL KOMPUTER

(KNK 2011)

6 JANUARI 2010

KAMPUS STMIK KHARISMA MAKASSAR

JALAN BAJI ATEKA 20 MAKASSAR

Page 3: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

3

KATA PENGANTAR

Puji syukur kehadiran Tuhan YME atas berkat rahmat dan karunia-Nya sehingga Konferensi Nasional Komputer (KNK) 2010 dapat terselenggara di Palembang. KNSI 2010 diselenggarakan oleh STMIK Kharisma dan didukung oleh APTIKOM , dimaksudkan sebagai forum penyebaran ilmu pengetahuan dan informasi tentang ilmu komputer khususnya di Indonesia. KNK 2011 diharapkan dapat memfasilitas bertemunya para akademisi dan praktisi di bidang ilmu komputerguna berdiskusi mengenai ide-ide baru khususnya di bidang ilmu komputer sehingga dapat menjembatani kesenjangan ide- ide baru khususnya di bidang sistem informasi sehingga dapat menjembatani kesenjangan yang timbul antara teori yang dikemukakan oleh para akademisi dengan realisasi yang dikembangkan oleh para praktisi. Diharapkan hasil KNK 2010 dapat memberikan kontribusi bagi peningkatan ilmu pengetahuan di bidang komputer secara nasional di masa yang akan datang.

Pada KNK 2011 kali ini, panitia menerima lebih dari (berapa) tulisan. Namun , setelah melaui proses review oleh sejumlah pakar yang terlibat di kepanitiaan KNK 2011 dalam bidang yang sesuai dengan topik KNK 2011 maka tidak semua terseleksi untuk disajikan dalam konferensi ini. Makalah yang diterima kemudian dikelompokkan ke dalam (berapa) topik, yaitu (apa2 topiknya). Mungkin dalam pengelompokan tersebut para penulis memiliki pandangan yang berbeda. Namun diharapkan hal tesebut tidak menjadi kendala bagi terselenggara KNK 2011

Pada kesempatan ini panitia ingin mengucapkan terima kasih kepada para pemakalah dan peserta yang hadir serta pihak-pihak yang telah membantu mendukung terselenggara KNK 2011 di STMIK Kharisma sehingga kegiatan ini dapat berlangsung lancar dan sukses. Terkhusus kami ucapkan terima kasih kepada pihak APTIKOM yang telah membantu kami untuk menyelenggarakan KNK pertama kali di Makassar. Semoga kegiatan KNK 2011 ini dapat memberikan manfaat bagi semua pihak.

Ketua Panitia Pelaksana

Himawan Thamrin Dinata

Page 4: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

4

KEPANITIAAN

Penanggung Jawab : Dr. Eng. Armin Lawi, S.Si, M.Eng.

Ketua Harian : Himawan Thamrin Dinata

Komite Pelaksana :

Jaezah Chairina C.

Michelly

Phan, Handy Handoko

Louis William

Christy wijaya

Venesia Limowa

Alicia Armin

Nuraeni Djamaluddin

Amelia Go

Luany Cendikia

Yayat Sudrajat

Hizkia Yosti

Alvin Seliang

Reza

Nova Herman

Ine Herlina

Feliks

Jahar

William

Ruslie

Daniel

Muh. Furkan

Ivan Darmawan

Nathania

Wilson

Stanley Liem

Moureen Feybe

Annisah

Betzy Pakasi

Netty Natalia

Wendy Conarta

Hans

Tarsy

Fabi

Marthen

Asdi

Robert

Parjan

Fajar

Page 5: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

5

DAFTAR ISI

Voip (Voice Over Internet Protocol) Solusi Telekomunikasi Alternatif Yang Menjangkau Seluruh Lapisan MasyarakatHamdan Arfandy .......................................................................9

Komparasi Kinerja Ado Dan Odbc Dalam Memanipulasi Rdbms DatabaseGerzon J Maulany dan Toban T Pairunan................................. 18

Penyelenggaraan Sistem Informasi Dalam Konteks Undang-Undang Nomor 11 Tahun 2008 Tentang Informasi Dan Transaksi Elektronik Ronny......................................................................................... 25

Klasifikasi Kinerja Beban Dosen Stimik Handayani Menggunakan Algoritma Naïve Bayesian Muhammad Rais dan Isminarti .................................................. 30

Algoritma Semut

Optimalisasi Jumlah Tipe Rumah Yang Akan Dibangun Menggunakan Algoritma SemutAkhyar Muchtar dan Abdul Muis................................................ 41

Optimasi Pemilihan Rute Terpendek Jalur Angkutan Umum Kota Makassar Dengan Algoritma Ant Colony OptimizationAgussalim dan Hasyrif Sy.......................................................... 46

Descision Tree

Penilaian Soft-Skills Mahasiswa Menggunakan Decision TreeAndi Sitti Rasiah dan Mohamad Ali Wardana............................ 55

Klasifikasi Kinerja Beban Dosen Menggunakan Algoritma Decision TreeMansur. As dan Petrus Katemba...............................................61

Sistem Pendukung Keputusan Decision Tree(Studi Kasus : Klasifikasi Stadium Kanker Serviks)Armin Lawi dan Mediawati Somalangi....................................... 66

Algoritma Fuzzy

Basis Data Fuzzy Model Tahani Untuk Pengklasifikasi Beban Kerja Dosen Fithriah Musadat dan Andi Azhar Mustara ................................ 71

Page 6: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

6

Penilaian Soft Skill Mahasiswa Dengan Metode Fuzzy SystemSyamsul Bahri dan Stefany Y Bara’langi ................................... 77

Genetika

Optimasi Penataan Tipe Rumah Mengunakan Metode Algoritma DnaThabrani dan Ketut Yudana....................................................... 81

Implementasi Algoritma Dna Untuk Menyelesaikan Kasus Optimasi Trayek Angkutan Kota MakassarErfan Hasmin dan As’ad Djamalilleil ..........................................86

Optimasi Pendapatan Angkutan Umum Menggunakan Algoritma Genetika Yesaya Tommy Paulus dan Jupri .............................................. 91

Optimasi Penataan Tipe Rumah Menggunakan Algoritma GenetikaHerman dan Widyawisanti .........................................................98

Jaringan Saraf Tiruan

Klasifikasi Beban Kinerja Dosen Dengan Jaringan Saraf Tiruan Self Organizing Map (Som)Abdul Mubarak dan Salahudin Olii ............................................104

Penilaian Soft Skill Mahasiswa Dengan Menggunakan Jaringan Syaraf TiruanMetode Self – Organizing Maps (Som)Asminar dan Perie Bagoes Handoko......................................... 108

Algoritma Jaringan Syaraf Tiruan Backpropagation Penentuan Jurusan Pada Siswa SmaMunawir dan Yuyun ................................................................... 113

Klasifikasi Penilaian Kinerja Dosen Dengan Menggunakan Algoritma BackpropagationMarson J. Budiman dan Andi Gita Novianti ............................... 118

Penilaian Soft-Skill Mahasiswa Dengan Jaringan Saraf Tiruan BackpropagationRahman dan Nur Dahniar .......................................................... 123

Page 7: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

7

JSP dan JavaImplementasi Jakarta Tomcat Subardin ,Baharuddin Rahman dan A.M.Lukman ..................... 131

Masalah Penanganan File Dalam Java Andi Irmayana,Teguh Kurniawan, dan Selfina Pare.................. 136

Pemanfaatan Javabeans Pada Aplikasi Enterprise JavabeansGerzon J Maulany, Rahmat H Kiswanto, dan Sitti Nur Alam..... 142

Pengantar Servlet Dan JspToban T Pairunan, Ari Widiastono, dan Sofian.......................... 149

Remote Method InvocationMuh. Sadly Said , Hady Suhardi dan Ottopianus Mellolo .......... 157

PCAAlgoritma Penilaian Soft Skills Mahasiswa Menggunakan Metode Principal Component Analysis (PCA)Masna Wati dan Suci Rahma Dani Rachman ........................... 163

Algoritma Penilaian Kinerja Beban Dosen Menggunakan Metode Principal Component Analysis (PCA) Sukirman dan Athirah Gassing .................................................. 176

PSO

Optimasi Waktu Pembangunan Perumahan Suatu Tipe Rumah Menggunakan Algoritma Particle Swarm OptimizationIrmawati Pangerang dan Syamsu Alam ................................... 184

Penentuan Trayek Angkutan Kota Terbaik Menggunakan Particle Swarm OptimationAnnah dan Andi Fitriati .............................................................. 188

SISTEM TERDISTRIBUSIImplementasi Simple Object Access Protocol Untuk Sistem TerdistribusiMeylanie Olivya.......................................................................... 195

Konsep Multithreading Dan Multiplexing Untuk Aplikasi Sistem TerdistribusiYusuf Anshori dan Gafrun .........................................................200

Page 8: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

8

Implementasi Common Object Request Broker Architecture Untuk Aplikasi TerdistribusiKomang Aryasa, Salkin Lutfi, dan Asmawaty Azis .................... 204

WEB SERVICEDiscovering Web Service Andi Yulia Muniar,Andi Ismail Akbar, dan Yuliana Kolyaan ...... 208

Implementasi Web Service Menggunakan Apache AxisAbdul Munir,Kristia Yuliawan, dan Muh. Zulkifli......................... 214

Implementasi Web Service Dan Model Service Oriented ArchitectureAndi Guttu, Medy W. Prihatmono, dan Suryadi Hozeng ........... 218

Page 9: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

9

VoIP (Voice Over Internet Protocol) Solusi

Telekomunikasi Alternatif yang

Menjangkau Seluruh Lapisan Masyarakat

Oleh :

Hamdan Arfandy 1

Abstrak

Sebagai mana kita ketahui bersama betapa

pentingnya peranan dari alat telekomunikasi

sebagai alat untuk menyampaikan pesan

kepada pihak lain. Yang dahulunya kita hanya

mengenal Telepon sebagai medianya akan

tetapi untuk saat sekarang ini para pakar

dibidang IT telah menemukan suatu alat

komunikasi yang mempunyai basis internet

sebagai alat komunikasi alternatif yang relatif

lebih murah dan dapat dijangkau oleh

masyarakat luas. Alat yang penulis

maksudkan dalam hal ini adalah VoIP (Voice

Over Internet Protocol) yang memungkinkan

kita untuk melakukan komunikasi dengan

pihak lain dengan pembiayaan yang tidak

begitu besar. Dengan catatan harus ada

penyelenggara atau dalam hal ini adalah pihak

investor yang bersedia untuk memberikan

investasi awal dari alat telekomunikasi ini.

PENDAHULUAN

I. 1 Latar Belakang Masalah

Pada era globalisasi saat ini Pesatnya

perkembangan teknologi sudah tidak dapat

kita duga lagi kecepatannya. Hal tersebut

sudah dapat kita lihat diberbagai bidang, baik

itu dibidang pertanian, peternakan, perikanan

dan lebih khusus lagi pada bidang teknologi

informasi. Dampak yang ditimbulkan oleh

perkembangan teknologi ini sudah barang

tentu mempunyai dampak yang sangat besar

pengaruhnya bagi kelangsungan bangsa ini.

Akan tetapi tidak dapat kita pungkiri apabila

1 Dosen STMIK KHARISMA Makassar

ada dampak positif yang ditimbulkan maka

sudah tentu juga mempunyai dampak negatif

yang akan timbul nantinya.

Dalam hal ini, perkembangan teknologi

informasi yang penulis maksudkan adalah

dalam bidang telekomunikasi, dimana kita

semua menyadari betapa pentingnya fungsi

dari telekomunikasi tersebut dalam kehidupan

kita. Pada zaman dahulu nenek moyang kita

untuk melakukan komunikasi dengan jarak

yang jauh biasanya mereka menggunakan jasa

burung merpati untuk mengirimkan surat, dan

seiring dengan perkembangan dari zaman ke

zaman hingga akhirnya Alexander Graham

Bell menemukan suatu alat telekomunikasi

yang sampai saat ini kita kenal dengan nama

Telepon. Untuk menjawab tantangan zaman

berkenaan dengan pentingnya alat

telekomunikasi maka pembangunan jaringan-

jaringan yang mempunyai basis

telekomunikasi sudah kian pesatnya, hal ini

dapat kita perhatikan dimana pihak produsen

atau penyedia layanan telekomunikasi saling

berlomba untuk memberikan pelayanan yang

terbaik bagi konsumennya dengan

meluncurkan produk-produk terbaru

berkenaan dengan penyempurnaan terhadap

produk-produk yang telah diluncurkan

sebelumnya atau merupakan produk yang

mempunyai nilai inovasi terbaru yang belum

terdapat pada produk-produk sebelumnya.

Hal yang senada juga dapat kita lihat

pada pengembangan atau perluasan daerah

jaringan yang nantinya dapat dijangkau oleh

produk telekomunikasi yang telah diluncurkan

ke masyarakat luas. Tapi, dalam pembangunan

infrastruktur baru tersebut sudah barang tentu

membutuhkan pembiayaan yang tidak sedikit

jumlahnya, entah itu masalah pembangunan

antena yang berfungsi untuk memancarkan

signal ataupun berfungsi menangkap signal

atau permasalahan pengkabelan yang sudang

barang tentu sangat dibutuhkan dalam

perluasan jaringan tersebut. Dan berdasarkan

Page 10: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

10

hal tersebut sehingga menyebabkan

telekomunikasi yang begitu penting artinya

bagi masyarakat semakin mahal untuk

dimiliki.

Berbeda dengan berita yang lagi marak

dibicarakan oleh masayarakat yang

mempunyai basis IT (Information Tecnologi),

dimana untuk melakukan suatu komunikasi

satu pihak dengan pihak lain bukanlah suatu

hal yang mahal atau hanya dapat dimiliki oleh

orang-orang yang berduit saja. Hal yang

marak dibicarakan saat-saat sekarang ini

adalah VoIP (Voice Over Internet Protocol),

dimana satu pihak dapat berkomunikasi

dengan pihak yang lain, layaknya alat

komunikasi yang biasa kita gunakan (Telepon)

dengan kualitas suara yang sama tapi dengan

biaya yang relatif lebih rendah dari tarif

telepon.

Berdasarkan uraian tersebut di atas,

penulis tertarik untuk membuat suatu tulisan

yang berkenaan dengan fenomena yang

berkembang dimasyarakat tentang VoIP

(Voice Over Internet Protocol), dengan

mengangkat sebuah judul VoIP (Voice Over

Internet Protocol) Solusi Telekomunikasi

Alternatif yang Menjangkau Seluruh

Lapisan Masyarakat dalam bentuk Karya

Tulis untuk menjadi bahan pengetahuan bagi

kita semua.

I. 2 Pokok Permasalahan

Berdasarkan latar belakang masalah

yang telah dikemukakan di atas, maka yang

menjadi pokok permasalahan yang penulis

akan bahas dalam tulisan ini adalah :

Apakah VoIP memang merupakan alat

komunikasi yang dapat menjangkau

seluruh lapisan masyarakat.

I. 3 Tujuan Penulisan

Dalam pembuatan Karya Tulis ini

penulis mempunyai tujuan untuk :

1. Agar telekomunikasi dapat

menjangkau seluruh lapisan

masyarakat.

2. Mengenalkan kapada masyarakat

tentang teknologi yang sedang

berkembang saat sekarang ini

I. 4 Manfaat Penulisan

Berkenaan dengan tujuan utama yang

ingin dicapai dari uraian di atas, maka

diharapkan dapat memberi manfaat positif

kepada semua pihak, sehingga Karya Tulis ini

tidak menjadi hal yang tidak membawa

manfaat atau sia-sia

Adapun manfaat dari Karya Tulis ini adalah

1. Diharapkan agar alat Telekomunikasi

dapat menjangkau seluruh lapisan

masyarakat.

2. Diharapkan agar masyarakat dapat lebih

akrab dengan teknologi untuk kemajuan

bangsa.

TINJAUAN PUSTAKA

II. 1 Kerangka Berpikir

Dalam menerapkan kerangka berpikir,

maka penulis mengutip beberapa konsep dasar

yang merupakan landasan teoritis yang akan

mengacu pada tulisan ini.

II. 1.1 Pengertian Jaringan Internet

Sebelum penulis memberi paparan

berkenaan dengan masalah VoIP terlebih

dahulu kita harus mengetahui apa itu jaringan

internet, dan aplikasi apa saja yang ada dalam

jaringan internet yang mempunyai hubungan

dengan VoIP serta mengapa harus ada internet

dalam hal ini. Menurut Dr. Ahmad Zaharim

Abdul Aziz. Internet adalah berasal dari

Page 11: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

gabungan perkataan inter dan

net atau antara rangkaian). Perkataan internet

merujuk kepada rangkaian yang dibina dengan

menyambungkan rangkaian komputer di

antara satu sama lain, manakala internet

adalah nama khas yang merujuk kepada

rangkaian komputer yang dibina dengan

menggunakan protokol rangkaian yang

dikenali sebagai TCP/IP. (Zaharim

Hal yang senada juga dikemukakan

oleh Onno W. Purbo bahwa

merupakan sebuah jaringan antar komputer

yang memungkinkan kita untuk

berkomunikasi satu dengan lain tanpa

mengenal batas-batas institusi, negara, bangsa,

ras, & birokrasi. (Onno, 1997).

Sedangkan jenis-jenis aplikasi yang ada

pada jaringan internet khusus

masalah komunikasi yang telah dikenal oleh

sebahagian masyarakat adalah aplikasi e

atau Electronic Mail (Surat Elektronik) yang

dalam hal ini melakukan pengiriman surat

dengan memanfaatkan jasa jaringan internet

dan ada juga jenis komunikasi yang sangat

diminati oleh para remaja kita yaitu

yang dalam hal ini adalah komunikasi yang

dilakukan oleh beberapa orang dengan

menggunakan media tulisan tanpa adanya

pengantaran signal suara. Akan tetapi kita

tidak akan terlalu jauh membahas masalah

tersebut, tapi kita akan fokuskan pada

pembahasan masalah VoIP itu sendiri yang

merupakan salah satu alat telekomu

yang mempunyai basis internet.

Berdasarkan opini dikemukakan di atas,

maka penulis menganggap bahwa peranan

internet dalam hal ini sangat besar. Untuk

opini para pakar di atas maka penulis dapat

mengambil suatu kesimpulan bahwa arti inti

dari internet adalah Komunikasi atau Tukar

Informasi antara satu komputer dengan

dan network (inter-

atau antara rangkaian). Perkataan internet

merujuk kepada rangkaian yang dibina dengan

menyambungkan rangkaian komputer di

satu sama lain, manakala internet

adalah nama khas yang merujuk kepada

rangkaian komputer yang dibina dengan

menggunakan protokol rangkaian yang

. (Zaharim, 1999).

Hal yang senada juga dikemukakan

oleh Onno W. Purbo bahwa Internet

erupakan sebuah jaringan antar komputer

yang memungkinkan kita untuk

berkomunikasi satu dengan lain tanpa

batas institusi, negara, bangsa,

(Onno, 1997).

jenis aplikasi yang ada

pada jaringan internet khusus untuk melayani

masalah komunikasi yang telah dikenal oleh

sebahagian masyarakat adalah aplikasi e-mail

(Surat Elektronik) yang

dalam hal ini melakukan pengiriman surat

dengan memanfaatkan jasa jaringan internet

dan ada juga jenis komunikasi yang sangat

diminati oleh para remaja kita yaitu Chating

yang dalam hal ini adalah komunikasi yang

erapa orang dengan

menggunakan media tulisan tanpa adanya

pengantaran signal suara. Akan tetapi kita

tidak akan terlalu jauh membahas masalah

tersebut, tapi kita akan fokuskan pada

pembahasan masalah VoIP itu sendiri yang

merupakan salah satu alat telekomunikasi

yang mempunyai basis internet.

Berdasarkan opini dikemukakan di atas,

maka penulis menganggap bahwa peranan

internet dalam hal ini sangat besar. Untuk

opini para pakar di atas maka penulis dapat

mengambil suatu kesimpulan bahwa arti inti

Komunikasi atau Tukar

Informasi antara satu komputer dengan

II. 1.2 Konsep Dasar VoIP

Setelah kita sedikit mengetahui konsep

dasar dari jaringan internet maka, penulis akan

memberikan paparan berkenaan dengan

konsep dasar dari VoIP.

(Voice Over Internet Protocol

disingkat dengan sebutan VoIP. Menurut

Bapak Onno W Purbo VoIP adalah telepon

melalui internet, menggunakan sentral telepon

buatan sendiri dengan pesawat telepon berupa

komputer yang dilengkapi

loudspeaker (Onno, 2003:24). Hal senada juga

dikemukakan oleh Bapak Kuncoro

Wastuwibowo, menurut beliau mengatakan

bahwa VoIP merupakan teknologi yang

membawa sinyal suara digital dalam bentuk

data paket dengan protocol

komunikasi VoIP, pemakai melakukan

hubungan telepon melalui terminal yang

berupa PC atau telepon (Kuncoro, 2003).

Secara sepintas definisi atau pengertian

VoIP yang dikemukakan oleh para ahli di atas

mempunyai suatu unsur yang sama dan

penulis dapat menyimpulkan maksudnya

adalah suatu alat telekomunikasi yang

sedikit mengetahui konsep

dasar dari jaringan internet maka, penulis akan

memberikan paparan berkenaan dengan

Voice Over Internet Protocol) atau

disingkat dengan sebutan VoIP. Menurut

Bapak Onno W Purbo VoIP adalah telepon

, menggunakan sentral telepon

buatan sendiri dengan pesawat telepon berupa

komputer yang dilengkapi microfon dan

(Onno, 2003:24). Hal senada juga

dikemukakan oleh Bapak Kuncoro

Wastuwibowo, menurut beliau mengatakan

teknologi yang

membawa sinyal suara digital dalam bentuk

protocol IP. Dalam

komunikasi VoIP, pemakai melakukan

hubungan telepon melalui terminal yang

atau telepon (Kuncoro, 2003).

Secara sepintas definisi atau pengertian

ang dikemukakan oleh para ahli di atas

mempunyai suatu unsur yang sama dan

penulis dapat menyimpulkan maksudnya

suatu alat telekomunikasi yang

Page 12: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

dengan menggunakan protocol TC

(internet).

Adapun bentuk aplikasi yang dapat kita

gunakan untuk melakukan komunikasi dengan

VoIP ada berbagai macam, dan program

aplikasi tersebut harus disesuaikan dengan

sistem operasi apa yang kita gunakan. Salah

satu contoh yang ditawarkan untuk

penggunaan VoIP dalam jaringan

telekomunikasi adalah aplikasi NetMeeting,

dan aplikasi tersebut sudah bisa kita dapatkan

pada saat instalasi sistem operasi Windows 9x,

Windows 2000, Windows Melenium dan

seterusnya. Adapun pada system operasi

Linux bisa kita dapat menggunakan jasa

aplikasi GnomeMeeting sebagai media

telekomunikasi.

Untuk contoh aplikasi pada VoIP serta

contoh gambar bentuk pengaturan nomor

telepon dapat dilihat pada Gambar II. 2 dan

Gambar II. 3. aplikasi ini berbasis dengan

sistem operasi Windows.

dengan menggunakan protocol TCP/IP

Adapun bentuk aplikasi yang dapat kita

gunakan untuk melakukan komunikasi dengan

VoIP ada berbagai macam, dan program

aplikasi tersebut harus disesuaikan dengan

sistem operasi apa yang kita gunakan. Salah

satu contoh yang ditawarkan untuk

penggunaan VoIP dalam jaringan

telekomunikasi adalah aplikasi NetMeeting,

dan aplikasi tersebut sudah bisa kita dapatkan

pada saat instalasi sistem operasi Windows 9x,

Windows 2000, Windows Melenium dan

seterusnya. Adapun pada system operasi

ta dapat menggunakan jasa

aplikasi GnomeMeeting sebagai media

Untuk contoh aplikasi pada VoIP serta

contoh gambar bentuk pengaturan nomor

telepon dapat dilihat pada Gambar II. 2 dan

Gambar II. 3. aplikasi ini berbasis dengan

Menurut Kuncoro Wastuwibowo bahwa

konsep dasar dari cara kerja VoIP adalah pada

sisi pengirim, sinyal suara dikodekan menjadi

data digital, kemudian dipaketkan. Data ini

disalurkan melalui network Internet Protocol

Di sisi penerima, data didekode membentuk

sinyal suara kembali (Kuncoro, 2003), untuk

lebih jelasnya anda dapat lihat pada Gambar

II. 2.

Berdasarkan uraian di atas maka dapat

kita ketahui bersama untuk menggunakan

media telekomunikasi VoIP, kita memerlukan

koneksi internet yang akan bertugas untuk

mengirimkan paket data yang nantinya akan

diterima oleh pihak lain. Untuk masalah

koneksi internet banyak orang mempunyai

anggapan bahwa hanya dapat dimiliki oleh

orang-orang yang berduit atau orang

yang taraf kemampuannya di atas rata

Tapi hal tersebut untuk saat sekarang ini sudah

tidak tepat lagi. Lalu bagaimana membuat

internet menjadi lebih murah ?. Seperti yang

dikemukakan oleh Onno W. Purbo bahwa dari

sekian banyak teknologi informasi, ada

beberapa teknologi yang terbukti menjadi

sangat strategis dalam membangun

infrastruktur telekomunikasi rakyat yang

Menurut Kuncoro Wastuwibowo bahwa

konsep dasar dari cara kerja VoIP adalah pada

sisi pengirim, sinyal suara dikodekan menjadi

data digital, kemudian dipaketkan. Data ini

Internet Protocol.

sisi penerima, data didekode membentuk

sinyal suara kembali (Kuncoro, 2003), untuk

lebih jelasnya anda dapat lihat pada Gambar

Berdasarkan uraian di atas maka dapat

kita ketahui bersama untuk menggunakan

media telekomunikasi VoIP, kita memerlukan

yang akan bertugas untuk

mengirimkan paket data yang nantinya akan

diterima oleh pihak lain. Untuk masalah

rnet banyak orang mempunyai

anggapan bahwa hanya dapat dimiliki oleh

orang yang berduit atau orang-orang

yang taraf kemampuannya di atas rata-rata.

Tapi hal tersebut untuk saat sekarang ini sudah

tidak tepat lagi. Lalu bagaimana membuat

adi lebih murah ?. Seperti yang

dikemukakan oleh Onno W. Purbo bahwa dari

sekian banyak teknologi informasi, ada

beberapa teknologi yang terbukti menjadi

sangat strategis dalam membangun

infrastruktur telekomunikasi rakyat yang

Page 13: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

13

Internet nirkabel adalah akses internet

yang menggunakan radio. Kita bisa

tersambung ke internet 24 jam tanpa pulsa

telepon sama sekali dengan kecepatan

aksesnya sekitar 200 – 400 kali lebih cepat

dari koneksi internet dial up. (Onno, 2003:23)

Akan tetapi bentuk penawaran internet

dengan basis nirkabel mempunyai nilai

investasi yang masih terbilang cukup besar

untuk kalangan menengah kebawah, adapun

besar investasi tersebut adalah :

Peralatan yang

digunakan

Besar biaya

investasi

1. Personal

Computer (PC)

Rp. 4.000.000

2. Wireless Lan Rp. 2.500.000

3. Anti Petir Rp. 1.000.000

4. Antena Rp. 500.000

Total Biaya Rp. 8.000.000

Tabel II. 1 : Besar Biaya Investasi

Sumber : http://www.bogor.net/idkf/voip

Nilai investasi diatas belum termasuk

biaya koneksi jaringan internet ke ISP

(Internet Service Provider).

Penulis beranggapan bahwa penawaran

koneksi jaringan internet dengan basis

nirkabel sangat cocok untuk orang-orang yang

memang dituntut untuk selalu malakukan

koneksi internet yang dalam hal ini penulis

maksudkan adalah Warnet (Warung Internet)

atau kantor-kantor dan sekolah-sekolah yang

mengharuskan mereka mengakses internet

secara 24 jam on-line. Dan apalagi kalau

peralatan komputer telah dimiliki maka pihak

konsumen, maka pihak konsuman hanya

menyediakan peralatan untuk koneksi internet

saja dan membayar ISP.

Lantas bagaimana dengan lapisan

masyarakat yang taraf kehidupan mereka

masih berada pada taraf menegah ke bawah!.

apakah mereka juga dapat menggunakan

jaringan telekomunikasi dan informasi yang

berbasis internet ini.

II. 1.3 Konsep Dasar Wireless

Wireless LAN adalah suatu bentuk

koneksi internet yang berbasiskan gelombang

radio

Untuk pertanyaan paparan tersebut di

atas langkah yang pernah diambil adalah

adanya investasi yang dilakukan oleh salah

satu pihak yang dalam hal ini adalah pihak

penyedia jasa layanan internet yaitu Warnet

(Warung Internet) untuk menyediakan fasilitas

aplikasi khusus untuk penggunaan VoIP. Akan

tetapi disaat sekarang ini kebijakan dari

pemerintah untuk penggunaan media

komunikasi dengan basis internet dilarang

oleh pemerintah. Sesuai dengan peraturan

pemerintah sebagai berikut :

UU36/1999 pasal 11 – Penyelenggara

telekomunikasi harus memperoleh ijin

menteri.

UU36/1999 pasal 29 – Larangan

interkoneksi jaringan telekomunikasi

khusus ke jaringan publik.

Maka sesuai dengan paparan di atas

maka penyelenggaraan telekomunikasi yang

berbasis kerakyatan masih sangat sulit untuk

dilaksanakan untuk berbagai pertimbangan

yang ada.

METODE PENELITIAN

III. 1 Metode Penulisan

Dalam menelaah dan memberikan

kajian yang lebih Ilmiah dan sistematis maka

dalam penyusunan Karya Tulis ini diperlukan

suatu metode untuk mendapatkan berbagai

data dan informasi yang berkenaan dengan

topik yang dikaji.

Page 14: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

14

Penulisan ini dilakukan dengan

menggunakan metode penulisan kepustakaan

(Library Research) dengan basis Electronic

Book yaitu mengkaji atau menelaah beberapa

literatur yang ada hubungannya dengan

masalah yang akan dibahas dalam penyusunan

Karya Tulis ini.

III. 2 Teknik Pengumpulan Data

Metode yang penulis gunakan dalam

pengumpulan data adalah bentuk studi

literatur dan studi Electronic Learning (E-

Learning), yaitu mengumpulkan literatur yang

ada hubungannya dengan masalah yang dikaji

dan terutama sumber-sumber yang berkaitan

dengan materi pembahasan penulisan ini baik

itu yang mempunyai basis kepustakaan dan

basis internet. Dalam hal ini penulis

menggunakan kutipan lansung dan kutipan tak

langsung.

Kutipan langsung yang penulis

maksudkan adalah mengutip pendapat dari

buku ataupun internet dengan tidak

mengadakan perubahan terutama terhadap

redaksinya, sedang kutipan tak langsung yang

penulis maksudkan dalam hal ini adalah

mengutip suatu pendapat dari buku ataupun

internet dengan merubah redaksi kalimatnya,

namun maksud dan tujuanya tetap sama.

III. 3 Teknik Pengolahan Dan Analisis Data

Setelah penulis mengumpulkan data

melalui studi literatur kepustakaan dan

literatur Electronic Learning maka penulis

mengadakan pengolahan terhadap data yang

didapatkan dalam bentuk metode kualitatif

yaitu memberi komentar dan tafsiran terhadap

data yang telah diperoleh, karena penulis tidak

menggunakan angka-angka dalam bentuk

statistika, atau data-data yang diolah tidak

dapat diukur secara lansung .

Adapun dalam menganalisis data

penulis menggunakan metode-metode sebagai

berikut :

1. Metode deduktif yaitu suatu metode

yang digunakan untuk menganalisis

data dengan berangkat dari fakta-

fakta yang bersifat umum kemudian

diuraikan secara khusus dan

terperinci.

2. Metode komparatif yaitu suatu teknik

menganalisis data dengan jalan

mengadakan perbandingan yaitu

dengan membandingkan antara satu

data dengan beberapa data lain

kemudian menarik suatu kesimpulan

akhir.

PEMBAHASAN MASALAH

IV. 1 VoIP Sebagai Telekomunikasi Alternatif

Sebagai mana kita ketahui bersama

betapa pentingnya peranan dari alat

telekomunikasi sebagai alat untuk

menyampaikan pesan kepada pihak lain. Yang

dahulunya kita hanya mengenal Telepon

sebagai medianya akan tetapi untuk saat

sekarang ini para pakar dibidang IT telah

menemukan suatu alat komunikasi yang

mempunyai basis internet sebagai alat

komunikasi alternatif yang relatif lebih murah

dan dapat dijangkau oleh masyarakat luas.

Alat yang penulis maksudkan dalam hal ini

adalah VoIP (Voice Over Internet Protocol)

yang memungkinkan kita untuk melakukan

komunikasi dengan pihak lain dengan

pembiayaan yang tidak begitu besar. Dengan

catatan harus ada penyelenggara atau dalam

hal ini adalah pihak investor yang bersedia

untuk memberikan investasi awal dari alat

telekomunikasi ini.

Adapun koneksi internet yang baiknya

digunakan oleh para pengguna VoIP adalah

koneksi dengan bertumpuh pada wireless

internet atau koneksi Via Satelit yang

memungkinkan kita untuk saling bekerja sama

satu sama lain untuk membangun dan

mengembangkan suatu struktur komunikasi

Page 15: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

15

alternatif yang jauh lebih murah. hanya saja

biaya investasi awal yang cukup besar. Maka

dapat ditarik suatu kesimpulan awal bahwa

dalam hal ini harus ada penyelenggara yang

menangani pembangunan infrastruktur

tersebut. Sedangkan untuk koneksi dengan

menggunakan metode (dial up) akan lebih

murah untuk SLI atau interlokal karena para

pemakai VoIP hanya akan membayar pulsa

telepon yang digunakan dengan pulsa lokal

akan tetapi sudah dapat menelepon atau dalam

hal ini menggunakan VoIP dalam area lokal,

interlokal, maupun internasional bayaran yang

akan dibayar oleh pengguna tetap biaya lokal.

Gambaran umum yang dapat penulis

gambarkan dalam hal ini adalah :

VSAT

Berdasarkan gambaran umum di atas,

diumpamakan ada 3 daerah yang berbeda

misalnya Pulau A, Pulau B, dan Pulau C,

dalam tiap daerah tersebut terdapat satu pihak

investor yang berfungsi untuk penyedia

layanan koneksi VSAT ke satelit dan dalam

gambaran umum di atas, tiap investor

menangani 3 Warnet sebagai penyedia

layanan telekomunikasi alternatif VoIP

tersebut.

Akan tetapi gambaran umum di atas

tidak diharuskan untuk tiap daerah harus

melayani 3 Warnet boleh saja lebih dan boleh

juga kurang dari tiga. Jika pihak investor

hanya menangani tiga atau kurang dari tiga

warnet maka biaya yang yang harus dibayar

akan lebih besar akan tetapi kecepatan koneksi

akan lebih cepat karena jumlah bandwidth

lebih besar, tapi jika pihak investor dalam

suatu daerah menangani lebih dari tiga warnet

maka jumlah biaya perbulan yang akan

dibayarkan akan lebih kecil karena akan

dibagi dengan jumlah warnet yang ada atau

dalam hal ini penulis maksudkan adalah

pembayaran dalam bentuk istilah patungan.

Tapi koneksi internet akan lebih lambat dari

investor yang hanya menangani tiga warnet

saja karena bandwidth akan dibagi dengan

jumlah warnet yang ada.

Untuk penjelasan lebih lanjut dapat

penulis gambarkan dalam bentuk skenario

untuk perincian besar biaya yang akan

dikeluarkan oleh pihak investor nantinya.

Dari data yang telah didapatkan oleh

penulis untuk koneksi internet via satelit

(VSAT) dari salah satu penyedia

layanan koneksi internet dapat dilihat pada

Tabel II. 2 sebagai berikut :

Tabel II. 2 : Besar Biaya Koneksi

Sumber : http://www.bogor.net/idkf/voip

Berdasarkan data di atas maka kita

dapat membuat suatu skenario besar biaya dan

keuntungan apa yang didapatkan oleh pihak

investor yang berada dalam suatu kota atau

daerah sebagai pihak penyedia layanan

koneksi internet., dapat kita perhatikan dari

table-tabel berikut ini :

Speed : 256 Kbps

Biaya : Rp. 22.500.000 / Bulan

Untuk biaya yang sebesar di atas dalam

hal penanganan satu pihak investor akan dapat

digolongkan sangat berat, maka dalam

skenario ini penulis akan menggambarkan 3

pihak investor akan tetapi jumlah maksimal

warnet untuk besar bandwidth 256 Kbps

Inv

Inv

Inv

War

War

War

S

VV

V

Pulau A

Pulau C

Pulau B

Page 16: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

16

adalah 12 warnet maka tiap warnet akan

mengeluarkan biaya kurang lebih sebesar Rp.

1.851.609 / Bulan dengan besar bandwidth

yang di dapatkan adalah 21 Kbps.

Pejelasan rinci penulis dapat

gambarkan ke dalam bentuk tabel sebagai

berikut :

Investor C

Warnet Biaya

C1 1.875.000 / Bulan

C2 1.875.000 / Bulan

C3 1.875.000 / Bulan

C4 1.875.000 / Bulan

Tabel II. 3 : Besar Biaya Koneksi

Investor A

Tabel. II. 4 : Besar Biaya Koneksi

Investor B

Tabel II. 5 : Besar Biaya Koneksi

Investor C

Dari penjelasan tabel di atas

menandakan semakin banyak jumlah pihak

investor yang bersedia untuk bekerja sama

maka pembiayaan akan semakin kecil. Dan

bukan hal yang tidak mungkin untuk

mewujudkan suatu infrastruktur

telekomunikasi yang dapat dijangkau seluruh

lapisan masyarakat.

Dan ada pula bentuk skenario lain yang

dapat kita lihat berkenaan dengan rincian

pembiayaan untuk penggunaan VoIP dengan

rincian pembiayaan dapat dilihat pada Tabel

II. 6 :

Dari penjelasan tabel di atas maka

dapat dilihat bahwa besar biaya VoIP adalah

Rp. 43 / menit. Dan penulis beranggapan

bahwa biaya yang sekecil ini sudah dapat

dijangkau oleh masyarakat menengah ke

bawah asalkan kita dapat bekerja sama.

IV. 2 Kendala Yang Mungkin Dihadapi

Berdasarkan dari uraian-uraian di atas

akan muncul beberapa kendala yang mungkin

akan dihadapi dalam pengembangan teknologi

jaringan komunikasi alternatif ini yang

diatarannya adalah :

1. Ada Regulasi atau Monopoli dari satu

pihak dimana akan melakukan perluasaan

mutlak terhadap source dan resource

yang nantinya akan digunakan

2. Tidak semua dari Masyarakat yang ada

dimuka bumi ini adalah orang-orang yang

mempunyai sifat yang akrab dengan

perkembangan teknologi.

KESIMPULAN

V. 1 Kesimpulan

Berdasarkan dari uraian yang telah

dipaparkan di atas maka dapat ditarik

beberapa kesimpulan :

Investor B

Warnet Biaya

B1 2.500.000 / Bulan

B2 2.500.000 / Bulan

B3 2.500.000 / Bulan

Speed Biaya

64 Rp8.900.000 / Bulan

128 Rp13.500.000 / Bulan

192 Rp17.800.000 / Bulan

256 Rp22.500.000 / Bulan

384 Rp31.100.000 / Bulan

512 Rp39.500.000 / Bulan

Page 17: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

17

1. Untuk membangun suatu jaringan

komunikasi yang dapat dijangkau oleh

seluruh lapisan masyarakat bukanlah

suatu hal yang membutuhkan pembiayaan

yang besar asalkan kita dapat bekerja

sama.

2. Dengan jalan tersebut maka kita dapat

memasyarakatkan teknologi kepada

rakyat dan menghilangkan penafsiran

yang cenderung negatif berkenaan dengan

internet.

3. Apabila teknologi ini dapat

dikembangkan maka bukan tidak

mungkin cita-cita memberikan pelayanan

telekomunikasi yang murah bagi rakyat

dapat tercapai.

V. 2 Saran - Saran

Berdasarkan dari uraian-uraian dan

kesimpulan di atas yang telah dikemukakan di

atas maka diberikan saran-saran sebagai

berikut :

1. Ada baiknya pengembangan VoIP terus

ditingkatkan karena dapat membina

keakraban masyarakat terhadap

perkembangan teknologi.

2. Dengan adanya Pengembangan VoIP

hendaknya dapat menumbuhkan minat

masyarakat dalam menambah

pengetahuan berkenaan dengan

pengembangan teknologi yang berbasis

internet.

3. Ada baiknya pemerintah dapat

memberikan izin untuk hal tersebut agar

dapat dibangun jaringan telekomunikasi

yang berbasis kerakyatan atau dijangkau

oleh seluruh lapisan masyarakat.

DAFTAR PUSTAKA

Purbo W Onno (2003), Cara Mudah Berinternet, Majalah Intisari Agustus 2003.

_______________ (1997), Orasi Ilmiah Penerimaan Mahasiswa Baru ITB

1997.

Wastuwibowo Kuncoro, VoIP Telefoni dengan IP, http://www.komunikasi. org/voip/index. php, 2002, http://www.komunikasi.org

Zaharim Ahmad Abdul Aziz. DR., Menguasai Internet, http://www.moe.gov.my/~mpbesut/akaabm1.htm,2003,http://www.moe.go

Page 18: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

18

Komparasi Kinerja ADO dan ODBC dalam memanipulasi RDBMS Database

Gerzon J MaulanyTeknik Informatika

Fakultas Teknik Universitas HasanuddinMakassar - [email protected]

Toban T PairunanTeknik Informatika

Fakultas Teknik UniversitasHasanuddin Makassar - Indonesia

[email protected]

Perkembangan pemrograman jaringan komputer untuk mengakses dan memanipulasi database berkembangan dengan cepat, namun demikian pemrograman client/server yang mengakses database masih memperoleh tempat yang sangat berpengaruh, tidak hanya disebabkan oleh masih banyaknya perusahaan skala menengah ke bawah yang menggunakannya tetapi juga karena model pemrograman client/server ini juga dikombinasikan dengan programan multi-tier oleh perusahaan menengah sampai perusahaan berskala Enterprise.

Mengakses database yang berada pada komputer server dari komputer client secara jarak jaruh terdapat dua mekanisme yang disediakan oleh Microsoft yaitu ODBC(Open Database Connectivity) dan OLEDB(Objects Linking Embedded Database) yang menggunakan interface ADO (ActiveX Data Object), dua mekanisme ini diciptakan untuk kegunaan yang sama yaitu akses database namun peruntukan detailnya terdapat perbedaan untuk itulah dalam penelitian ini bertujuan untuk membandingkan kinerja dari kedua mekanisme tersebut dalam mengakses RDBMS (Relational Database Management System), sebab penggunaan mekanisme yang tepat akan berpengaruh terhadap unjuk kerja pengaksesan dan berpengaruh pada keluaran dari sistem.

Penelitian dilakukan dengan menganalisis permasalahankoneksi database dan mendisain sistem yang akan dibuat serta dilakukan pengujian untuk mendapatkan hasil dari kedua mekanisme tersebut pada proses pembacaan dan proses penulisan dari dan pada database sehingga diperoleh gambaran kinerja yang dihasilkan oleh kedua mekanisme koneksi dalam mengakses database dan memanipulasinya.

Categories and Subject DescriptorsD.3.3 [Programming Languages]: Language Contructs and Features – abstract data types, polymorphism, control structures. This is just an example, please use the correct category and subject descriptors for your submission. The ACM Computing Classification Scheme: http://www.acm.org/class/1998/

General TermsExperimentation

KeywordsActiveX Data Object, Open DataBase Connectivity, Memanipulasi Database

PENDAHULUANModel program untuk mengakses

database berkembang dari stand alone, Client/Server dan Multitier, untuk pemrograman model stand alone masih juga dibuat namun saat ini sudah tidak banyak yang menggunakannya, Model Clien/Server adalah model pengembangan selanjutnya yang populer yang dikembangan dalam jaringan mulai dari LAN(Local Area Network), MAN (Metropolitan Area

Network) dan sebagian juga digunakan pada WAN (Wide Area Network), sedangkan model Multitier adalah model pengembangan lanjutan dan terkini yang diimplementasikan pada WAN dengan segala kemajuan teknologi internet yang menyertainya dan telah banyak dikembangkan pada perusahaan berskala Enterprise.

Di Indonesia khususnya banyak perusahaan berskala menengah ke bawah yang masih sangat bergantung pada model client server yang pada gilirannya akan berkembang menjadi model Multitier, untuk itulah maka model Client/Server ini masih banyak digunakan dalam pemrograman yang digunakan pada perusahaan-perusahaan tersebut. Dan dalam pemrograman model Client/Server untuk mengakses database mekanisme koneksi database menggunakan ADO dan ODBC masih sering digunakan.

Untuk menggunakan suatu mekanisme dengan baik dan benar maka diperlukan pemahaman untuk yang memadai dalam penggunaan kedua mekanisme tadi, banyak bahasa pemrograman saat ini yang dibandel dengan kemampuan koneksi dan pemanipulasian database dengan kedua mekanisme ini, namun tidak banyak sumber yang membahas secara detail tentang kinerja yang dihasilkan dari kedua mekanisme pengaksesan database ini, ada asumsi bahwa ODBC lebih cepat dari ADO, atau Akses ADO jauh lebih cepat dari ODBC dikarenakan ODBC adalah mekanisme yang sudah cukup tua dan diperuntukan untuk mengakses jenis database dari berbagai macam vendor yang berbeda-beda. ADO disebut sebagai teknologi masa depan Microsoft yang tidak mengembangkan lagi teknologi API ODBC.

Untuk itulah diperlukan penelitian atau kajian untuk mengetahui kenerja sesungguhnya yang dihasilkan oleh ODBC dan ADO sebagai Database Engine yang mengediakan fasilitas-fasilitas standar pengaksesan dan manipulasi database lebih

Page 19: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

khusus akan dilakukan pengujian pada model database relational (RDBMS), sehingga nantinya dapat diketahui pada keadaan mana kedua mekanisme ini akan dapat digunakan secara maksimal untuk mendapatkan kinerjaoptimum.

ODBC (Open Database Connectivity)ODBC dibuat untuk menyediakan

konektifitas ke Database Engine yang terbebas dari aturan bahasa pemrograman atau kekangan database engine tertentu dan dapat dijalankan pada berbagai macam sistem operasi. ODBC adalah bagian dari API (Application Programming Interface) yang menyediakan koneksi dari sebuah aplikasi database ke RDBMS.

Pada sistem operasi Windows milik Microsoft disediakan ODBC Data Source Administrator untuk membuat dan mengatur koneksi secara permanen pada database dengan parameter yang sesuai yaitu computer name / server name/ IP number, User Name, password, port number, Database Name dan Driver Database yang sesuai. Nama DSN (Data Source Name) ini yang dapat digunakan dalam program aplikasi untuk mengkoneksikan program client dengan database Server yang berada pada server tertentu. Seperti terlihat pada gambar dibawah ini DataSource akan menghubungkan program aplikasi dengan database bernama Tosalena yang terkonfigurasikan dengan nama Data Source DS_Tosalena menggunakan Driver SQL Server.

Pada dasarnya konfigurasi koneksi Data Source ini dapat juga dilakukan dengan menggunakan koneksi string (String Connection) untuk setiap database sumber yang akan dituju dan driver database yang sesuai. Sistem dengan mengunakan koneksi string ini akan akan digunakan sepanjang penelitian ini dengan menggunakan file metafile untuk menyimpan data koneksi string tersebut, dan jika akan terjadi perubahan maka file metafile ini akan dapat dihapus untuk membuat koneksi baru yang sesuai dengan konfigurasi yang sesuai.

ADO (ActiveX Data Objects)ADO adalah objek dari bagian objek

COM (Common Object Model) yang dibuat oleh Microsoft untuk mengakses dan manipulasi database yang berada pada sebuah Data Source untuk berbagai macam tipe data sehingga tidak hanya RDBMS saja yang dapat diakses oleh ADO yang merupakan interface dari OLEDB sebagai API untuk mengkoneksikan program client ke database yang berada pada server. Hasil dari koneksi yang dilakukan menggunaka ADO akan dapat diperoleh dengan menggunakan properti-properti yang ada berserta dengan objek ADO tersebut. Setelah objek ADO yang menjadi antarmuka dengan database di server terbentuk maka selanjutnya pengembang dapat melakukan pengaksesan dan pengelolahan database sesuai dengan yang diinginkan.

Relational DatabaseDari beberapa jenis Database/Basis

data yang ada Relational Database adalah yang paling banyak digunakan sampai saat ini, memang untuk ke depan model data baru yang adaptive akan sangat berkembang dengan sangat pesat. Model Relational Database ini mengunakan kolom dan baris untuk mengidetifikasikan suatu entitas data,

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific

Conference’10, Month 1–2, 2010, City, State, Country.Copyright 2010 ACM 1-58113-000-0/00/0010…$10.00.

Gambar 1. Konfigurasi Data Source Name (ODBC).

Page 20: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

20

dari atribut yang ada guna mendeskripsikan suatu data entitas yang unik.

Relational Database terdiri dari objek-objek berupa tabel, view, store procedure dan skema lainnya yang terhubung dengan aturan tertentu untuk menghasilkan pendeklarasian keterhubungan untuk mendeskripsikan sistem entitas tertentu. Antara penghubung tersebut terdapat kunci-kunci utama yang akan mendefinisikan secara unik dan menjamin suatu record dapat diakses dengan kunci unik tersebut, tetapi juga kunci ini akan menjadi kunci tamu pada tabel anakan yang akan menjamin keintegrasian referensi untuk hubungan yang dibangun.

RDBMS yang tersedia saat ini terdapat beberapa yang mendukung pengelolahan database dari kecil, menengah bahkan sampai dengan skala database untuk Enterprise. Vendor-vendor seperti Microsoft, IBM, Oracle dan Sun serta lainnya, telah mengembangankan RDBMS yang tanggung dan realible dalam mendukung proses bisnis berskala besar. Seperti yang akan digunakan dalam penelitian ini yaitu Microsoft SQL Server 2000 (MS SQL Server 2000).

DESAIN SISTEMSebelum mendesain sistem ini

dilakukan analisis untuk memperoleh spesifikasi perangkat lunak yang akan digunakan untuk mendukung proses pengujian pembandingan kinerja mekanisme akses database menggunakan ODBC dan OLEDB menggunakan ADO. Berikut adalah spesifikasi yang dibutuhkan oleh perangkat lunak yang akan dikembangkan yaitu :

1. Mampu membuat koneksi ke database dengan menggunakan ODBC maupun ADO di dalam suatu sistem

2. Mampu Mengakses database pada server menggunakan perintah SQL untuk meretrieve data, maupun mengambah data serta mengupdate data dengan cara yang sama namun menggunakan masing-masing koneksi baik ODBC maupun ADO.

3. Mampu menghitung waktu yang dibutuhkan untuk melakukan perintah pengaksesan database per periode tertentu sampai hasil data tersebut didapat.

4. Mampu merekam data hasil perhitungan dan menyajikan data tersebut sebagai informasi dalam bentuk grafik untuk memudahkan proses perbandingan.

Membuat Koneksi menggunakan ODBC & ADOBasis koneksi yang akan dibuat tidak

menggunakan DSN yang disediakan oleh Windows namun menggunakan kaidah koneksi string (string connection) dimana baik koneksi menggunakan ODBC maupun yang menggunakan ADO tetap menggunakan koneksi yang sama sehingga hasil koneksi yang digunakan tidak ada yang berbeda kecuali fungsi yang digunakan untuk memanfaatkan koneksi ODBC dan objek yang digunakan oleh program untuk mengakses database menggunakan ADO berbeda. Hal ini dimaksudkan untuk mendapatkan parameter dan langkah yang sama dalam hal untuk mengukur dua mekanisme cara pengaksesan yang berbeda. Berikut adalah

publi awal,koneksi_ke_server,mstrpublic departemenpublic objek,RS,PERINTAHMODIFY WINDOW SCREEN from 0,0 to 47,126 TITLE 'Aplikasi Measurement Performance of ADO & ODBC' NOCLOSE NOFLOAT NOGROW MINIMIZE ZOOM

set exclusive offset delete onset date DMYset century onset hours to 24set safety offset exact on

IF FILE("KONEKSI.STT") RESTORE FROM KONEKSI.STT ADDITIVE KON_SANDI=KON_SANDI KON_NAMA_SERVER=KON_NAMA_SERVER KON_BASISDATA=KON_BASISDATA KON_NAMA_PEMAKAI=KON_NAMA_PEMAKAI KON_DRIVER1=KON_DRIVER1

mstr = [DATABASE=&KON_BASISDATA;SERVER=&KON_NAMA_SERVER;UID=&KON_NAMA_PEMAKAI;pwd=&KON_SANDI;DRIVER=&KON_DRIVER1]

koneksi_ke_server = SQLSTRINGCONNECT( mstr)IF koneksi_ke_server <= 0 =MESSAGEBOX("KONEKSI KE SERVER DATABASE SQL Server

2000 via ODBC GAGAL", 0+16, "PESAN") QUITELSE

objek = CREATEOBJECT("ADODB.CONNECTION")objek.open( mstr )IF VARTYPE( objek ) # "O" =MESSAGEBOX("KONEKSI KE SERVER DATABASE

SQL Server 2000 via ADO GAGAL", 0+16, "PESAN") QUITELSE =MESSAGEBOX("KONEKSI KE SERVER DATABASE

SQL Server 2000 via ADO BERHASIL ", 0+64, "PESAN")ENDIFRs = CREATEOBJECT( "ADODB.RECORDSET" )Perintah = CREATEOBJECT( "ADODB.Command" )Perintah.CommandType = 1Perintah.ActiveConnection = objek

=MESSAGEBOX("KONEKSI KE SERVER DATABASE SQL Server 2000 via ODBC BERHASIL ", 0+64, "PESAN") DO MENUTAMA.MPR

READ EVENTSENDIF

ELSEPARAM1=2DO FORM KONEKSI.SCX WITH PARAM1READ EVENTS

ENDIF

Page 21: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

21

Pengambilan data retreive Untuk melakukan Proses Pengakses

data standar tetap baik menggunakan mekanisme ODBC maupun ADO tetap menggunakan perintah query dengan SQL (Structure Query Languange) sebagai bahasa perintah yang digunakan untuk mendapatkan hasil dengan kaidah perintah yang sama.Untuk mendapatkan hasil yang cukup representatif dari pengujian maka proses pengambilan data di lakukan delapan kali dengan tingkatan beban yang ditingkatkan dengan katerogi yang seimbang.

Proses retreive dilakukan pada satu tabel yang berada pada satu database tabel yang dimaksud berisi data-data tentang kartu kontrol produksi yang terdiri dari 46 field dan semua field tersebut berisi ini dan tipe-tipe field yang beranekaragam yaitu nvarchar, datetime, money,integer dan logical bit. Dengan jumlah field yang cukup banyak maka proses pengambilan data dari tabel akan menggunakan resource yang cukup untuk diuji.

Untuk jumlah record pada tabel kartu kontrol produksi (KKP) itu jumlah record haruslah lebih dari jumlah maksimal yang jumlah record yang akan diakses dalam sistem ini paling banyak record yang diakses adalah 50.000 record, terlihat pada gambar 2 jumlah record telah melebihi dari data yang dibutuhkan untuk ditampilkan.

Algoritma untuk proses pembacaan record standar dari tabel kkp yang berada pada database adalah :

1. Simpan waktu awal saat ini ke variabel waktu_awal

2. Jalankan perintah query untuk mengakses jumlah record yang diinginkan (5K...50K record)

3. Simpan waktu saat ini sebagai waktu_akhir

4. Waktu yang diperlukan untuk mengakses data tersebut adalah waktu_akhir-waktu awal

Algoritma untuk proses pembacaan record dengan level join yang bertingkat dari tabel kkp yang berada pada database adalah :

1. Simpan waktu awal saat ini ke variabel waktu_awal

2. Jalankan perintah query untuk mengakses data dari tabel KKP dengan join pada tabel 1..11

3. Simpan waktu saat ini sebagai waktu_akhir

4. Waktu yang diperlukan untuk mengakses data tersebut adalah waktu_akhir-waktu awal

Penambahan record baru dan updateUntuk proses penambahan record baru

diperlukan proses untuk menambah dengan jumlah record penambahan yang bertingkat dengan tahapan yang mewakili penambahan data secara konstan. Dalam penelitian ini jumlah terkecil yang ditambahkan adalah 5000 record dan yang terbanyak adalah 500000 record dengan setiap proses peningkatan jumlah record yang ditambahkan berbeda sebesar 5000 record, hal ini dilakukan pada proses penambahan menggunakan mekanisme ODBC dan ADO sehingga dapat dilihat perbedaan.

Sedangkan untuk proses pengupdatetan dilakukan harus setelah proses insert sebab yang dilakukan adalah mengubah field tertentu yang telah ditambahkan sebelumnya pada saat proses insert menjadi nilai field baru setelah diproses.

Algoritma untuk proses penambahan adalah sebagai berikut :

1. Simpan waktu awal saat ini ke variabel waktu_awal

2. Jalankan perintah query untuk menambah record pada tabel KKP dan memasukan nilai fieldnya lakukan sesuai denganbanyaknya record yang diinginkan

3. Simpan waktu saat ini sebagai waktu_akhir

4. Waktu yang diperlukan untuk mengakses data tersebut adalah waktu_akhir-waktu awal

Gambar 2. Jumlah record tabel KKP.

Page 22: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

22

IMPLEMENTASI SISTEMSistem pembandingan kinerja ODBC dan

ADO ini diimplementasikan pada tipe jaringan LAN dengan menggunakan kabel dan sebuah hub 8 port, kecepatan maksimum yang dapat dicapai untuk proses transfer data di jaringan ini adalah 100MB. Untuk menerapkan model Client/Server digunakan dua buah laptop yang pertama berfungsi sebagai server dengan spesifikasi Intel Core 2 Duo 2GHZ,RAM DDR2 2GB, HHD 250GB, laptop berikutnya berfungsi sebagai client dengan spesifikasi Intel Dual Core 1,7GHZ, DDR2 2GB,HDD 250GB.

Untuk mengembangan interface sistem digunakan bahasa pemrograman Microsoft Visual Foxpro 8.0 sedangkan untuk database Server digunakan Microsoft SQL Server 2000 Developer Edition yang mampu mengelolah database sampai 4TB. Sistem operasi pada server digunakan Windows Xp SP2 dan pada sisi client digunakan Windows Vista Ultimate Edition.

Aplikasi ini mempunyai antarmuka utama sistem sebagai berikut :

PENGUJIAN SISTEMBerikut ini adalah proses pengujian untuk

aplikasi yang digunakan untuk mengukur kinerja mekanisme pengaksesan database menggunakan ODBC dan ADO. Saat pertama kali sistem dijalankan makan akan diperiksa apakah koneksi (file koneksi.STT) telah ada jika tidak maka akan keluar form pengisian konfigurasi nama server, user name, password , database name dan driver database yang sesuai. Seperti terlihat pada gambar 4. Jika telah terisi dengan parameter yang benar maka selanjutnya koneksi akan diuji apakah dapat dijalankan dengan baik atau tidak.

Jika koneksi telah berhasil maka selanjutnya adalah melakukan pengujian untuk query standar yaitu dengan meretrieve record dengan jumlah tertentu akan terlihat waktu yang dibutuhkan untuk melakukan perintah SQL dengan string msql=[SELECT TOP 10000 * FROM ABSEN] yang berarti mengambil 10.000 record awal dari tabel Absen nilai 10.000 record akan diganti dengan nilai berikutnya sesuai dengan kebutuhan record yang akan diretrieve sampai dengan 300.000 untuk mendapatkan 300.000 record dengan kenaikan jumlah record setiap tahapan ditambahkan 5000 record. Berikut adalah tambilan proses mengukur dengan ODBC dan ado seperti gambar 5 dibawah ini.

Hasil dari garfik dari data pengukuran ini dapat dilihat pada form grafik untuk menghasilkan grafik perbandingan seperti kinerja ODBC dan ADO dalam mengeksekusi Query Standar, hal ini dapat dilihat pada gambar 6. Terlihat bahwa waktu yang diperlukan oleh mekanisme koneksi ADO lebih baik dibandingkan dengan ODBC yang pada awalnya tidak terlalu berbeda jauh namun semakin banyak record yang diretrieve maka waktu yangdibutuhkan oleh ODBC semakin banyak.

Berikutnya adalah proses untuk membandingkan eksekusi query dengan dengan tingkat Join yang bertingkat dengan hubungan antara tabel KKP dengan file lainnya samapi tingkat join terbanyak sebanyak sebelas hubungan dengan tabel KKP terlihat form proses mendapatkan waktu eksekusi query join bertingkat seperti gambar 7 dan gambar 8 menampilkan hasil grafik untuk pembandingan waktu eksekusi query join bertingkat.

Menu Utama

Uji

Tampil Grafik

Standar Query

Query Join

Query Insert

Query Update

Hasil Standar Query

Hasil Query Join

Hasil Query Insert

Hasil Query Update

Gambar 3. Struktur Menu Aplikasi.

Gambar 4. Form koneksi database Server.

Gambar 5. Form Pengukuran Query Standar.

Gambar 6. Form Grafik Kinerja Query Standar .

Page 23: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

23

Terlihat bahwa kinerja Query Join Bertingkat untuk koneksi yang menggunakan ADO tetap membutuhkan waktu yang lebih sedikit dibandingkan dengan koneksi yang menggunakan mekanisme ODBC.

Proses selanjutnya adalah mengukur kinerja query penambahan record dengan jumlah tertentu mulai dari jumlah record 5000 sampai dengan 500.000 record dengan peringkatan setiap tahapannya adalah 5000 record. Proses pengukuran proses query Insert ini dapat dilihat pada gambar 9 dan hasil grafiknya disajikan dalam gambar 10.

Terlihat untuk grafik kinerja query insert record waktu yang dibuthkan ODBC lebih baik dibandingkan dengan perintah SQL query insert yang menggunakan mekanisme koneksi ADO.

Pengukuran terakhir dilakukan untuk mengukur waktu yang dibutuhkan dalam proses update sejumlah record yang telah ditambahkan sebelumnya dengan perintah Query Insert. Proses pengukuran Query Update ini dapat terlihat pada gambar 11 dan hasil grafiknya terlihat pada gambar 12.

Hasil pengukuran ini terlihat bahwa proses pengupdatetan tentulah menggunakan waktu yang jauh lebih sedikit dibanding proses insert/penambahan sebab yang perlu dilakukan adalah mengubah nilai field tertentu bandingkan dengan proses insert yang harus menambahkan sebuah record kosong dan mengisi nilai-nilai field kosong tadi dengan nilai tertentu. Hasil menunjukkan bahwa proses pengupdatetan untuk koneksi menggunakan ADO maupun ODBC tidak berbeda jauh sehingga dapat dikatakan bahwa tidak terlihat pengaruh yang signifikan pada proses update.

Gambar 8. Form Grafik Kinerja Query Join bertingkat.

Gambar 9. Form Proses Query Insert sejumlah Record.

Gambar 10. Form Grafik Kinerja Query Insert Record.

Gambar 11. Form Proses Query Update sejumlah Record.

Gambar 12. Form Grafik Kinerja Query Insert Record.

Page 24: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

24

KESIMPULANKesimpulan dari hasil penelitian ini

adalah sebagai berikut :

1. Program berhasil mengukur tingkatan kinerja antara koneksi database menggunakan mekanisme ODBC dan ADO.

2. Hasil pengukuran kinerja ini dapat digunakan sebagai pertimbangan bagi pengembang aplikasi database model client/server dalam menggunakan mekanisme ODBC atau ADO sesuai dengan keadaan yang dibutuhkan. Terlihat bahwa ADO akan lebih baik dalam proses retreive record-record tabel, sedangkan ODBC akan lebih baik dalam hal proses penulisan/pengubahan data record pada tabel.

3. Dimungkinkan dalam suatu aplikasi jaringan client/server menggunakan kedua mekanisme ini secara bersamaan.

DAFTAR PUSTAKA[1] Marcia Atkins., Andy Kramek, and Rick Schummer. 2002.

MegaFox: 1002 things You Wanted to Know About Extending Visual Foxpro.Hentzenwerke Publishing, Whitefish bay. USA.

[2] Marcia Atkins., Andy Kramek, and Rick Schummer. 2000. 1001 things You Wanted to Know About Visual Foxpro.Hentzenwerke Publishing, Whitefish bay. USA.

[3] Jogiyanto HM, 2000. Analisis dan Disain Sistem Informasi : Pendekataan Terstruktur teori dan praktek aplikasi bisnis. Edisi ke 3, Andi Offset .Yogyakarta

[4] Kenneth Chazotte. 2004. , Build Your Own Framework With Visual Foxpro. Hentzenwerke Publishing, Whitefish bay. USA.

[5] Chuck Urwiler,Gary DeWitt, Mike Levy and Leslie Koorhan,2000. Client/Server Applications with Visual FoxPro and SQL Server. Hentzenwerke Publishing, Whitefish bay. USA.

[6] Mike Gunderloy and Joseph L. Jorden, 2000. Mastering SQL Server 2000. Sybex. USA

[7] Sutejo, S.Kom.,2004. Membuat Program Aplikasi Kearsipan dengan Visual Foxpro 8.0 . Elexmedia Komputindo. Jakarta

Page 25: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

25

PENYELENGGARAAN SISTEM INFORMASI

DALAM KONTEKS UNDANG-UNDANG NOMOR 11 TAHUN 2008

TENTANG INFORMASI DAN TRANSAKSI ELEKTRONIK

RonnyUniversitas Atma Jaya Makassar

e-mail: [email protected]. hp 08124239327

Abstrak

Pengembangan sistem informasi tampak dalam berbagai penerapannya untuk organisasi dan manajemen. Seiring dengan perkembangan teknologi informasi dan penerapannya ke dalam berbagai kebutuhan, perlindungan hukum terhadap penyelenggaraan sistem informasi merupakan hal yang mendesak. Pemerintah Republik Indonesia telah menyadari sepenuhnya akan kebutuhan tersebut dan telah menyusun dan menerbitkan payung hukum pertama di Indonesia yang khusus mengatur pemanfaatan teknologi informasi, yakni Undang-Undang Republik Indonesia No. 11 Tahun 2008 tentang Informasi dan Transaksi Elektronik (UU ITE). Tulisan ini menelaah berbagai hal dalam UU ITE yang terkait dengan pemanfaatan Teknologi Informasi yaitu transaksi elektronik, informasi elektronik, agen elektronik, sistem elektronik, sertifikasi elektronik, tanda tangan elektronik, pengelolaan nama domain. Tantangan bagi pelaku industri, pemerintah dan masyarakat untuk menerapkan peraturan tersebut ke dalam berbagai sektor untuk mendorong peningkatan pemanfaatan teknologi informasi menuju peningkatan kesejahteraan rakyat.

Kata kunci: UU ITE, sistem informasi, teknologi informasi

1. PendahuluanPerkembangan teknologi informasi

ditampakkan pula pemanfaatannya di segala bidang diantaranya bidang industri dan perdagangan. Kebanyakan perusahaan telah mengadopsi teknologi informasi untuk meningkatkan kinerjanya sehingga dapat bersaing dengan perusahaan lainnya. Teknologi informasi digunakan untuk mengolah data dan menghasilkan informasi yang digunakan dalam pengambilan keputusan dan dokumentasi kegiatan perusahaan. Tidak hanya organisasi profit, organisasi nonprofit yang melayani publik juga memanfaatkan teknologi informasi. Pada akhirnya, perkembangan teknologi informasi memerlukan payung hukum agar pemanfaatannya bertanggungjawab.

Kelahiran Undang-Undang Republik Indonesia No. 11 Tahun 2008 tentang Informasi dan Transaksi Elektronik (UU ITE) sejak 21 April 2008 merupakan payung hukum pertama di Indonesia yang khusus mengatur tentang pemanfaatan teknologi informasi. Pemerintah menyadari sepenuhnya bahwa pemanfaatan teknologi informasi perlu diatur dan didorong pada pencapaian tujuan diantaranya mencerdaskan kehidupan bangsa sebagai bagian dari masyarakat informasi dunia;mengembangkan perdagangan dan perekonomian nasional dalam rangka meningkatkan kesejahteraan masyarakat; meningkatkan efektivitas dan efisiensi pelayanan publik; membuka kesempatan seluas-luasnya kepada setiap Orang untuk memajukan pemikiran dan kemampuan di bidang penggunaan dan pemanfaatan

Teknologi Informasi seoptimal mungkin dan bertanggung jawab; dan memberikan rasa aman, keadilan, dan kepastian hukum bagi pengguna danpenyelenggara Teknologi Informasi.

Berlakunya UU ITE berarti pula penyelenggaraan sistem informasi harus memperhatikan ketentuan dalam Undang-Undang tersebut sebagai pedoman dalam pelaksanaan transaksi elektronik, sistem elektronik, agen elektronik yang aman dan handal, sehingga para pihak yang terlibat dalam pemanfaatan teknologi informasi lebih bertanggungjawab termasuk dalam penyediaan informasi elektronik. Disadari bahwa daya dorong UU ITE perlu dibarengi dengan bahasan dan telaah yang mendalam sehingga penerapan UU ITE dapat mencapai tujuan yang diharapkan.

2. Perlindungan Sistem Informasi dalam UU ITE

Keberadaan sistem informasi dalam UU ITE dimaknai sebagai penerapan teknologi informasi yang berbasis jaringan telekomunikasi dan media elektronik, yang berfungsi merancang, memproses, menganalisis, menampilkan, dan mengirimkan atau menyebarkan informasi elektronik.

Dua sudut pandang Sistem Informasi yakni teknis dan manajenen, teknis dan fungsional. Secara teknis dan manajemen, sistem informasi merupakan wujud penerapan produk teknologi informasi ke dalam suatu bentuk organisasi dan manajemen dengan memperhatikan kebutuhan pada organisasi tersebut dan sesuai dengan tujuan peruntukannya. Secara teknis dan fungsional, sistem informasi merupakan keterpaduan sistem antara manusia dan mesin yang mencakup komponen perangkat keras, perangkat lunak, prosedur, sumber daya manusia, dan substansi informasi yang dalam pemanfaatannya mencakup fungsi input, proses, output, storage, dan komunikasi.

Pada sudut pandang yang lebih luas, penyelenggaraan sistem informasi dengan memanfaatkan kegiatan siber melintasi batas teritori suatu negaradengan kemudahan akses yang cepat, kapan pun dan dari mana pun. Meskipun demikian, dampak yang dapat timbul adalah kerugian dapat terjadi pada pelaku transaksi, misalnya pencurian dana kartu kredit melalui pembelanjaan di Internet.

Disadari bahwa pemanfaatan teknologi informasi telah mengubah peradaban manusia secara lokal dan global. Perkembangan teknologi informasi telah pula menyebabkan hubungan antar negara menjadi tanpa batas (borderless), dan hal ini memberi dampak pada perubahan politik, pendidikan, sosial, ekonomi, dan budaya demikian cepat. Teknologi Informasi menjadi pedang bermata dua karena selain memberikan manfaat, sekaligus menjadi sarana cybercrime.

Permasalahan yang lebih luas terjadi pada perniagaan secara transaksi elektronik melalui sistem elektronik (electronic commerce) telah menjadi perniagaan nasional dan internasional. Kegiatan melalui ruang siber (cyber space), meskipun bersifat virtual tapi dampaknya nyata, misalnya perdagangan dilakukan dengan sarana internet, berdampak nyata pada pertukaran barang diawali komunikasi. Pada sisi lain, kegiatan pada ruang siber tidak dapat didekati dengan hukum konvensional saja sebab terdapat banyak kesulitan dari pemberlakuan hukum. Kegiatan dalamruang siber adalah kegiatan virtual yang berdampak sangat nyata meskipun alat buktinya bersifat elektronik.

Dua aspek yang penting pula dalam penyelenggaraan sistem informasi yakni keamanan dan kepastian hukum. Untuk itu dibutuhkan tiga pendekatan yaitu pendekatan aspek hukum, aspek teknologi, aspek

Page 26: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

26

sosial, budaya, dan etika. Ketiga aspek tersebut merupakan satu kesatuan yang tak terpisahkan. Aspek hukum memberikan kepastian hukum dalam pencegahan dan penindakan terhadap gangguan keamanan. Aspek teknologi untuk mengembangkan perangkat hardware, software, brainware, dan jaringan dalam menyediakan teknologi yang aman dan handal. Aspek sosial, budaya, dan etika untuk membangun kultur, etika sosial dalam pemanfaatan teknologi informasi.

Pembuktian merupakan unsur penting mengingat belum terakomodasinya tentang informasi elektronik dalam sistem hukum acara Indonesia, sementara kenyataannya informasi elektronik rentan untuk diubah, disadap, dipalsukan, dan dikirim ke berbagai penjuru dunia dengan cepat. Dengan demikian, dampak yang diakibatkannya pun bisa demikian kompleks dan rumit Oleh karena itu, kelahiran UU ITE untuk melindungi penyelenggaraan sistem informasi.

3. Informasi Elektronik dalam UU ITEIstilah Informasi Elektronik dalam UU ITE

didefinisikan sebagai ”satu atau sekumpulan data elektronik, termasuk tetapi tidak terbatas pada tulisan, suara, gambar, peta, rancangan, foto, electronic datainterchange (EDI), surat elektronik (electronic mail), telegram, teleks, telecopy atau sejenisnya, huruf, tanda, angka, Kode Akses, simbol, atau perforasi yang telah diolah yang memiliki arti atau dapat dipahami oleh orang yang mampu memahaminya”

Informasi elektronik tersebut berasal dari Sistem Elektronik yang memenuhi persyaratan minimum yakni

a. dapat menampilkan kembali Informasi Elektronik dan/atau Dokumen Elektronik

b. dapat melindungi ketersediaan, keutuhan, keotentikan, kerahasiaan, dan keteraksesan Informasi Elektronik dalam Penyelenggaraan Sistem Elektroniktersebut;

c. dapat beroperasi sesuai dengan prosedur atau petunjuk dalam Penyelenggaraan Sistem Elektronik tersebut;

d. dilengkapi dengan prosedur atau petunjuk yang diumumkan dengan bahasa, informasi, atau simbol yang dapat dipahami oleh pihak yang bersangkutan dengan Penyelenggaraan Sistem Elektronik tersebut; dan

e. memiliki mekanisme yang berkelanjutan untuk menjaga kebaruan, kejelasan, dan kebertanggungjawaban prosedur atau petunjuk.

Persyaratan minimum tersebut dimaksudkan bahwa industri yang menyelenggarakan sistem informasi harus memenuhi persyaratan minimum dalam penyelenggaraan sistem elektronik. Persyaratan tambahan selain keenam point tersebut dibolehkan sepanjang tidak bertentangan dengan persyaratan minimum yang telah diatur dalam UU ITE. Sistem elektronik yang diselenggarakan dan telah memenuhi persyaratan minimum maka informasi elektronik yang dihasilkan sah untuk dijadikan alat bukti di pengadilan.

Yang dimaksud dengan sistem elektronik adalah sistem komputer dalam arti luas, yang tidak hanya mencakup perangkat keras dan perangkat lunak komputer, tetapi juga mencakup jaringan telekomunikasi dan/atau sistem komunikasi elektronik. Perangkat lunak atau program komputer adalah sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode, skema,

ataupun bentuk lain, yang apabila digabungkan denganmedia yang dapat dibaca dengan komputer akan mampu membuat komputer bekerja untuk melakukan fungsi khusus atau untuk mencapai hasil yang khusus, termasukpersiapan dalam merancang instruksi tersebut.

Sistem elektronik yang menghasilkan informasi elektronik yang dimiliki oleh suatu Organisasi seperti perusahaan atau dimiliki oleh Individu dipandang sebagai modal penting dalam menunjang pengambilan keputusan dan mengatasi ketidakpastian. Pihak manajemen perusahaan sangat berkepentingan untuk memperoleh informasi yang berkualitas baik dari internal maupun eksternal yang dihasilkan dari suatu sistem elektronik. Ini berarti, suatu sistem elektronik yang terdiri atas unsur hardware, software diselenggarakan untuk menghasilkan informasi dari olahan data, lalu didistribusikan ke pengguna. Distribusi informasi dari perangkat sistem elektronik dapat bersifat privat atau publik. Bersifat privat berarti pengiriman informasi yang melibatkan hubungan satu ke satu dalam jalur yang bersifat pribadi, misalnya pengiriman informasi/pesan lewat sms, email. Sedangkan, distribusi informasi bersifat publik melibatkan hubungan satu ke banyak, dimana informasi disebarkan sehingga banyak orang yang dapat mengaksesnya, seperti penempatan informasi ke dalam suatu website sehingga publik dapat mengaksesnya dan mengetahuinya.

Dalam UU ITE, informasi yang didistribusikan dari sistem elektronik baik bersifat privat maupun publik mendapatkan perlindungan hukum yakni pengaturan terhadap content yang dilarang untuk disebarkan diantaranya informasi elektronik yang bermuatan melanggar kesusilaan, perjudian, penghinaan dan/atau pencemaran nama baik, pengancaman, permusuhan berkaitan SARA, berita bohong yang menyesatkan konsumen. Untuk informasi elektronik yang menyangkut data pribadi seseorang maka penyebarannya memerlukan persetujuan/ijin dari pemilik data pribadi. Demikian pula, informasi elektronik yang disusun atas karya intelektual, situs internet mendapatkan perlindungan hukum.

4. Transaksi Elektronik dalam UU ITETransaksi elektronik melibatkan pihak pengirim

dan penerima. Transaksi elektronik berkaitan dengan penyelenggaraan sistem elektronik, agen elektronik, tanda tangan elektronik, sertifikasi elektronik, transaksi elektronik, dan audit pelaku usaha. Tentu, transaksi elektronik berkaitan pula dengan informasi elektronik yang dibolehkan.

4.1 Lembaga Sertifikasi KeandalanSetiap pelaku usaha dalam e-commerce

menjalankan usahanya dengan melindungi pula kepentingan konsumen. Karena, transaksi elektronik yang berlangsung di dunia maya tidak bertatap muka maka kepercayaan menjadi hal utama dalam transaksi elektronik. Kepercayaan itu dapat berasal dari keterlibatan pihak ketiga sebagai pihak terpercaya yang melakukan audit terhadap pelaku usaha. Dalam UU ITE, terdapat lembaga Sertifikasi Keandalan yang bertugas melakukan sertifikasi terhadap pelaku usaha dalam e-commerce. Audit berupa pemeriksaan identitas pelaku usaha, status dan kompetensi pelaku usaha, syarat sahnya perjanjian serta menjelaskan barang dan/atau jasa yang ditawarkan. Pelaku usaha yang lolos dalam uji sertifikasikeandalan berhak menggunakan sertifikat keandalan pada situs internet dan/atau sistem elektronik lainnya. Dengan demikian, sertifikasi pelaku usaha bermanfaat baik bagi pelaku usaha maupun konsumen karena meningkatnya kepercayaan dalam transaksi elektronik.

Page 27: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

27

Lembaga sertifikasi keandalan terdiri dari lembaga sertifikasi keandalan Indonesia dan Asing. Lembaga Sertifikasi Keandalan diakreditasi oleh Badan Pengawas Penyelenggara Sertifikasi Elektronik. Untuk Lembaga Sertifikasi Keandalan asing yang beroperasi di Indonesia harus terdaftar di Indonesia. Hal ini dimaksudkan agar pengawasan dapat berlangsung dengan baik terhadap Lembaga Sertifikasi Keandalan asing. Lembaga Sertifikasi Keandalan ini dibentuk oleh profesi yang diakui dan disahkan oleh Pemerintah. Profesi yang dimaksud disebut Profesi Penunjang dalam lingkup Teknologi Informasi diantaranya konsultan TI, auditor TI, konsultan hukum bidang TI, akuntan, konsultan manajemen bidang TI. Profesi Penunjang dalam lingkup Teknologi Informasi selanjutnya wajibterdaftar di Instansi Pemerintah mengurusi bidang komunikasi dan informatika. 4.2 Tanda Tangan Elektronik

Tanda tangan elektronik diperlukan dalam transaksi elektronik untuk mengesahkan informasi/pesan yang disampaikan yang memiliki kekuatan yakni:

a. Authenticity (Ensured)Dengan menggunakan tanda tangan elektronik pada dokumen/informasi elektronik maka dapat dibuktikan dengan metode tertentu siapa yang menandatangani dokumen/informasi elektronik itu.

b. IntegrityIntegritas/integrity berhubungan dengan masalah keutuhan dari suatu dokumen/informasi elektronik yang ditanda tangani. Penggunaan tanda tangan elektronik dapat menjamin bahwa informasi elektronik yang ditanda tangani dapat diketahui apakah mengalami suatu perubahan atau modifikasi oleh pihak yang tidak bertanggungjawab.

c. Non-Repudiation (Tidak dapat disangkal keberadaannya)Non repudiation atau tidak dapat disangkalnya keberadaan suatu dokumen/informasi berhubungan dengan orang yang menandatanganinya. Si penanda tangan dokumen/informasi elektronik tidak dapat memungkiri bahwa ia telah menandatangani dan mengirimkan dokumen/informasi itu ke penerima dan tidak dapat memungkiri isi dokumen itu sepanjang tidak ada upaya perubahan oleh pihak yang tidak bertanggungjawab.

d. ConfidentialityDokumen/Informasi elektronik yang telah ditanda tangani dan dikirimkan bersifat rahasia/confidential, sehingga tidak semua orang dapat mengetahui isi informasi elektronik yang telah dirahasiakan dengan metode kriptografi.

e. RealibleBahwa dokumen/informasi elektronik yang disampaikan melalui dunia maya harus mampu dipertanggungjawabkan para pihak yang melakukan transaksi. Dengan penggunaan tanda tangan elektronik disertai kunci publik dan kunci privat dalam proses merahasiakan dan menandatangani dokumen/informasi elektronik maka segala transaksi elektronik yang dilakukan di dunia maya dapat dipertanggung jawabkan secara teknis.

Untuk memenuhi kekuatan dari tanda tangan elektronik yang diuraikan di atas, maka dalam UU ITE diatur beberapa persyaratan Tanda Tangan Elektronik yakni:

a. data pembuatan Tanda Tangan Elektronik terkait hanya kepada Penanda Tangan;

b. data pembuatan Tanda Tangan Elektronik pada saat proses penandatanganan elektronik hanya berada dalam kuasa Penanda Tangan;

c. segala perubahan terhadap Tanda Tangan Elektronik yang terjadi setelah waktu penandatanganan dapat diketahui;

d. segala perubahan terhadap Informasi Elektronik yang terkait dengan Tanda Tangan Elektronik tersebut setelah waktu penandatanganan dapatdiketahui;

e. terdapat cara tertentu yang dipakai untuk mengidentifikasi siapa Penandatangannya; dan

f. terdapat cara tertentu untuk menunjukkan bahwa Penanda Tangan telah memberikan persetujuan terhadap Informasi Elektronik yang terkait.

Meskipun tanda tangan elektronik menggunakan teknologi yang memenuhi persyaratan di atas, perlindungan terhadap data pembuatan tanda tangan elektronik mutlak dilakukan. Pengamanan tanda tangan elektronik yang dimaksud minimal terdiri atas: Sistem tidak dapat diakses oleh orang lain yang tidak berhak; Penanda Tangan harus menerapkan prinsip kehati-hatian untuk menghindari penggunaan secara tidak sah terhadap data terkait pembuatan tanda tangan elektronik; Penanda Tangan harus tanpa menunda-nunda, menggunakan cara yang dianjurkan oleh penyelenggara Tanda Tangan Elektronik ataupun cara lain yang layak dan sepatutnya harus segera memberitahukan kepada seseorang yang oleh Penanda Tangan dianggap memercayai Tanda Tangan Elektronik atau kepada pihak pendukung layanan Tanda Tangan Elektronik jika Penanda Tangan mengetahui bahwa data pembuatan Tanda TanganElektronik telah dibobol atau keadaan yang diketahui oleh Penanda Tangan dapat menimbulkan risiko yang berarti, kemungkinan akibat bobolnya data pembuatan Tanda Tangan Elektronik; dan Dalam hal Sertifikat Elektronik digunakan untuk mendukung Tanda Tangan Elektronik, Penanda Tangan harus memastikan kebenaran dan keutuhan semua informasi yang terkait dengan Sertifikat Elektronik tersebut.

4.3 Sertifikasi ElektronikTanda tangan elektronik yang dibuat dan

digunakan hanya melibatkan para pihak yang saling bertransaksi dapat mengurangi kepercayaan diantara mereka, karena key (public key) yang dikenal dalam konsep tanda tangan digital mungkin sengaja dipalsukan oleh seorang penyusup yang menyamar sebagai orang lain yang sah bertransaksi. Oleh karena itu tetap dibutuhkan keterlibatan pihak ketiga yang terpercaya yakni suatu lembaga yang bernama Penyelenggara Sertifikasi Elektronik yang menerbitkan sertifikat elektronik berisikan data pembuatan tanda tangan elektronik sehingga para pihak yang akan bertransaksi secara elektronik dengan menggunakan tanda tangan elektronik dapat saling memeriksa kebenaran key (public key) yang digunakan lewat Penyelenggara Sertifikasi Elektronik.

Dalam UU ITE dikatakan ”Setiap Orang berhak menggunakan jasa Penyelenggara Sertifikasi Elektronik untuk pembuatan Tanda Tangan Elektronik”. Penyelenggara Sertifikasi Elektronik harus memastikan keterkaitan suatu Tanda Tangan Elektronik dengan

Page 28: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

28

pemiliknya. Penyelenggara Sertifikasi Elektronik terdiri atas Penyelenggara Sertifikasi Elektronik Indonesia dan Penyelenggara Sertifikasi Elektronik asing. Penyelenggara Sertifikasi Elektronik Indonesia berbadan hukum Indonesia dan berdomisili di Indonesia.Penyelenggara Sertifikasi Elektronik harus menyediakan informasi yang akurat, jelas, dan pasti kepada setiap pengguna jasa, yang meliputi metode yang digunakan untuk mengidentifikasi Penanda Tangan; hal yang dapat digunakan untuk mengetahui data diri pembuat Tanda Tangan Elektronik; dan hal yang dapat digunakan untuk menunjukkan keberlakuan dan keamanan Tanda Tangan Elektronik.

4.4 Sistem ElektronikDalam UU ITE, sistem elektronik yang

digunakan dalam transaksi elektronik mesti memenuhi persyaratan minimal seperti yang dijelaskan sebelumnya sehingga diperoleh sistem elektronik yang andal, aman dan beroperasi sebagaimana mestinya. “Andal” artinya Sistem Elektronik memiliki kemampuan yang sesuai dengan kebutuhan penggunaannya. “Aman” artinya Sistem Elektronik terlindungi secara fisik dan nonfisik. “Beroperasi sebagaimana mestinya” artinya Sistem Elektronik memiliki kemampuan sesuai dengan spesifikasinya.Dengan pemenuhan persyaratan minimal sistem elektronik berarti pula informasi yang berasal dari sistem elektronik itu dapat dijadikan sebagai alat bukti yang sah di pengadilan ketika terjadi sengketa.

4.5 Transaksi Elektronik dan Agen ElektronikDalam UU ITE, penyelenggaran transaksi

elektronik dapat dilakukan dalam lingkup publik ataupun privat.

Penyelenggaraan Transaksi Elektronik dalam lingkup publik meliputi:

a. pertukaran atau penyampaian Informasi Elektronik dan/atau Dokumen Elektronik yang berkaitan dengan kepentingan umum dengan kesepakatan para pihak;

b. Penyelenggaraan Transaksi Elektronik oleh penyelenggara negara atau oleh pihak lain yang menyelenggarakan layanan publik sepanjang tidak dikecualikan oleh Undang-Undang tentang Informasi dan Transaksi Elektronik;

c. Penyelenggaraan Transaksi Elektronik dalam lingkup publik lainnya sebagaimana diatur dalam ketentuan peraturan perundang-undangan.

Penyelenggaraan Transaksi Elektronik dalam lingkup privat meliputi Transaksi Elektronik, diantaranya: a. antar-Pelaku Usaha; b. antara Pelaku Usaha dan konsumen;c. antar-pribadi;d. antar-penyelenggara negara;e. antara penyelenggara negara dan Pelaku

Usaha;

Para pihak yang melakukan Transaksi Elektronik wajib beriktikad baik dalam melakukan interaksi dan/atau pertukaran Informasi Elektronik dan/atau Dokumen Elektronik selama transaksi berlangsung. Transaksi Elektronik yang dituangkan ke dalam Kontrak Elektronik mengikat para pihak. Para pihak memiliki kewenangan untuk memilih hukum yang berlaku bagi Transaksi Elektronik internasional yang dibuatnya. Jika para pihak tidak melakukan pilihan hukum dalam Transaksi Elektronik internasional, hukum

yang berlaku didasarkan pada asas Hukum PerdataInternasional. Para pihak memiliki kewenangan untuk menetapkan forum pengadilan, arbitrase, atau lembaga penyelesaian sengketa alternatif lainnya yang berwenangmenangani sengketa yang mungkin timbul dari Transaksi Elektronik internasional yang dibuatnya. Jika para pihak tidak melakukan pilihan forum sebagaimana dimaksud maka penetapan kewenangan pengadilan, arbitrase, atau lembaga penyelesaian sengketa alternatif lainnya yang berwenang menangani sengketa yang mungkin timbul dari transaksi tersebut, didasarkan pada asas Hukum Perdata Internasional.

Dalam transaksi elektronik melibatkan pihak Pengirim atau Penerima. Meskipun demikian, transaksi elektronik dapat diwakili oleh Agen Elektronik. Dalam UU ITE, Agen Elektronik didefinisikan sebagai “perangkat dari suatu Sistem Elektronik yang dibuat untuk melakukan suatu tindakan terhadap suatu Informasi Elektronik tertentu secara otomatis yang diselenggarakan oleh Orang”. Pihak yang bertanggung jawab atas segala akibat hukum dalam pelaksanaanTransaksi Elektronik melalui Agen Elektronik diatur sebagai berikut: jika dilakukan sendiri, segala akibat hukum dalam pelaksanaan Transaksi Elektronik menjadi tanggung jawab para pihak yang bertransaksi; jika dilakukan melalui pemberian kuasa, segala akibat hukum dalam pelaksanaan Transaksi Elektronik menjadi tanggung jawab pemberi kuasa; atau jika dilakukan melalui Agen Elektronik, segala akibat hukum dalampelaksanaan Transaksi Elektronik menjadi tanggung jawab penyelenggara Agen Elektronik. Jika kerugian Transaksi Elektronik disebabkan gagal beroperasinya Agen Elektronik akibat tindakan pihak ketiga secara langsung terhadap Sistem Elektronik, segala akibat hukum menjadi tanggung jawab penyelenggara AgenElektronik.

5. Peraturan Pemerintah terkait UU ITEPengaturan lebih lanjut berbagai hal yang diatur

dalam UU ITE dimuat ke dalam Peraturan Pemerintah. Meskipun demikia, sampai saat ini kehadiran Peraturan Pemerintah itu belum juga ditetapkan oleh Pemerintah, masih dalam Rancangan Peraturan Pemerintah (RPP). Beberapa RPP tersebut pernah dipublikasikan oleh Kementrian Komunikasi dan Informatika untuk mendapatkan masukan dari masyarakat demi penyempurnaan. Salah satunya adalah RPP Penyelenggaraan Informasi dan Transaksi Elektronik (RPP PITE). Sebenarnya, dalam UU ITE diamanatkan 10 hal yang perlu diatur lebih lanjut ke dalam Peraturan Pemerintah, yakni:

Pasal 10 Pembentukan Lembaga Sertifikasi KeandalanPasal 11 Tanda tangan elektronikPasal 13 Penyelenggara Sertifikasi ElektronikPasal 16 Penyelenggaraan Sistem ElektronikPasal 17 Penyelenggaraan Transaksi ElektronikPasal 22 Penyelenggara Agen ElektronikPasal 24 Pengelolaan Nama DomainPasal 31 Tata Cara IntersepsiPasal 40 Peran Pemerintah dalam perlindungan data strategis

Dalam RPP PITE, beberapa hal yang perlu dicermati menyangkut:

a. Agen elektronik meliputi bentuk agen elektronik, Agen elektronik yang digunakan lebih dari satu penyelenggara sistem elektronik, fitur-fitur agen elektronik, kewajiban Penyelenggara Agen Elektronik, dan Edukasi.

Page 29: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

29

b. Penyelenggaraan Transkasi Elektronik meliputi cakupan penyelenggaraan transaksi elektronik, persyaratan transaksi elektronik.

c. Penyelenggaraan Sistem Elektronik meliputi komponen sistem elektronik, persyaratan penyelenggaraan sistem elektronik untuk pelayanan publik, persyaratan perangkat lunak, persyaratan perangkat keras, tenaga ahli, jasa teknologi informasi, manajemen resiko, tata kelola sistem elektronik, pengawasan, pendaftaran, jejak audit, sertifikasi kelaikan sistem elektronik, pengamanan penyelenggaraan sistem elektronik.

d. Penyelenggaraan Sertifikasi Elektronik meliputi Penyelenggara Sertifikasi Elektronik, Badan Pengawas Penyelenggara Sertifikasi Elektronik.

e. Tanda tangan elektronik meliputi jenis tanda tangan elektronik, data pembuatan tanda tangan elektronik, proses penandatanganan, identifikasi, autentikasi, dan verifikasi tanda tangan elektronik, kewajiban penyelenggara pendukung layanan tanda tangan elektronik.

f. Lembaga Sertifikasi Keandalan meliputi Sertifikasi Keandalan, Lembaga Sertifikasi Keandalan.

g. Pengelolaan Nama Domain.

6. DiskusiBerlakunya UU ITE sejak tanggal 21 April

2008 memberikan perlindungan hukum bagi pengguna teknologi informasi termasuk pengembang sistem informasi. Sayangnya, UU ITE ini lebih disoroti di masyarakat hal-hal yang berkaitan dengan beberapa pasal saja menyangkut content informasi elektronik yang dilarang, seperti dalam kasus dugaan penghinaan dan/atau pencemaran nama baik pada Prita Mulyasari yang terkait dengan pasal 27 ayat (3) jo Pasal 45 ayat (1) UU ITE. Padahal, keberadaan dan keberlakuan UU ITE banyak mengatur hal-hal yang berkaitan dengan pemanfaatan teknologi informasi seperti transaksi elektronik, agen elektronik, tanda tangan elektronik, sertifikasi elektronik, pengelolaan nama domain, pengelolaan sistem elektronik. Kesemua hal ini sangat bermanfaat sebagai pedoman bagi penyelenggara sistem informasi dalam mengembangkan, merancang, menerapkan sistem informasi secara bertanggungjawab.

Sosialisasi UU ITE masih sangat diperlukan terutama bagi kalangan pengguna Teknologi Informasi, aparat penegak hukum, aparatur pemerintah, dan masyarakat mengingat UU ITE merupakan pengaturan yang bersifat teknis pertama kali dalam Teknologi Informasi. Disadari bahwa aparat penegak hukum masih belum memahami dengan baik hal-hal teknis dalam dunia Teknologi informasi, sehingga menjadi kekuatiran apabila terjadi sengketa hukum maka banyak masalah

yang sulit diselesaikan dengan adil. Oleh karena itu, peran dari kalangan akademisi dan praktisi Teknologi Informasi amat diperlukan dalam memberikan sosialisasi berbagai hal yang diatur dalam UU ITE.

Dengan berlakunya UU ITE dan peraturan pemerintah yang terkait UU ITE yang akan terbit maka seluruh industri tunduk pada pengaturan yang ada, sehingga dipastikan terjadi banyak perubahan dalam lembaga pemerintah atau non pemerintah dalam penyelenggaraan transaksi elektronik, misalnya persyaratan perangkat lunak dan perangkat keras yang mesti diketahui dan dipatuhi oleh pihak pengembang Teknologi Informasi. Perubahan yang dipastikan pula akan terjadi adalah materi UU ITE, dan peraturan lainnya menyangkut Teknologi Informasi dimasukkan dalam kurikulum Perguruan Tinggi agar para lulusan menyadari keberadaan peraturan tersebut dan mematuhinya.

7. KesimpulanBeberapa kesimpulan yang dapat diambil dari

telaah ini adalah:1. Undang-Undang No. 11 Tahun 2008 mengatur

tentang Informasi Elektronik dan Transaksi Elektronik, yang selanjutnya berkaitan dengan pengaturan sistem elektronik, agen elektronik, sertifikasi elektronik, tanda tangan elektronik, pengelolaan nama domain.

2. Kelahiran UU ITE memberikan ruang bagi pelaku industri dan pengembang sistem informasi untuk mematuhi ketentuan yang ada dalam UU ITE yang selanjutnya dijabarkan lebih detil ke dalam Peraturan Pemerintah yang akan terbit.

3. UU ITE menjadi pedoman yang melindungi setiap para pihak yang terlibat dalam penyelenggaraan transaksi elektronik, melindungi pelaku usaha dan konsumen, sehingga konflik atau sengketa yang terjadi di kemudian hari dapat jelas payung hukum yang dapat digunakan.

8. Daftar Pustaka[1] Undang-Undang Republik Indonesia No. 11 Tahun

2008 tentang Informasi dan Transaksi Elektronik.2008. www. Legalitas.org

[2] Kementrian Komunikasi dan Informatika Republik Indonesia. Rancangan Peraturan Pemerintah Penyelenggaraan Informasi dan Transaksi Elektronik. 2010. www.depkominfo.go.id

[3] Ronny. Seputar UU ITE dan Cybercrime. 2010. www.ronny-hukum.blogspot.com

Page 30: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

30

KLASIFIKASI KINERJA BEBAN DOSEN STIMIK HANDAYANI

MENGGUNAKAN ALGORITMA NAÏVE BAYESIAN

Muhammad RaisP2700210014

Jl. Perintis Kemerdekaan [email protected]

IsminartiP2700210069

Jl. Perintis Kemerdekaan [email protected]

ABSTRAKTeori Matematika banyak digunakan dalam menyelesaikan

persoalan – persoalan yang sering terjadi dalam berbagai bidang termasuk di bidang pendidikan terutama dalam aplikasinya di dunia kampus. Algoritma Naïve Bayesian adalah salah satu algoritma matematika yang dapat digunakan untuk mengambil keputusan dan melaksanakannya dilandasi asumsi bahwa segala tindakan merupakan pencerminan hasil proses pengambilan keputusan secara sadar atau tidak. Dalam bidang pendidikan, Algoritma ini digunakan untuk menyelesaikan beberapa masalah diantaranya dalam mengevaluasi kinerja tenaga pengajar. Manual prosedur evaluasi tenaga pengajar merupakan pedoman bagi administrasi STIMIK HANDAYANI dalam rangka mengukur dan menindaklanjuti kinerja dosen melalui kebijakan dalam menentukan peluang seorang dosen mendapatkan jam mengajar dan banyaknya kelas dalam suatu semester yang berbanding lurus dengan besarnya honor yang diterima berdasarkan peluang peristiwa semester dua (S2) terjadi dengan syarat peristiwa semester satu (S1) terjadi terlebih dahulu. Metode matematis ini bisa dimanfaatkan sebagai patokan bagi kampus untuk menentukan kinerja seorang dosen, apakah kinerjanya sangat baik,baik dan kurang. Dari ketiga parameter ini kami berharap setiap dosen memiliki peluang yang sama untuk mendapatkan banyaknya jam mengajar. Kata Kunci : Algoritma Naïve Bayesian, Probabilitas, Jam mengajar dosen

1. PENDAHULUAN

1.1. LATAR BELAKANGPenggunaan sistem database dosen yang terintegrasi adalah

salah satu entitas penting dalam komunikasi digital kampus, terutama dalam menentukan kinerja seorang dosen dalam sebuah universitas baik secara langsung maupun tidak langsung memberikan keringanan bagi administrasi kampus dalam mengklasifikasikan kinerja dosen.

Pengambilan keputusan pada semua tahap kegiatan administrasi dan manajemen. Misalnya dalam tahap perencanaan diperlukan banyak kegiatan pengambilan keputusan sepanjang proses perencanaan tersebut. Keputusan –keputusan yang diambil dalam proses perencanaan ditujukan kepada pemilihan alternatif program dan prioritasnya. Dalam jurnal ini akan disajikan Implementasi konsep peluang (teorema Bayes) dalam menentukan keputusan. Pengambilan keputusan berdasarkan teorema bayes adalah pengambilan keputusan dengan memilih dari beberapa alternatif yang mungkin dihadapi dengan mempertimbangkan keadaan dan prasarana serta informasi yang tersedia yang mana informasi mempunyai nilai tersendiri yang tentu akan sangat mempengaruhi analisa dalam pengambilan keputusan tersebut. Banyak para pengambil keputusan yang menggunakan peluang untuk mengambil keputusan, dihadapkan pada dua kondisi, yaitu :1. Dua atau lebih peristiwa yang dihasilkan dari suatu

percobaan tidak dapat terjadi bersamaan2. Dua atau lebih peristiwa yang dihasilkan dari suatu

percobaan dapat terjadi bersamaan. Hal tersebut tidak lepas dari teori peluang (probabilitas).

Bergerak dari hal tersebut, penulis mencoba membuat alternatif tindakan yang harus ditempuh untuk melihat peluang akhir dengan menggunakan Teorema Bayes.

1.2. RUMUSAN MASALAHInti dari pengambilan keputusan berdasarkan Teorema

Bayes ini adalah untuk penelitian yang cermat tentang tindakan apa yang kiranya tersedia, baru dilanjutkan dengan memperkirakan resiko yang akan muncul untuk tiap tindakan dari tiap keadaan yang bakal terjadi di masa depan.

Berdasarkan latar belakang, maka masalah yang akan dipecahkan adalah :

1. Bagaimana menentukan penilaian kinerja dosen dengan menggunakan Naïve Bayesian,

2. Bagaimana penulis merumuskan parameter yang ada dengan algoritma Naïve Bayesian untuk mendapatkan peluang banyaknya jam mengajar dosen.

1.3. TUJUAN DAN MANFAAT PENELITIANTujuan PenelitianKegiatan yang dilakukan dalam organisasi kampus untuk mencapai tujuannya adalah dengan menetapkan beberapa variabel dalam menetapkan kinerja seorang dosen.Aspek pengajaran yang menjadi bahan pertimbangan menjadi aspek yang paling mendasar dalam menentukan besarnya honor yang diterima seorang dosen dimana nilainya berbanding lurus dengan banyaknya matakuliah dan banyaknya kelas yang ditangani sehingga dapat diklasifikasikan menjadi dosen yang sangat baik, baik dan kurang sehingga dapat menjadi bahan pertimbangan untuk menentukan kinerja masing – masing dosen untuk penilaian dan pemberian matakuliah, jam kuliah dan berapa kelas yang akan diberikan semester berikutnya.Manfaat PenelitianManfaat dari penelitian ini pada hakekatnya untuk memberikan pandangan tentang penerapan Teorema Bayes bagi para pengambil keputusan dalam STIMIK HANDAYANI dalam mengambil keputusan yang terbaik dengan melihat kinerja masing – masing dosen, sehingga sistem kekeluargaan yang selama ini diterapkan dapat dihilangkan agar tidak terjadi kesenjangan antara dosen.

1.4 BATASAN MASALAHAda empat parameter kinerja dosen yang menjadi bahan

pertimbangan yaitu Aspek pengajaran, pembimbingan, publikasi riset dan pengabdian masyarakat, dan partisipasi kegiatan jurusan/fakultas. Salah satu dari keempat parameter yang menjadi bahan pembahasan adalah pada aspek pengajaran. Parameter aspek pengajaran meliputi berapa banyak mata kuliah yang diajarkan, kelas yang di ajar dan berapa banyak pertemuan dalam semester yang berjalan.

2. TINJAUAN PUSTAKA

2.1 Teori KeputusanPengambilan keputusan merupakan proses pembatasan dan

perumusan masalah, membuat beberapa alternatif pemecahan beserta konsekuensi masingmasing alternatif. Kemudian memilih salah satu alternatif pemecahan terbaik untuk selanjutnya melaksanakan keputusan tersebut.2.1.1. Hakikat Pengambilan Keputusan

Pengambilan keputusan merupakan pemilihan diantara beberapa alternatif pemecahan masalah. Pada hakikatnya keputusan diambil jika pimpinan menghadapi masalah atau untuk mencegah timbulnya masalah dalam organisasi. Kesimpulan yang diperoleh mengenai pengambilan keputusan adalah tujuan pengambilan keputusan itu bersifat tunggal

Page 31: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

31

dalam arti bahwa sekali diputuskan tidak akan ada kaitannya dengan masalah lain. Kemungkinan kedua adalah tujuan pengambilan keputusan dapat bersifat ganda dalam arti bahwa satu keputusan yang diambil sekaligus memecahkan dua masalah atau lebih yang sifatnya kontradiktif ataupun non-kontradiktif.2.1.2. Aspek Pengambilan Keputusan

Pengambilan keputusan dipengaruhi oleh beberapa aspekantara lain:1. Aspek Pengajaran2. Aspek Pembimbingan3. Aspek publikasi, riset dan pengabdian masyarakat4. Aspek partisipasi kegiatan jurusanNamun yang menjadi pembahasan jurnal ini adalah pada aspek pengajaran.2.1.3. Lingkungan Keputusan

Dalam setiap pengambilan keputusan para pengambil keputusan akan selalu berhadapan dengan lingkungan, dimana salah satu karakteristiknya yang paling menyulitkan dalam proses pengambilan keputusan adalah ketidakpastian (Uncertainty), ini adalah salah satu sifat dimana tidak akan dapat diketahui dengan pasti apa yang akan terjadi di masa yang datang.

Selain sifat ketidakpastian ini lingkungan juga bersifat kompleks, dimana begitu banyak faktor yang berinteraksi dalam berbagai cara sehingga sering tidak diketahui lagi bagaimana interaksi tersebut berlangsung. Dalam aspek pengajaran, proses pengambilan keputusan dilingkungan kampus STIMIK HANDAYANI berdasarkan pada banyaknya SKS setiap mata kuliah, banyaknya mata kuliah dan jumlah pertemuan setiap semester . pengkategorian ini memungkinkan seseorang dosen mendapatkan keputusan yang berbeda tergantung keputusan kampus.2.1.4. Model Keputusan

Ada beberapa elemen dan konsep yang biasanya digunakan pada semua model keputusan, hampir semua model apakah itu kompleks dan sederhana, dapat diformulasikan dengan menggunakan suatu struktur standard dan dipecahkan dengan penggunaan prosedur umum. Dalam hal ini kami menggunakan model probabilistik dalam kondisi ketidakpastian yakni memakai Teorema Bayes.2.2. Konsep dan Aturan Peluang2.2.1. Konsep Ringkas Peluang

Dalam beberapa kasus dapat dihitung secara tepat cara yang berlainan dari mana suatu kejadian tertentu dapat terjadi atau tidak dengan menganggap cara yang mungkin terjadi adalah kemungkinan sama (Equally likely). Peluang yang diperoleh dengan anggapan yang demikian disebut juga peluang teoritis atau probabilistik matematik.

Misalnya bahwa suatu peristiwa (A) dapat terjadi dengan n(A) cara dari n(S) kemungkinan cara yang sama, maka peluang kejadian A (Kinerja Baik) adalah :

( ) = ( )( )Peluang dari kejadian A yang kinerjanya Kurang adalah :

( ) = 1 − ( )( ) = 1 − ( )Atau ( ) = 1 − ( )

Jumlah dari peluang dosen untuk mendapatkan predikat kinerja Baik dan peluang untuk predikat kurang adalah selalusama dengan 1 atau dengan bahasa statistiknya ditulis :( ) + ( ) = ( ) + ( ) = 12.2.2. Peristiwa Tidak Saling Meniadakan

Dua atau lebih peristiwa dikatakan tidak saling meniadakan apabila dua atau lebih peristiwa tersebut dapat terjadi pada waktu yang bersamaan. Maka peluang terjadinya peristiwa A atau peristiwa B adalah peluang terjadinya peristiwa A ditambah peluang terjadinya peristiwa B dikurang peluang terjadinya peristiwa A dan B secara bersamaan.Atau secara aturan peluang ditulis sebagai berikut :( ∪ ) = ( ) + ( ) − ( )Dimana :( ∪ ) = peluang peristiwa A atau B terjadi( ∩ ) = peluang peristiwa A dan B terjadi bersamaanTeoremaJika suatu kejadian akan menghasilkan 3 peristiwa yang tidak saling meniadakan yaitu peristiwa A,B dan C maka peluang terjadinya peristiwa A atau B atau C adalah :

( ∪ ∪ ) = ( ) + ( ) + ( )− ( ∩ ) − ( ∩ )− ( ∩ ) + ( ∩ )Contoh:

Kriteria dosenKinerja

TotalSangat Baik (S)

Baik (B)

Kurang(K)

Honorer (H) 25 20 15 60Yayasan (Y) 20 15 15 50

Total 45 35 30 110Apabila seorang dosen dipilih secara acak, tentukan

peluang bahwa ia adalah :1. Dosen Honorer (H) dengan kinerja sangat baik (S)2. Dosen Honorer (H) dengan kinerja baik (B)3. Dosen Honorer (H) dengan kinerja Kurang (K)4. Dosen Yayasan (Y) dengan kinerja sangat baik (S)5. Dosen Yayasan (Y) dengan kinerja baik (B)6. Dosen Yayasan (Y) dengan kinerja Kurang (K)Solusi :

( ) = 60110 = 0.545 ( ) = 50110 = 0.455( ) = 45110 = 0.409 ( ) = 35110 = 0.318

( ) = 30110 = 0.273( ∩ ) = 25110 = 0.227 ( ∩ ) = 20110 = 0,182( ∩ ) = 15110 = 0,136 ( ∩ ) = 20110 = 0,182( ∩ ) = 15110 = 0,136 ( ∩ ) = 15110 = 0,136

1. Dosen Honorer (H) dengan kinerja sangat baik (S)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,545 + 0,409 − 0,227 = 0,7272. Dosen Honorer (H) dengan kinerja baik (B)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,545 + 0,318 − 0,182 = 0,6823. Dosen Honorer (H) dengan kinerja Kurang (K)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,545 + 0,273 − 0,136 = 0,6824. Dosen Yayasan (Y) dengan kinerja sangat baik (S)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,455 + 0,409 − 0,182 = 0,6825. Dosen Yayasan (Y) dengan kinerja baik (B)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,455 + 0,318 − 0,136 = 0,6366. Dosen Yayasan (Y) dengan kinerja Kurang (K)( ∪ ) = ( ) + ( ) − ( ∩ ) = 0,455 + 0,273 − 0,136 = 0,5912.3. Peluang Bersyarat (Conditional Probability)

Secara simbolik peluang bersyarat dinyatakan dengan P(B|A) yang artinya peristiwa B akan terjadi dengan syarat peristiwa A terjadi lebih dahulu. Peluang bersyarat adalah peluang peristiwa kedua akan terjadi apabila peristiwa pertama terjadi. Untuk peristiwa yang independen peluang terjadinya peristiwa B dengan syarat peristiwa A terjadi lebih dahulu adalah sama dengan peluang akan terjadinya peristiwa B, atau secara matematis dituliskan :

(� | ) = ( ∩ )( ) ; ( ∩ ) = ( ) ( )= ( ) ( )( ) = ( )

Karena pada peristiwa yang independen antara peristiwa yang satu tidak akan mempengaruhi peristiwa yang lain, atau dengan kata lain peluang suatu peristiwa akan terjadi tidak akan dipengaruhi oleh peluang peristiwa yang terjadi sebelumnya atau peristiwa yang terjadi sesudahnya, maka peluang terjadinya peristiwa B dengan syarat A terjadi lebih dahulu adalah sama dengan peluang akan terjadinya peristiwa B itu sendiri, atau secara statistik dituliskan :(� | ) = ( )

Untuk menentukan peluang terjadinya peristiwa A dan B juga dapat menggunakan formula( ∩ ) ≈ ( ∩ ) = �( | ) ( ), ( ∩ ) ≈ ( ∩ ) Apabila peristiwa A dan B adalah independen satu sama lain, maka peluang terjadi peristiwa B dan A adalah :P(B ∩ A) = P(B) + P(A)

3. HASIL DAN PEMBAHASAN3.1. Analisis Keputusan

Proses pengambilan keputusan manajemen kampus dilakukan berdasarkan beberapa pertimbangan salah satunya adalah pada aspek pengajaran yaitu menentukan kinerja dosen dalam mengajar, apakah kinerja dosen tersebut SANGAT BAIK (S), BAIK (B) dan KURANG (K) sehingga proses

Page 32: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

32

pengambilan keputusan untuk menentukan jam mengajar, banyaknya mata kuliah yang harus diajar menjadi bahan keputusan bersama bagi pihak kampus sehingga penilaian pada masing – masing dosen bersifat adil. 3.2. Analisis Masalah Keputusan3.2.1. Teorema Bayes

Penerapan Teorema Bayes adalah pendekatan yang dilakukan melalui pengamatan berdasarkan sampel, tes, hipotesis, analisa regresi dan lain-lain. Untuk sampel kami kategorikan dalam dosen.

Antara Teorema Bayes dengan teori peluang terdapat hubungan yang sangat erat, karena untuk membuktikan Teorema Bayes tidak terlepas dari penggunaan teori peluang, dengan kata lain teori peluang adalah konsep dasar bagi Teorema Bayes. Untuk kejadian dalam penelitian ini, dapat diselesaikan dengan Teorema Bayes. Peluang kejadian Ai (i=1,2,…,n) dengan kejadian B tertentu kami gunakan persamaan di bawah ini :

( ⏊ ) = ( ⏊ ) ( )∑ ( ) ( ⏊ ), ,…= ( ⏊ ) ( )

( )( ) ( ⏊ )

, ,…= ( ∩ ) + ( ∩ )+. . + + ( ∩ )

Sebagai peluang marjinalnya. Perhitungan ini kami gunakan untuk memilih peluang

diantara tiga kriteria kinerja setiap dosen, apakah dosen yang terpilih kinerjanya sangat baik(S), baik(B), dan kurang(K). Langkah awal adalah mengklasifikasikan parameter yang digunakan.Keterangan atribut yang digunakan :1 kelas = 16xpertemuan (pert.), nilai ini tidak mutlak tergantung dari absensi dosen. S1= semester 1S2=semester 2Nilai SKS = diperhitungkan hanya untuk perhitungan honor, jadi klasifikasi awal nilai SKS belum dikategorikan.

S 1 S 2

BASO HABIBI, S .P D (A1) 48 80 12 8ABD. LATIEF ARDA(A2) 16 16 3 2ANDI RUSTAM, SE,MM.(A3) 32 48 8 0To ta l 9 6 14 4 2 4 0

N a m a D o s e n (A i ) P e rt .(P ) To ta l

1. Peluang setiap dosen mengajar beberapa kelas dikategorikan dalam P(Ai)

( ) = ( )( ) = 128240 = 0.53 …( ) = ( )( ) = 32240 = 0.13 …( ) = ( )( ) = 80240 = 0.33 …

= 1Jadi peluang setiap dosen untuk penentuan kriteria penilaian =1 sehingga langkah selanjutnya mencari

2. Peluang dosen Ai di semester 1 dikategorikan dalam P(S1i

dan Ai)

(� | ) = ( )( ) = 48128 = 0.375(� | ) = ( )( ) = 1632 = 0.5(� | ) = ( )( ) = 3280 = 0.4

3. Peluang dosen Ai di semester 2 dikategorikan dalam P(S2i

dan Ai)

(� | ) = ( )( ) = 80128 = 0.625(� | ) = ( )( ) = 1632 = 0.5(� | ) = ( )( ) = 4880 = 0.6

4. Peluang marjinal dosen Ai di semester 1 adalah P(AilS1i)( ) = (� | ) ∗ ( ) + (� | ) ∗ ( ) + (� | )∗ ( )= 0.375 ∗ 0.53 … + 0.5 ∗ 0.13 … + 0.4∗ 0.33 … = 0.45. Peluang marjinal dosen Ai di semester 2 adalah P(AilS2i)

( ) = (� | ) ∗ ( ) + (� | ) ∗ ( ) + (� | )∗ ( )= 0.625 ∗ 0.53. . . +0.5 ∗ 0.13. . . +0.6∗ 0.33 … = 0.6P(S1) P(S2 )

P(Ai dan S1i) P(Ai dan S2i)

A1 0.200 0.333 0.533A2 0.067 0.067 0.133A3 0.133 0.200 0.333total 0.400 0.600 1.000

Ai total

Dari kedua peluang marjinal semester 1(S1) dan semester 2 (S2) maka dapat dibuat tabel untuk mengklasifikasikan kinerja dimana kinerja Sangat Baik (S), Baik (B) dan Kurang (K)=1 dari peluang marjinal S1 dan S2 yaitu 0.4 +0.6=1 untuk peluang masing – masing dosen mendapatkan penilaian.

S B K

S1 0.200 0.133 0.067 0 .4S2 0.333 0.200 0.067 0 .6To ta l 0 .5 3 3 3 0 .3 3 3 3 0 .13 3 1

pe lua ng m a rjina l

Kine rjaTo ta l

Dari tabel diatas kita dapat menentukan interval batas untuk pengkategorian kinerja yaitu :>0.53 = kinerja Sangat Baik (S)0.53>x>0.33 = Kinerja Baik (B)0.33>x>0.13 = Kinerja Kurang (K)Dimana P(S)+P(B)+P(K) =1.Setelah interval diperoleh, maka selanjutnya mencari peluang dosen dari 2 semester dengan predikat masing – masing.6. Kinerja dosen A1 disemester 1 adalah : ( ⏊ ) = ( ⏊ ) ( )

(� 11| 1)∗ ( 1)+ (� 12| 2)∗ ( 2)+ (� 13| 3)∗ ( 3) =( ⏊ ) ( )

( 1) = .. = 0.5 Sangat Baik

( ⏊ ) = ( ⏊ ) ( )(� 11| 1)∗ ( 1)+ (� 12| 2)∗ ( 2)+ (� 13| 3)∗ ( 3) =

( ⏊ ) ( )( 1) = .

. = 0.167 Kurang

( ⏊ ) = ( ⏊ ) ( )(� 11| 1)∗ ( 1)+ (� 12| 2)∗ ( 2)+ (� 13| 3)∗ ( 3) =

( ⏊ ) ( )( 1) = .

. = 0.333 Baik

7. Peluang dosen disemester 2 yang kinerjanya Sangat Baik adalah :( ⏊ ) = ( ⏊ ) ( )

(� 21| 1)∗ ( 1)+ (� 22| 2)∗ ( 2)+ (� 23| 3)∗ ( 3) =( ⏊ ) ( )

( 2) = .. = 0.556 Sangat Baik

( ⏊ ) = ( ⏊ ) ( )(� 21| 1)∗ ( 1)+ (� 22| 2)∗ ( 2)+ (� 23| 3)∗ ( 3) =

( ⏊ ) ( )( 2) = .

. = 0.111 Kurang

( ⏊ ) = ( ⏊ ) ( )(� 21| 1)∗ ( 1)+ (� 22| 2)∗ ( 2)+ (� 23| 3)∗ ( 3) =

( ⏊ ) ( )( 2) = .

. = 0.333 Baik

Berdasarkan teori keputusan, penentuan semester berikutnya (S3) dapat dilakukan dengan menjumlahkan kinerja dosen S1 dan S2 dibagi dengan 2 dengan tetap pada interval batas yang ditentukan.

Dalam kasus ini kami mengambil sampel 21 orang dosen untuk menentukan kinerjanya, sesuai dengan langkah – langkah di atas berikut hasil perhitungan (pay off Table):

KODEP E RT - S1P E RT - S2T . P E RTP ( Ai )P ( S1l Ai )P ( S2 l Ai )P ( Ai dan S1)P ( Ai dan S2)P ( Ai l S1)P ( Ai l S2 )P ( S1+S2) / 2i nt er val

A 1 32 32 64 0.052 0.500 0.500 0.026 0.026 0.050 0.054 0.05 0.36

A 2 16 16 32 0.026 0.500 0.500 0.013 0.013 0.025 0.027 0.03 0.18

A 3 32 48 80 0.065 0.400 0.600 0.026 0.039 0.050 0.081 0.07 0.46

A 4 48 16 64 0.052 0.750 0.250 0.039 0.013 0.075 0.027 0.05 0.36

A 5 16 16 32 0.026 0.500 0.500 0.013 0.013 0.025 0.027 0.03 0.18

A 6 16 32 48 0.039 0.333 0.667 0.013 0.026 0.025 0.054 0.04 0.28

A 7 48 48 96 0.078 0.500 0.500 0.039 0.039 0.075 0.081 0.08 0.55

A 8 32 16 48 0.039 0.667 0.333 0.026 0.013 0.050 0.027 0.04 0.27

A 9 16 16 32 0.026 0.500 0.500 0.013 0.013 0.025 0.027 0.03 0.18

A 1 0 16 32 48 0.039 0.333 0.667 0.013 0.026 0.025 0.054 0.04 0.28

A 1 1 16 16 32 0.026 0.500 0.500 0.013 0.013 0.025 0.027 0.03 0.18

A 1 2 48 48 96 0.078 0.500 0.500 0.039 0.039 0.075 0.081 0.08 0.55

A 1 3 48 32 80 0.065 0.600 0.400 0.039 0.026 0.075 0.054 0.06 0.45

A 1 4 32 48 80 0.065 0.400 0.600 0.026 0.039 0.050 0.081 0.07 0.46

A 1 5 32 16 48 0.039 0.667 0.333 0.026 0.013 0.050 0.027 0.04 0.27

A 1 6 16 16 32 0.026 0.500 0.500 0.013 0.013 0.025 0.027 0.03 0.18

A 1 7 32 16 48 0.039 0.667 0.333 0.026 0.013 0.050 0.027 0.04 0.27

A 1 8 32 16 48 0.039 0.667 0.333 0.026 0.013 0.050 0.027 0.04 0.27

A 1 9 48 48 96 0.078 0.500 0.500 0.039 0.039 0.075 0.081 0.08 0.55

A 2 0 32 16 48 0.039 0.667 0.333 0.026 0.013 0.050 0.027 0.04 0.27

A 2 1 32 48 80 0.065 0.400 0.600 0.026 0.039 0.050 0.081 0.07 0.46

640 592 1232 1 11 10 1 0 1 1 1 7t ot al

Page 33: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

33

Dari hasil pay off table dapat di analisa bahwa dengan tambahan informasi menyebabkan nilai interval semakin lebar sehingga untuk interval yang ditentukan di atas akan dibuatkan perbandingan 1:7 untuk 3 sampel dari 21 orang dosen. Sehingga diperoleh nilai interval yang sama.Dari tabel pihak kampus dapat merumuskan bahwa dosen yang kinerjanya Sangat Baik dan Baik memiliki peluang besar mendapatkan mata kuliah yang banyak berbanding lurus dengan banyak kelas karena nilai interval kinerja baik mendekati nilai interval sangat baik sehingga dapat menjadi bahan pertimbangan kampus. Berikut peluang dosen mendapatkan MK, jam mengajar dan jumlah kelas untuk semester berikutnya (S3) adalah:

S B K

DRS. H. ABD. ROKHMAN, M.Ag 0.36

ACHMADY, SE 0.18

DRS. H. SABAN ECHDAR, MS 0.46 BESAR

FIRDAUS, SPD 0.36

ANDI NIRWANA, S.KOM 0.18

ARNIDA IDRUS, SE 0.28

BASO HABIBI, S.PD 0.55 BESAR

DRS. JALAL 0.27

MUH ASDAQ, ST, M.Si 0.18

MUH AZHAR AR, ST 0.28

ABD. LATIEF ARDA 0.18

AHMAD M. MILE, S.KOM 0.55 BESAR

AMIR ALI, ST, MT. 0.45 BESAR

ANDI RUSTAM, SE,MM. 0.46 BESAR

CUCUT SUSANTO, S.KOM, M.SI 0.27

DR. H. MASHUR RAZAK, SE, MM 0.18

DRA. NAJIRAH UMAR, S.KOM, MT 0.27

DRS. BUDI NURWAHYU, M.SI 0.27

DRS. NASRULLAH, M.SI 0.55 BESAR

DRS. NURASYIK, M.HUM 0.27

AMIRUDDIN, S.KOM 0.46 BESAR

KI NE RJADOSE N P ( S3)

3.3. Konsep InformasiPenambahan Informasi juga sangat penting selain data

empiris di atas, Informasi dari berbagai pihak juga perlu menjadi pertimbangan kampus terutama dari mahasiswa sebagai objek. informasi ini penting untuk menambah kriteria penilaian. Semakin banyak parameter penilaian semakin adil sistem penilaian. Namun terkadang sulit diaplikasikan karena STIMIK HANDAYANI manajemennya masih bentuk kekeluargaan.

4. PENUTUPKesimpulan1. Sistem ini membantu pihak administrasi kampus untuk

menentukan kinerja seorang dosen untuk mempermudahpemberian mata kuliah dan banyaknya kelas di semester berikutnya.

2. Sistem ini dapat mengganti sistem kampus yang masih menggunakan sistem kekeluargaan tanpa ada analisis lanjutan sehingga dalam penentuan kinerja tidak berdasarkan pada fakta sehingga menjadi kesenjangan antar dosen.

SaranDengan teorema Naïve Bayesian dalam penentuan kinerja beban dosen, disarankan menggunakan lebih banyak atribut sebagai parameter penilaian karena semakin besar interval pengkategorian semakin akurat sistem penilaian yang dilakukan.

DAFTAR PUSTAKASinuk Malem Pinem, Dra.,”Mengambil Keputusan Dengan Teorema Bayes”,USU Digital Library, Sumatra Utara, 2001.Algifari,”Probabilitas dalam Pengambilan KeputusanBisnis”,BPFE Yogyakarta, 1996.Mangkusubroto Kuntoro, Dr. Ir. MSc.,”Analisis Keputusan Pendekatan Sistem dalam Manajemen Usaha dan Proyek”, Ganeca Exact Bandung, Bandung, 1987.Siagian P.,”Penelitian Operasional Teori dan Aplikasi”, UI Press, Jakarta, 1987.

Page 34: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

34

Lampiran

Program Naive bayesion Beban Kerja Dosen

Form Pengimputan untuk Data Dosen

Dim dbconn As OdbcConnection Dim dbadp As OdbcDataAdapter Dim dbset As New DataSet Dim strconn As String = "Driver={MySQL Odbc 3.51 driver};Server=localhost;uid=root;database=algoritma;port=3306;" Dim MyStr As String Private Sub txKdD_Leave(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles txKdD.Leave MyStr = "select * from dosen where kodedos='" & UCase(txKdD.Text) & "'" Try dbconn = New OdbcConnection(strConn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Dosen") dbconn.Close() Listdata() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub Listdata() If dbset.Tables("Dosen").Rows.Count > 0 Then txNm.Text = dbset.Tables("Dosen").Rows(0)("nmdos").ToString() Else txNm.Text = "" txNm.Focus() End If End Sub Sub kosong() txKdD.Text = "" txNm.Text = "" txKdD.Focus() End Sub

Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Simpan.Click MyStr = "insert into dosen (kodedos,nmdos) values('" & UCase(txKdD.Text) & "','" & txNm.Text & "')" Try dbconn = New OdbcConnection(strConn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Dosen") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub Private Sub ubah_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles ubah.Click MyStr = "update dosen set nmdos='" & txNm.Text & "' where kodedos='" & txKdD.Text & "'"

Try dbconn = New OdbcConnection(strConn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Dosen") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub hapus_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hapus.Click MyStr = "delete from dosen where kodedos='" & txKdD.Text & "'"

Try dbconn = New OdbcConnection(strConn) dbconn.Open()

Page 35: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

35

dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Dosen") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub Private Sub batal_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles batal.Click kosong() End Sub

Private Sub keluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles keluar.Click Close() End Sub

Form Pengimputan untuk Data Matakuliah

Dim dbconn As OdbcConnection Dim dbadp As OdbcDataAdapter Dim dbset As New DataSet Dim strconn As String = "Driver={MySQL Odbc 3.51 driver};Server=localhost;uid=root;database=algoritma;port=3306;" Dim MyStr As String

Private Sub txKdMk_Leave(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles txKdMk.Leave MyStr = "select * from matkul where kodemk='" & UCase(txKdMk.Text) & "'" Try dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "matkul") dbconn.Close() Listdata() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub Listdata() If dbset.Tables("matkul").Rows.Count > 0 Then txNmMk.Text = dbset.Tables("matkul").Rows(0)("nmmk").ToString() Else txNmMk.Text = "" txNmMk.Focus() End If End Sub

Sub kosong() txKdMk.Text = "" txNmMk.Text = "" txKdMk.Focus() End Sub

Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Simpan.Click MyStr = "insert into matkul (kodemk,nmmk) values('" & UCase(txKdMk.Text) & "','" & txNmMk.Text & "')" Try dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "matkul") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub ubah_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles ubah.Click MyStr = "update matkul set nmmk='" & txNmMk.Text & "' where kodemk='" & txKdMk.Text & "'"

Try dbconn = New OdbcConnection(strconn)

Page 36: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

36

dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Matkul") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub hapus_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hapus.Click MyStr = "delete from matkul where kodemk='" & txKdMk.Text & "'"

Try dbconn = New OdbcConnection(strconn) dbconn.Open()

dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "matkul") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub Private Sub batal_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles batal.Click kosong() End Sub

Private Sub keluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles keluar.Click Close() End Sub

Form Pengimputan untuk Data Beban Dosen

Dim dbconn As OdbcConnection Dim dbadp As OdbcDataAdapter Dim dbset As New DataSet Dim strconn As String = "Driver={MySQL Odbc 3.51 driver};Server=localhost;uid=root;database=algoritma;port=3306;" Dim MyStr As String

Private Sub txMK_Leave(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles txKdMK.Leave MyStr = "select m.nmmk, b.smt, b.sks, b.kelas,b.pertemuan from matkul m, beban b where m.kodemk=b.kodemk and b.smt='" & txSmt.Text & "' and b.kodeDos='" & txKdD.Text & "' and b.kodemk='" & txKdMK.Text & "'" 'Try dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "matkul") dbconn.Close() Listdata() End Sub Private Sub Listdata() If dbset.Tables("matkul").Rows.Count > 0 Then txSmt.Text = dbset.Tables("matkul").Rows(0)("smt").ToString() 'txKdMK.Text = dbset.Tables("matkul").Rows(0)("matakul").ToString() cbSKS.Text = dbset.Tables("matkul").Rows(0)("sks").ToString() cbKls.Text = dbset.Tables("matkul").Rows(0)("kelas").ToString() cbTm.Text = dbset.Tables("matkul").Rows(0)("pertemuan").ToString() Else cbSKS.SelectedIndex = 0 cbKls.SelectedIndex = 0 cbTm.SelectedIndex = 0 End If End Sub

Sub kosong() txSmt.Text = "" txKdD.Text = "" txKdMK.Text = "" cbSKS.SelectedIndex = 0 cbKls.SelectedIndex = 0 cbTm.SelectedIndex = 0 txSmt.Focus() End Sub

Page 37: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

37

Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Simpan.Click If Len(txKdD.Text) = 0 Or txKdD.Text = "" Then Exit Sub MyStr = "insert into Beban (kodedos,kodemk,smt,sks,kelas,pertemuan) values('" & UCase(txKdD.Text) & "'," & _ "'" & UCase(txKdMK.Text) & "','" & txSmt.Text & "','" & cbSKS.Text & "','" & cbKls.Text & "','" & cbTm.Text & "')" Try If Len(txKdD.Text) = 0 Or txKdD.Text = "" Then Exit Sub If Len(txSmt.Text) = 0 Or txKdD.Text = "" Then Exit Sub If Len(txKdMK.Text) = 0 Or txKdD.Text = "" Then Exit Sub dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Beban") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub ubah_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles ubah.Click MyStr = "update Beban set sks='" & cbSKS.Text & "', kelas='" & cbKls.Text & "', pertemuan='" & cbTm.Text & "'" & _ "where smt='" & txSmt.Text & "' and kodedos='" & txKdD.Text & "' and kodemk='" & txKdMK.Text & "'" If Len(txKdD.Text) = 0 Or txKdD.Text = "" Then Exit Sub If Len(txSmt.Text) = 0 Or txKdD.Text = "" Then Exit Sub If Len(txKdMK.Text) = 0 Or txKdD.Text = "" Then Exit Sub Try dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Beban") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub

Private Sub hapus_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hapus.Click MyStr = "delete from Beban where smt='" & txSmt.Text & "' and kodedos='" & txKdD.Text & "' and kodemk='" & txKdMK.Text & "'" Try dbconn = New OdbcConnection(strConn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "Beban") dbconn.Close() kosong() Catch ex As Exception MsgBox("Tidak Bisa Melakukan Koneksi Ke Database") End Try End Sub Private Sub batal_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles batal.Click kosong() End Sub

Private Sub keluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles keluar.Click Close() End Sub

Form Perhitungan Beban Data Dosen dengan Naïve Bayesian

Dim dbconn As OdbcConnection Dim dbadp As OdbcDataAdapter Dim dbadp1a As OdbcDataAdapter Dim dbadp1b As OdbcDataAdapter Dim dbadp1c As OdbcDataAdapter Dim dbadp1d As OdbcDataAdapter Dim dbadp1e As OdbcDataAdapter Dim dbadp1f As OdbcDataAdapter Dim dbadp1g As OdbcDataAdapter Dim dbadp1gcoba As OdbcDataAdapter Dim dbset As New DataSet Dim dbset1a As New DataSet Dim dbset1b As New DataSet Dim dbset1c As New DataSet Dim dbset1d As New DataSet Dim dbset1e As New DataSet Dim dbset1f As New DataSet Dim dbset1g As New DataSet Dim dbset1gcoba As New DataSet Dim strconn As String = "Driver={MySQL Odbc 3.51 driver};Server=localhost;uid=root;database=algoritma;port=3306;"

Private Sub htng_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles htng.Click

Dim sKodeDos As String sKodeDos = UCase(txkode.Text)

Dim MyStr As String MyStr = "select distinct(kodedos) from beban" dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp = New OdbcDataAdapter(MyStr, dbconn) dbset.Clear() dbadp.Fill(dbset, "bbn") dbconn.Close() 'lbnmdos.Text = dbset.Tables("bbn").Rows(0)("kodedos").ToString()

Page 38: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

38

Dim MyStr1a As String MyStr1a = "select nmdos from Dosen where kodedos='" & sKodeDos & "'" dbconn = New OdbcConnection(strconn) dbconn.Open() dbadp1a = New OdbcDataAdapter(MyStr1a, dbconn) dbset1a.Clear() dbadp1a.Fill(dbset1a, "Dosen") dbconn.Close() lbnmdos.Text = dbset1a.Tables("Dosen").Rows(0)("nmdos").ToString()

Dim MyStr1b As String MyStr1b = "select b.kodemk,m.nmmk,b.sks,b.kelas,b.pertemuan from matkul m,Beban b where m.kodemk=b.kodemk and b.smt=1 and b.kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1b = New OdbcDataAdapter(MyStr1b, dbconn) dbset1b.Clear() dbadp1b.Fill(dbset1b, "beban1") dbconn.Close() Dgv1.DataSource = dbset1b Dgv1.DataMember = "beban1"

Dim MyStr1c As String MyStr1c = "select b.kodemk,m.nmmk,b.sks,b.kelas,b.pertemuan from matkul m,Beban b where m.kodemk=b.kodemk and b.smt=2 and b.kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1c = New OdbcDataAdapter(MyStr1c, dbconn) dbset1c.Clear() dbadp1c.Fill(dbset1c, "beban2") dbconn.Close() Dgv2.DataSource = dbset1c Dgv2.DataMember = "beban2"

Dim MyStr1d As String MyStr1d = "select sum(pertemuan) as TotTm from beban" dbconn.Open() dbadp1d = New OdbcDataAdapter(MyStr1d, dbconn) dbset1d.Clear() dbadp1d.Fill(dbset1d, "beban3") dbconn.Close() Dim sTotTm As String sTotTm = dbset1d.Tables("beban3").Rows(0)("TotTm").ToString()

Dim MyStr1e As String Dim sJmlTm As String Dim MyStr1f As String Dim sJmlTm1 As String Dim MyStr1g As String Dim sJmlTm2, Ket As String Dim TotPAixS1, TotPAixS2 As Double Dim PAi, PS1Ai, PS2Ai, PAixS1, PAixS2, PAiS1, PAiS2, PRtrt As Double TotPAixS1 = 0 TotPAixS2 = 0 For i = 1 To dbset.Tables("bbn").Rows.Count sKodeDos = dbset.Tables("bbn").Rows(0)("kodedos").ToString

MyStr1e = "select sum(pertemuan) as JmlTm from beban where kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1e = New OdbcDataAdapter(MyStr1e, dbconn) dbset1e.Clear() dbadp1e.Fill(dbset1e, "beban4")

dbconn.Close() sJmlTm = dbset1e.Tables("beban4").Rows(0)("JmlTm").ToString()

MyStr1f = "select sum(pertemuan) as JmlTm1 from beban where smt=1 and kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1f = New OdbcDataAdapter(MyStr1f, dbconn) dbset1f.Clear() dbadp1f.Fill(dbset1f, "beban5") dbconn.Close() sJmlTm1 = dbset1f.Tables("beban5").Rows(0)("JmlTm1").ToString()

MyStr1g = "select sum(pertemuan) as JmlTm2 from beban where smt=2 and kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1g = New OdbcDataAdapter(MyStr1g, dbconn) dbset1g.Clear() dbadp1g.Fill(dbset1g, "beban6") dbconn.Close() sJmlTm2 = dbset1g.Tables("beban6").Rows(0)("JmlTm2").ToString()

PAi = sJmlTm / sTotTm PS1Ai = sJmlTm1 / sJmlTm PS2Ai = sJmlTm2 / sJmlTm PAixS1 = PS1Ai * PAi PAixS2 = PS2Ai * PAi TotPAixS1 = TotPAixS1 + PAixS1 TotPAixS2 = TotPAixS2 + PAixS2 Next

MyStr1e = "select sum(pertemuan) as JmlTm from beban where kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1e = New OdbcDataAdapter(MyStr1e, dbconn) dbset1e.Clear() dbadp1e.Fill(dbset1e, "beban4") dbconn.Close() sJmlTm = dbset1e.Tables("beban4").Rows(0)("JmlTm").ToString() MyStr1f = "select sum(pertemuan) as JmlTm1 from beban where smt=1 and kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1f = New OdbcDataAdapter(MyStr1f, dbconn) dbset1f.Clear() dbadp1f.Fill(dbset1f, "beban5") dbconn.Close() sJmlTm1 = dbset1f.Tables("beban5").Rows(0)("JmlTm1").ToString()

MyStr1g = "select sum(pertemuan) as JmlTm2 from beban where smt=2 and kodedos='" & sKodeDos & "'" dbconn.Open() dbadp1g = New OdbcDataAdapter(MyStr1g, dbconn) dbset1g.Clear() dbadp1g.Fill(dbset1g, "beban6") dbconn.Close() sJmlTm2 = dbset1g.Tables("beban6").Rows(0)("JmlTm2").ToString()

PAi = sJmlTm / sTotTm PS1Ai = sJmlTm1 / sJmlTm PS2Ai = sJmlTm2 / sJmlTm PAixS1 = PS1Ai * PAi PAixS2 = PS2Ai * PAi PAiS1 = PAixS1 / TotPAixS1 PAiS2 = PAixS2 / TotPAixS2 PRtrt = (PAiS1 + PAiS2) / 2

Page 39: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

39

If PRtrt >= 1 Then Ket = "Baik" ElseIf PRtrt < 1 And PRtrt >= 0.5 Then Ket = "Sedang" Else Ket = "Kurang" End If

lbPAi.Text = Math.Round(PAi, 3) lbPS1Ai.Text = Math.Round(PS1Ai, 3) lbPS2Ai.Text = Math.Round(PS2Ai, 3) lbPAixS1.Text = Math.Round(PAixS1, 3) lbPAixS2.Text = Math.Round(PAixS2, 3) lbPAiS1.Text = Math.Round(PAiS1, 3) lbPAiS2.Text = Math.Round(PAiS2, 3) lbRtRt.Text = Math.Round(PAiS2, 3) lbKet.Text = Ket End Sub

Private Sub keluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles keluar.Click Close() End Sub

Page 40: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

40

ALGORITMA SEMUT

Page 41: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

41

OPTIMALISASI JUMLAH TIPE RUMAH YANG AKAN DIBANGUN MENGGUNAKAN ALGORITMA SEMUT

AKHYAR MUCHTARP2700210007

Pascasarjana Teknik [email protected]

Salah satu tantangan yang biasanya dihadapi oleh pengembang perumahan adalah menentukan formulasi jumlah tipe rumah yang akan dibangun atau dikembangkan sehinga memenuhi aspek pasar serta mendapatkan profit yang maksimal. Tujuan dari makalah ini adalah menentukan komposisi jumlah tipe rumah yang akan dibangun sehingga mencapai solusi optimum dan dengan keuntungan maksimal.

AlgoritmaSemutatau biasa dikenal dengan Ant sistemmerupakan salah satu metode heuristic yang dapat digunakan untuk menyelesaikan masalah optimisasi.Algoritma ini awalnya digunakan untuk menyelesaikan masalah optimasi Traveling Salesman Problem.Algoritma semut diadopsi dari perilaku koloni semut yangsecara alamiah kolonisemut mampu menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber makanan.dengan menggunakan bebauan tertentu yaitu pheromone..

Kata kunci: Optimalisasi, Ant colony optimization, Jumlah tipe rumah

PendahuluanPengantar

Perumahan dan Permukiman merupakan fenomena yang selalu berkembang dan berkelanjutan, karena mengikuti dinamika pertumbuhan penduduk, perkembangan ekonomi dan sosial masyarakat.Dengan melihat arti penting masalah perumahan dan permukiman, maka strategi pengembangan perumahan dan permukiman harus dilakukan secara mendasar dan terukur.

Dalam perkembangannya, pembangunan perumahan dan pemukiman selalu menghadapi permasalahan yang sama yaitu masalah ketersediaan lahan. Terlebih di daerah perkotaan terkait ketersediaan lahan yang terbatas. Bahkan dibeberapa kota, ketersediaan tersebut telah sangat kritis dan untuk mencukupinya selalu menggunakan lahan pertanian atau lahan produktif lainnya. Untuk

ABDUL MUISP2700210073

Pascasarjana Teknik [email protected]

Page 42: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

42

mengatasi hal tersebut, maka perlu dilakukan optimisasi penataan tipe-tipe rumah pada lahan-lahan kosong yang tersedia sehingga lahan pertanian ataupun lahan produktif lainnya tidak terus menerus menjadi solusi dalam mengatasi keterbatasan lahan perumahan.

Upaya optimisasi lahan perumahan dapat diterapkan dengan berbagai macam cara salah satunya dengan menggunakan Ant Systematau Algoritma Semut. Ant System, diperkenalkan oleh Colorni, Dorigo dan Maniezzo. Algoritma Semut terinspirasi dari observasi terhadap koloni semut. Cabang-cabang jalan terbentuk jika semut bergerak menuju suatu tempat. Semut harus memilih satu dari dua jalan yang terbentuk. Dari oservasi menunjukkan bahwa setelah beberapa menit, sebagian besar semut menggunakan jalan terpendek. Semut-semut tersebut dapat memilih jalan terpendek karena memperoleh informasi dari pheromone, suatu substansi kimia yang dimiliki semut ketika semut berjalan.

Berdasarkan latar belakang masalah tersebut, maka pada makalah ini akan dibahas mengenai penerapan Algoritma Semut atau ant systemyang diharapkan dapat memberikan solusi optimal dan keuntungan yang maksimaluntuk permasalahan penentuan komposisi jumlah tipe rumah yang akan dibangun di dalam suatu lokasi perumahan.Rumusan Masalah

Seringkali penyelesaian masalah optimisasi masih menggunakan metode konvensional bahkan menggunakan perhitungan manual.Pemanfaatan metode heuristik seperti algoritma semut masih sangat jarang digunakan, Sehingga dapat dirumuskan sebuah masalah yaitu dengan pemanfaatan Ant Systemdiharapkan dapat memperoleh optimisasi penggunaan lahan dalam membangun sebuah perumahan.

Batasan Masalah

Pada dasarnya untuk menyelesaikan masalah Optimisasi lahan dengan variabel yang tidak dibatasi, memungkinkan masalah ini tidak dapat menghasilkan solusi yang optimal. Sehinggamasalah yang dibahas perludibatasi hanya pada:1. Tipe-tipe rumah yang akan dibangun pada lahan

perumahan ini adalah tipe A (60/120) per unit, tipe B (45/100), dan rumah tipeC(36/80) dengan.

2. Luas Lahan yang akan dikembangkan untuk membangun perumahan adalah30.000 m2, dengan Luas infrastruktur 9.000 m2. Dengan demikian luas lahan yang digunakan untuk mendirikan ketiga tipe rumah tersebut maksimum 21.000 m2.

3. Batasan biaya produksi untuk pembuatan ke tiga tipe rumah ini adalah 30 milyar rupiah dan direncanakan dapat selesai dalam jangka waktu 160 minggu

4. Berdasarkan permintaan pasar, perbandingan tipe rumah yang diminati adalah tipe A berbanding tipe B berbanding tipe Cyaitu 3 berbanding 2 berbanding 6.

Tujuan Penelitian

Penelitian ini bertujuan untuk menentukan jumlah komposisi tipe rumah yang akan dibangun atau dikembangkan sehinga memenuhi aspek pasar serta mendapatkan profit yang maksimaldengan menggunakan algoritma semut atau Ant System.

Manfaat Penelitian

Manfaat yang dapat diambil dari penelitian adalah:1. Menawarkan penyelesaian yang lebih optimal dalam

menentukan jenis tipe rumah yang akan dibangun dalam sebuah lahan perumahan

2. Dapat diaplikasikan menjadi sebuah perangkat lunak penentuan optimisasi lahan perumahan.

Dasar Teori

Optimasi

Optimisasiadalah suatu proses untuk mencapai hasil yang optimal(nilai efektif yang dapat dicapai). Dalam disiplin matematika optimisasi merujuk pada studi permasalahan yang mencoba untuk mencari nilai minimal atau maksimal dari suatu fungsi riil. Untuk dapat mencapai nilai optimal baik minimal atau maksimal tersebut, secara sistematis dilakukan pemilihan nilai variabel integer atau riil yang akan memberikan solusioptimal (Wardy, I.S, Jurnal Prodi TI ITB, 2007).

Nilai optimal adalah nilai yang didapat denganmelalui suatu proses dan dianggap menjadi suatu solusi jawaban yang paling baik dari semua solusi yang ada.

Terdapat beberapa cara yang dapat dilakukan untuk mencari nilai optimal dantara laindengan cara konvensional, dan Metode heuristik: Konvensional, mencobasemua

kemungkinan yang ada danmencatat nilai yang didapat cara inidinilai kurang efektif, karena optimasi akanberjalan secara lambat.

Metode heuristic,merupakan sebuah metude yang menggunakan suatu formulasi rumus atau gambar sehingga nilai optimal dapat diperkirakan dengan cepat dan tepat. Salah satu contoh pemanfaatan metode heuristicadalah dengan menggunakan algoritma Ant System.

Pengantar Algoritma Semut

Algoritma semut adalah sebuah algoritma yang diadopsi dari perilaku koloni semut atau ant colony.Semut terkenal dengan koloni serta sarang-sarangnya yang teratur dan bisa terdiri dari ribuan semut per koloninya. Koloni-

Page 43: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

43

koloniini membentuk sebuah kesatuan sehingga sering disebut sebagai organisme super

Ketika semut hidup sebagai koloni, kebiasaan yang kompleks tercipta dari perilaku individu yang sederhana, yaitu kemampuannyayang luar biasa untuk menemukan jalur terpendek di antara dua tempat.Semut secara alami mampu menemukan jarak atau rute terpendek dari sarangnya menuju sumber makanan.

Untuk memberikan ilustrasi bagaimana perilaku semut untuk selalu menemukan jalurterpendek, dapat dilihat pada gambar berikut ini.

Gambar 1. Ilustrasi Semut menemukan jalur terpendek

Pada gambar bagian a menunjukkan iring-iringan semut dari sumber makanan balik ke sarang. Kemudian jalur iring-iringan semut tersebut terputus (Gambar b). Terdapat sebuah benda yang menghalangi iring-iringan semut. Semut-semut yang berada sebelum jalur yang terputus itu lalu berusaha mencari jalan lain untuk mencapai kelompok semut yang berada di depannya, sebagaimana terlihat dalam Gambar c. Setelah beberapa saat, para semut itu berhasil menemukan jalan terpendek (Gambar d). Bukan tidak mungkin, sang semut berusaha mendaki benda yang menghalangi jalurnya, bila itu memungkinkan.

Dengan alasan inilah kemudian dikembangkan sebuah algoritma yang bertujuan untuk menyelesaikan masalah optimasi di mana sarang semut dianalogikan sebagai titik awal dan sumber makanan sebagai titik tujuan.Algoritma ini dinilai cukup efektif dan hasil perhitungannyacukup akurat untuk menentukan jalur terpendek.Meski begitu kelemahannya juga ada, yaitu makin banyak data yang akan diolah, maka tingkat akurasinya pun akan semakin menurun.

Ant Sytem (AS)

Algoritma Ant System (AS) adalah algoritma ACO pertama yang dirumuskan dan diuji untuk menyelesaikan kasus TSP (Traceling Salesman Problem) (Dorigo, M., Maniezzo, V., dan Colorni, A., 1996). Algoritma ini tersusun atas sejumlah m semut yang bekerjasama dan berkomunikasi secara tidak langsung melalui komunikasi Pheromone.

Untuk menyelesaikan masalah TSP menggunakan AntSystem, graph G dihuni oleh sejumlah m Ant.dimana

= ∑ ( )…………… (1)

Dan bi(t), adalah banyaknya semut pada kota i, dalam waktu jSetiap semut memiliki karakteristik sebagai berikut: Ketika berangkat dari kota i ke kota j, semut selalu

meletakkan substansi, berupa jejak pada edge (i,j)

Semut akan memilih kota yang di tuju dengan probabilitas yang menrupakan fungsi jarak masing-masing kota dan jumlah jejak yang menghubungkan masing-masig edge.

Struktur data, yang biasa disebut sebagai tabu list, dikaitkan atau dihubungkan oleh masing-masing semut.Digunakan untuk menyimpan kota yang telah dikunjungi oleh semut dan melarang semut untuk mengunjungi kembali kota yang telah di singgahi. Vektor yang berisi tabu list k-th ant (kota yang telah dikunjungi oleh semut) disebut tabuk.dan tabuk(s) adalah elemen dari s-th (indeks urutan kunjungan) dari tabu list k-th ant.

Harga intensitas jejak kaki antτij pada edge (i,j), pada waktu t. setelah n itelasi dari algoritma, intensitas jejak kaki menjadi:

ij(t+n)= ρ. τij(t)+ Δτij (t,t+n)………………… (2)

Dimana adalah koofisien (1- ) merupakan penguapan jejak antara waktu t dengan waktu t+n dan

∆ ij(t,t+n)= ∑ ∆ ijk(t,t+n)………………… (3)

Dimana ∆ ijk adalah jumlah persatuan panjang

jejak substansi (pheronome pada semut yang nyata) diletakkan pada edge (i,j) antara waktu t dan t+n oleh ant k.Transisi probabilitas antar kota i ke kota j untuk k-th Ant

Dimana diperbolehkan = {j tidak berada pada tabuk} dan adalah visibilitas kota j dari kota i, yang nilaidnya hanya 1/dij. Nilai

adalah parameter yang mengontrol efek dari jejak dan visibilitas pada saat transisi. Pada dasarnya, dengan memanipulasi nilai , salah satunya dapat mengubah transisi probabilitas dari heurystic gready yang nilai visibilitasnya pada jejak ( ≫ ) kedalam salah satu yang digunakan hanya pada proses autocatalitic untuk pengambilan keputusan ( ≫ ). Hasil terbaik dapat didapatkan jika

Page 44: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

44

kedua nilai berada pada kisaran range yang sama. [3,6].

Hasil dan pembahasan

Desain dari penelitian ini terbagi atas beberapa tahapan pengerjaan yaitu memformulasikan masalah yang ada dengan menggunakan algoritma Ant system, kemudian mengujicobakan data-data sampel yang telah disiapkan ke dalam formulasi rumus dari algoritma semut dengan memperhatikan batasan-batasan masalah yang ada.

Analisis dan uji coba penentuan jumlah tipe rumah

Pada dasarnya optimasi permasalahan type perumahan merupakan pencarian formulasi jumlah type rumah yang akan dibangundalam suatu lahan perumahan sehingga memperoleh solusi optimum dan dengan keuntungan yang maksimal. Dengan mengetahui konsep Ant System, untuk selanjutnya dapat diterapkan pada masalah optimasi tipe rumah tersebut.

Dalam menyelesaikan masalah ini maka langkah yang harus dilakukan adalah menguraikan data-data yang akan digunakan dalam uji coba penentuan jumlah tipe rumah menggunakan Ant System adalah sebagai berikut:No Uraian Type A Type B Type C1 Luas bangunan (m2) 60 45 362 Luas tanah (m2) 120 100 803 Harga produksi (Rp) 200.194.000 161.028.000 134.338.0004 Keuntungan (Rp) 92.808.000 76.975.000 63.774.000

Batasan:a. Formulasi Jumlah tipe rumah

Pada batasan masalah telah ditentukan, luas lahan yang akan dikembangkan adalah sebesar 70% dan sisa lahan 30% digunakan untuk membangun infrastruktur. Pada percobaan perhitungan kali ini luas lahan keseluruhanadalah30.000 m2, dengan Luas infrastruktur 9.000m2.Dengan demikian luas lahan yang digunakan untuk mendirikan ketiga tipe rumah tersebut maksimum 21.000 m2.

Pada penjabaran teori Ant System graph G berisi sekumpulan m ant yang di formulasikan pada persamaan satu:

= ( )Dimanabi(t), adalah banyaknya semut pada kota i, dalam waktu j.Untuk masalah penentuan tipe perumahan,maka bi dianggap sebagai luas tanah, sedangkan m adalah maksimum luas

lahan yang dugunakan untuk membangun ke tiga tipe rumah, formulasi dari batasan luas lahan, yaitu:120 b1 +100 b2 + 80 b3≤ 21000Dimana:b1 = rumah tipe Ab2 = rumah tipe Bb3 = rumah tipe C

b. Formulasi Biaya Produksi.

Dana yang tersedia untuk pembuatanbrumah dengan 3 macam tipe maksimum30 milyar rupiah.Formulasi fungsi kendala dengan batasanbiaya produksi/pelaksanaanyaitu:194 b1 + 155 b2 + 128 b3 ≤30000

c. Formulasi Waktu Pelaksanaan

Untuk membangun semua tipe rumahdirencanakan selesai dalam waktu 160 minggu.Formulasi fungsi kendala dengan batasanwaktu yaitu :b1 + b2 + b3≤160

d. Formulasi Permintaan Pasar.

Berdasarkan proporsi tipe penjualan(aspek pasar) proporsi tipe rumah diminatiadalah tipe A berbanding tipe Bdan berbanding tipe C adalah 3 berbanding2 berbanding 6.Formulasi permintaan pasar adalah:b1≤1,5b2 dan 3b2≤b3 atau dapat lebih disederhanakan,b2=b1/1.5 dan b3= 2b1

Tujuan:Untuk menyusun formulasi tujuan yang dimaksimalkan adalah keuntungannya. Keuntungan masing-masing tipe rumah dapat dilihat pada tabel 2. Formulasi tujuan (X) dengan memaksimalkan keuntungan adalah:Maksimumkan X= 96 b1+ 76 b2+ 63 b3

Keterangan:92 = laba tipe rumah A (juta rupiah)76 = laba tipe rumah B (juta rupiah)62 = laba tipe rumah C (juta rupiah)X = Keuntungan yang diperoleh

Contoh perhitungan formulasi jumlah tipe rumah yang akan dibangun dengan mensubtitusikan nilai permintaan pasar yaitu b2=b1/1.5 dan b3= 2b1

120 b1 +100 b2 + 80 b3≤ 21000

120 b1+100 , + 80 (2b1) ≤ 21000

120 b1+100 , + 80 (2b1) ≤ 21000

100 , +200(2b1) ≤ 21000

≤ 21000

b1≤60,576 setelah nilai b1didapat, maka nilai b1 disubtitusikan kedalam formulasi permintaan pasar yaitu,b2=b1/1.5=40,384 dan b3=2b1=121,152. Nilai yang diperoleh jika

Page 45: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

45

dibulatkan menghasilkan b1=61 unit, b2= 40 unit dan b3= 121 unit. Contoh perhitungan perhitungan keuntungan yang

diperoleh

X = 92 b1 +76 b2 +62 b3

= 92(60,576)+76(40,384)+62(2*60,576)

=16274,752

Tabel 2.Tabel hasil perhitungan masing-masing Formulasi

Formulasi b1 b2 b3 NkJumlah tipe rumah

60,58

40,38

121,15

20999,6

Biaya produksi52,1

434,7

6104,2

9 18076Waktu pelaksanaan

43,64

29,09 87,27

15127,40

Dari hasil analisis dengan menggunakan Algoritma Ant Systemdiperoleh jumlah rumah tipe A sebanyak 52,14 unit, rumah tipe B sebanyak 34,76 unit dan rumah tipe C sebanyak 104,29 unit, dengan luas lahan yang digunakan sebesar 18076 m2.Tabel 3. Tabel Alternatif pembulatan jumlah jenis tipe rumah dan perolehan laba atau keuntungan

AternatifJumlah luas

lahan

Biaya (juta

rupiah)

Laba (juta

rupiah)tipe A tipe B tipe C

1 52 35 104 18060 29971 1148904

2 52 35 103 17980 29837 1143788

3 52 34 104 17960 29810 1142512

4 52 34 103 17880 29676 1137396

5 53 35 104 18180 30171 1156464

6 53 35 103 18100 30037 1151348

7 53 34 104 18080 30010 1150072

8 53 34 103 18000 29876 1144956

Pembulatan tipe rumah dilakukan dengan cara trial and error atau coba-coba dengan berbagai alterfnatif seperti yang ditunjukkan pada tabel 3 di atas. Alternatif yang memiliki

keuntungan maksimal tanpa melebihi batasan-batasan yang telah ditentukan adalah: rumah tipe A sebanyak 52 unit , rumah tipe B sebanyak 35 unit, dan rumah tipe C sebanyak 104 unit dengan laba Rp.1.148.904.000.000

Penutup

Kesimpulan

Setelah melakukan perancangan Optimalisasi pemetaan type rumah dengan menggunakan Algoritma Ant system, maka dari hasil pengujian dapat ditarik kesimpulan:1. Penggunaan algoritma ant system untuk masalah

menentukan formulasi jumlah tipe rumah yang akan dibangun dengan tetap mendapatkan profit yang maksimal dapat dilakukan. Hasil yang diperloleh dari penelitian ini adalah rumah tipe A sebanyak 52 unit , rumah tipe B sebanyak 35 unit, dan rumah tipe C sebanyak 104 unit dengan laba Rp.1.148.904.000.000.

2. Dari hasil pengujian diperoleh bahwa penggunaan pengendali jejak pheronome dianggap tidak berpengaruh pada masalah penentuan formulasi tipe rumah ini.

Saran

Untuk perkembangan lebih lanjut, penggunaan algoritma Ant system untuk untuk masalah optimalisasi jumlah tipe rumah yang akan dibangun pada suatu lahan perumahan perlu dipertimbangkan penggunaan pengendali jejakpheronome.

Daftar Pustaka

[1] Eka Mindaputra. 2009. Penggunaan algoritma ant colonysystem dalam traveling salesman problem (tsp) pada pt.Eka jaya motor. Skripsi. Universitas Diponegoro Semarang

[2] Jake Krohn,Ant Algorithms and The Swarm Intelegent Model of Problem Solving, University of Minnesota, Morris.

[3] Refianti, Rina dan Mutiara, A.Benny, Solusi optimal travelling salesman problem dengan Ant Colony System (ACS), Jurusan Teknik Informatika, Universitas Gunadarma

.

Page 46: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

46

Optimasi Pemilihan Rute Terpendek Jalur Angkutan Umum Kota Makassar Dengan Algoritma

Ant Colony OptimizationAgussalim (P2700210005)

Politeknik Internasional Indonesia MakassarJl. Cendrawasih Makassar

[email protected]

Hasyrif SY (P2700210047)STIMIK Dipanegara Makassar

Jl. Perintis Kemerdekaan, [email protected]

ABSTRAKSI

Makalah ini membahas perancangan system yang dapat digunakan untuk mencari rute terpendek dengan menerapkan algoritma ant colony optimization. Algoritma ini melakukan pencarian rute terpendek angkutan umum yang diaplikasikan di kota Makassar. System yang dibuat bermanfaat untuk memberikan informasi rute angkutan kota terpendek, berupa jalan-jalan yang dilalui, panjang perjalanan dan kode angkutan umum yang digunakan.

Sistem ini dapat dikembangkan lagi dengan menambahkan beberapa parameter kemacetan lalu-lintas, kerusakan jalan, atau parameter keamanan jalan.

KeywordsAnt colony optimization, rute terpendek, angkutan umum, makassar

PENDAHULUANAngkutan kota terdiri atas titik keberangkatan dan tiitik tujuan yang berbeda-beda. Trayek tersebut diinisialisasi secara unik dengan pemberian label trayek pada mobil angkutan. Di kota Makassar setiap angkutan diberi label dengan huruf kapital. Banyaknya jalan dan angkutan umum membuat para pendatang yang belum mengetahui tata jalan dan jenis angkutan umum, kesulitan atau bingung untuk mencapai lokasi tertentu. Oleh karena itu kebutuhan akan informasi sangat diperlukan untuk dapat menyelesaikan masalah ini. Oleh karena itu, dibutuhkan solusi yang dapat mengatasi penentuan angkutan kota mana yang tepat dan sesuai trayek tujuan yang dikehendaki serta mampu menempuh titik tujuan tersebut dengan rute terpendek.

Pencarian rute terpendek merupakan suatu solusi yang dapat menentukan jalan terpendek dari trayek angkutan kota. Dengan pencarian rute terpendek menggunakan Algoritma Ant Colony Optimization ini dapat ditentukan jalur angkutan yang tepat.

Rumusan MasalahBerdasarkan latar belakang permasalahan, permasalahan dalam penelitian ini adalah “bagaimana membuat Sistem Optimasi Rute Terpendek Jalur Angkutan Umum Kota Makassar Dengan Algoritma Ant Colony Optimization”.Tujuan PenelitianBerdasarkan perumusan masalah di atas, maka tujuan penelitian ini adalah : membuat System Optimasi Rute Terpendek Jalur Angkutan Umum Kota Makassar Dengan Algoritma Ant Colony OptimizationBatasan MasalahRuang lingkup permasalahan dalam pembuatan system ini adalah:1. Menggunakan Algortima Ant Colny Optimization2. Diimplementasikan pada kawasan kota Makassar3. Tidak memperhitungkan tarif angkutan, waktu perjalanan

dan kondisi fisik jalan dianggap normal4. Diasumsikan tidak ada perubahan nama jalan dan trayek

angkutan umum.5. Keluaran yang dihasilkan berupa solusi jalan terpendek

dari trayek angkutan kota terhadap titik tujuan dan rekomendasi angkutan kota yang akan digunakan.

6. Contoh kasus hanya diimplentasikan pada 5 kode angkutan umum yaitu : A, B, E, F, J.

Algoritma SemutPada tahun 1996, dunia ilmu pengetahuan pun ikut belajar dari semut dengan diperkenalkannya algoritma semut, atau Ant Colony Optimization,sebagai sebuah simulasi multi agen yang menggunakan metafora alami semut untuk menyelesaika nproblem ruang fisik. Algoritma ini diambil dengan analogi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan.Pengantar Optimasi Koloni Semut

Ant Colony Optimization (ACO) diadopsi dari perilaku koloni semut yang dikenal sebagai sistem semut (Dorigo, et.al, 1996). Semut mampu mengindera lingkungannya yang kompleks untuk mencari makanan dan kemudian kembali ke sarangnya dengan meninggalkan zat Pheromone pada rute-rute yang mereka lalui.

Pheromone adalah zat kimia yang berasal dari kelenjar endokrin dan digunakan oleh

Page 47: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

47

makhluk hidup untuk mengenali sesama jenis, individu lain, kelompok, dan untuk membantu proses reproduksi.

Gambar 1. Perjalanan semut dari sarang ke sumber makanan.

Proses peninggalan Pheromone ini dikenal sebagai stigmery, yaitu sebuah proses memodifikasi lingkungan yang tidak hanya bertujuan untuk mengingat jalan pulang ke sarang, tetapi juga memungkinkan para semut berkomunikasi dengan koloninya. Seiring waktu, bagaimanapun juga jejak Pheromone akan menguap dan akan mengurangi kekuatan daya tariknya. Lebih cepat setiap semut pulang pergi melalui rute tersebut, maka Pheromone yang menguap lebih sedikit. Begitu pula sebaliknya jika semut lebih lama pulang pergi melalui rute tersebut, maka Pheromone yang menguap lebih banyak.

Ant System (AS) Algoritma Ant System (AS) adalah algoritma ACO pertama yang dirumuskan dan diuji untuk menyelesaikan kasus TSP (Dorigo, M., Maniezzo, V., dan Colorni, A., 1996). Algoritma ini tersusun atas sejumlah m semut yang bekerjasama dan berkomunikasi secara tidak langsung melalui komunikasi Pheromone. Secara informal, AS bekerja sebagai berikut : Setiap semut memulai tournya melalui sebuah titik yang dipilih secara acak (setiap semut memiliki titik awal yang berbeda). Secara berulang kali, satu-persatu titik yang ada dikunjungi oleh semut dengan tujuan untuk menghasilkan sebuah tour. Pemilihan titik-titik yang akan dilaluinya didasarkan pada suatu fungsi probabilitas, dinamai aturan transisi status (state transition rule), dengan mempertimbangkan visibility (invers dari jarak) titik tersebut dan jumlah Pheromoneyang terdapat pada ruas yang menghubungkan titik tersebut. Semut lebih suka untuk bergerak menuju ke titik-titik yang dihubungkan dengan ruas yang pendek dan memiliki tingkat Pheromone yang tinggi (Dorigo, M., dan Gambardella, L. M.,

1997). Setiap semut memiliki sebuah memori, dinamai tabulist, yang berisi semua titik yang telah dikunjunginya pada setiap tour. Tabulist ini mencegah semut untuk mengunjungi titik-titik yang sebelumnya telah dikunjungi selama tour tersebut berlangsung, yang membuat solusinya mendekati optimal.

Setelah semua semut menyelesaikan tour mereka dan tabulist mereka menjadi penuh, sebuah aturan pembaruan Pheromone global(global Pheromone updating rule) diterapkan pada setiap semut. Penguapan Pheromone pada semua ruas dilakukan, kemudian setiap semut menghitung panjang tour yang telah mereka lakukan lalu meninggalkan sejumlah Pheromone pada edge-edge yang merupakan bagian dari tour mereka yang sebanding dengan kualitas dari solusi yang mereka hasilkan. Semakin pendek sebuah tour yang dihasilkan oleh setiap semut, jumlah Pheromone yang ditinggalkan pada edge-edge yang dilaluinya pun semakin besar. Hal ini menyebabkan edge-edge yang diberi Pheromonelebih banyak akan lebih diminati pada tour-tour selanjutnya, dan sebaliknya edge-edge yang tidak diberi Pheromone menjadi kurang diminati. Dan juga, rute terpendek yang ditemukan oleh semut disimpan dan semua tabulist yang ada dikosongkan kembali. Aturan transisi status yang digunakan oleh AS dinamai random-proportional rule (Dorigo, M., Maniezzo, V., dan Colorni, A., 1996), yang ditunjukkan oleh persamaan (2.1). merupakan probabilitas dari semut k pada titik r yang memilih untuk menuju ke titik s.=[ ] .[ ]

∑ [ ] .[ ]0

� ∈.....................

.........(2.1)Dimana adalah jumlah Pheromone yang terdapat pada edge antara titik r dan titik s, ( ) = adalah visibility (invers dari jarak

) dimana = ( − ) + ( − ) (jika hanya diketahui koordinat titiknya saja). α adalah sebuah parameter yang mengontrol bobot (weight) relatif dari Pheromone dan β adalah parameter pengendali jarak (α > 0 dan β > 0 ).

adalah himpunan titik yang akan dikunjungi oleh semut k yang sedang berada pada titik r (untuk membuat solusinya mendekati optimal), dan pada persamaan (2.1) kita mengalikan Pheromone pada edge (r,s) dengan nilai visibility yang sesuai ( ). Dengan cara ini kita

Page 48: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

48

memilih edge yang lebih pendek dan memiliki jumlah Pheromone yang lebih besar.Update Pheromone TrailSetelah semua semut menyelesaikan tour-nya masing – masing maka Pheromone di-update. Dalam Ant System, aturan pembaruan Pheromone global (Dorigo, M., Maniezzo, V., dan Colorni, A., 1996) diimplementasikan menurut persamaan 2.2 sebagai berikut : ← (1 − ). + ∑ Δ…………………….……...(2.2)

Δ = ∗0 � ( , ) ∈ ℎ ….……….(2,3)

Dimana Ck , panjang tour yang dilalui oleh semut k. 0 < ρ ≤ 1 adalah sebuah parameter tingkat evaporasi Pheromone, dan m adalah jumlah dari semut.Untuk memastikan bahwa semut mengunjungi n titik yang berbeda, diberikan tabu list pada masing – masing semut, yaitu sebuah struktur data yang menyimpan titik – titik yang telah dikunjungi semut dan melarang semut mengunjungi kembali titik – titik tersebut sebelum mereka menyelesaikan sebuah tour. Ketika sebuah tour selesai, tabu list digunakan untuk menghitung solusi yang ditemukan semut pada tour tersebut. Tabulist kemudian dikosongkan dan semut kembali bebas memilih titik tujuannya pada tour berikutnya. Tabuk adalah tabu list untuk semut k. Tabuk (r) adalah elemen ke-r dari Tabuk, yaitu titik ke-r yang dikunjungi semut k pada suatu tour.

Jalur Angkutan Kota

Gambar 2.1 Sebaran jalan yang dilalui trayek angkutan Umum

Page 49: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

49

Tabel Trayek Angkutan Umum Kota Makassar

Angkutan kota

TrayekBerangkat Kembali

A BTN Minasa Upa - Syech Yusuf – Terminal Tamalate - Sultan Alauddin - Andi Tonro -Kumala - Ratulangi -Jendral Sudriman (Karebosi Timur) - HOS Cokroaminoto (Sentral) - Wahidin Sudirohusodo –Sangir - Pasar Butung

Pasar Butung - Sulawesi -Achmad Yani (Balaikota) -Jendral Sudirman -Ratulangi (MaRI) - Landak - Veteran - Sultan Alauddin – Terminal Tamalate - Syech Yusuf -BTN Minasa Upa

B Terminal Tamalate -Malengkeri - Daeng Tata -Dangko - Cendrawasih Sultan Hasanuddin -Jendral Achmad Yani (Balaikota) - Wahidin Sudirohusodo – Sangir-Pasar Butung

Pasar Butung - Sulawesi -Achmad Yani – Sultan Hasanuddin - Cendrawasih - Dangko -Daeng Tata - Malengkeri -Terminal Tamalate

E Terminal Panakkukang -Toddoppuli - - Emmy Saelan - Mapala - AP. Pettarani Bawakaraeng -Latimojong - Andalas -Laiya - KH.Agus Salim -Timur Makassar Mall

KH. Agus Salim -Pangeran Diponegoro -Bandang - Masjid Raya -Urip Sumoharjo -AP. Pettarani - Mapala - Emmy Saelan - Todoppuli -Terminal Panakkukang

F Terminal Tamalate -Mallengkeri - Daeng Tata - Kumala - Veteran -Bandang - Laiya - KH. Agus Salim - Timur Makassar Mall

KH Agus Salim - Pangeran Diponegoro - Andalas -laiya - Bandung - Veteran -Sultan Alauddin - Andi Tonro - Kumala - Daeng Tata - Mallengkeri -Terminal Tamalate

J Terminal Panakkukang -Toddopuli Raya -Tamalate - Emmy Saelan -Sultan Alauddin - Andi Tonro - Kumala -Ratulangi - Jenderal Sudirman - HOS Cokroaminoto

HOS Cokroaminoto -Ahmad Yani - Jenderal Sudirman - DR. Sam Ratulangi - Landak -Veteran - Sultan Alaudin -Emmy Saelan - Tamalate -Toddopuli Raya - Terminal Panakkukang

Penerapan Algoritma Ant Colony Optimization

Pencarian rute terpendek ini didasarkan pada jarak tempuh untuk menuju lokasi tersebut berdasarkan data tabel trayek angkutan umum. Berikut dijelaskan algoritma Ant Colony Optimization:

3.1.Proses membangun rute perjalananProses ini merupakan gambaran secara garis besar untuk mencari rute terpendek dan lokasi terdekat dari tempat asal ke tempat tujuan

Gambar 3.1 Flowchart membangun rute perjalanan

3.2. Proses Simulate antProses ini menunjukkan bagaimana artificial ant membangun rute perjalannya untuk menemukan tujuan yang ditentukan SECTIONS

Gambar 3.2 Flowchart simulate ant

3.3. Proses moving to next roadProses ini menunjukkan bagaimana setiap artificial ant melakukan perhitungan probabilitas dan explorasi memori untuk memilih jalur yang harus ditempuh dalam membangun perjalanannya.

Page 50: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

50

Gambar 3.3 Flowchart moving to next road

3.4. Proses Back TrackProses ini dgunakan untuk menangani masalah ketika suatu semut menemui jalan buntu yaitu dengan memindahkan semut ke langkah sebelumnya dan memilih jalur lain yang belum pernah dilalui.

Gambar 3.4 Flowchart moving to next road

3.5. Proses Update PheromoneProses ini menggambarkan bagaimana artificial ant menandai rute yang telah dilewati dengan menambahkan sejumlah pheromone ke jalur yang hanya dilewati ketika membangun perjalanannya.

Gambar 3.5 Flowchart update pheromone

Analisa dan Uji coba pencarian jalur terpendekAlgoritma ACO yang digunakan dalam pencarian rute terpendek adalah pencarian rute terpendek adalah Ant System (AS). AS adalah salah satu dari kumpulan algortima ACO yang digunakan untuk memecahkan masalah optimasi kombinasi khususnya pada kasus pencarian rute terdekat. Prinsip kerja dari algoritma ini meniru prinsip kerja semut yang sesungguhnya. Algoritma ini berusaha untuk mendapatkan hasil yang paling optimal.

Pada aplikasi pencarian rute angkutan yang akan dibangun ini, input data awal berupa nama jalan dimana penumpang akan berangkat dan nama jalan dimana penumpang akan turun. Misalkan berangkat dari jalan mallengkeri dan tujuannya jalan AP. Pettarani, Setelah kedua data jalan tersebut dikirim, maka aplikasi ini akan merespon dan mengolah data tersebut untuk memerintahkan system mencari rute angkutan yang melewati kedua jalan tersebut. Kemudian system memberikan hasil berupa informasi rute angkutan kota, rekomendasi angkutan kota yang bias digunakan oleh penumpang, beserta rata-rata jarak rute yang ditempuh.

Perhitungan Manual Pencarian Rute terpendekBerikut contoh perhitungan secara manual pencarian rute terpendek menggunakan Algoritma Ant Colony Optimization. Perhitungan ini mengambil contoh ruas jalan yang ada di kota Makassar. Misalnya jalan yang dipilih adalah jalan Dangko menuju Jalan Syekh Yusuf.

Tabel 4.1 Tabel Jarak jalan angkutan umum

Page 51: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

ID Jalan Jarak2 AP. Pettarani 39203 Veteran 35604 Cendrawasih 30005 Sultan Alauddin 32006 G. Bawakaraeng 24407 Ratulangi 23209 Toddopuli 190010 BTN Minasa Upa 192012 Kumala 152013 Masjid Raya 152014 Mallengkeri 140016 Dangko 128017 Dg. Tata 120022 Sultan Hasanuddin 108024 M. Emmy Saelan 100026 Jendral Sudirman 92027 Diponegoro 88028 Andi Tonro 88032 Ahmad Yani 84034 Cokroaminoto 80036 Mappala 80039 Wahidin 67045 Landak Baru 52047 Syekh Yusuf 1200

Sketsa berikut akan menggambarkan ruas jalan yang ada di sekitar jalan keberangkatan dan jalan tujuan

Gambar 4.1.1 Sketsa contoh kasus

Dari sketsa dan table panjang di atas, selanjutnya akan dilakukan perhitungan secara manual. Untuk data panjang jalan dibagi 100 untuk memudahkan perhitungan. Perhitungan ini menggunakan 1 semut dan 1 iterasi.

( ) = ( )∑ ( )∈

Dimana

( ) = ( )∑ ( )

Untuk mencari rute terpendek dari jalan Dangko

= = . .. .= 1

= 1Pada titik B terdapat percabangan yaitu percabangan dengan titik G (menuju Jl. Kumala) dan titik C (menuju jl. Dg. Tata), sehingga dilakukan pencarian PBH dan PBC yaitu sebagai berikut := = .

== 1. 115.2

1. 112.8 + 1. 115.2 + 1. 112= 0.6580.0781 + 0.658 + 0.0833= 0.6580.819 = 0.803

= 1. 1121. 112.8 + 1. 115.2 + 1. 112

= 0.8330.0781 + 0.658 + 0.0833 = 0.8330.819 = 1.017Karena sudah dilewati dan = maka

bernilai 0, jadi

= 0.8030 + 0.803 + 1.017 = 0.441= 1.0170 + 0.803 + 1.017 = 0.559

Perbandingan probabilitas dan , dipilih karena probabilitas yang hampir mendekati

1 mempunyai kemungkinan besar untuk dilewati semut. merupakan probabilitas kemungkinan semut melewati jl. Dg. Tata sebesar 0.559.Pada titik C yang terhubung dengan titik D (Jl. Mallengkeri) tanpa ada percabangan akan langsung dilewati oleh semut dimana perhitungan probabilitasnya adalah sebagai berikut: = =

= 1. 1141.017 + 1. 114

=1141.088 = 0.065

Karena , sudah dilewati dan =maka bernilai 0, jadi= = .

. = 1

Page 52: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Setelah dari titik D tidak terdapat percabangan lagi artinya titik D langsung terhubung dengan titik E (Sultan Alauddin B), sehingga perhitungan probabilitasnya adalah sebagai berikut:= =

= 1. 1120.065 + 1. 112

=1120.148 = 0.563

Karena , sudah dilewati dan =maka bernilai 0, jadi= = .

. = 1Karena =1 artinya secara otomatis dilewati semutDari percobaan perhitungan secara manual di atas didapatkan beberapa probabilitas yang menunjukkan perjalanan semut dari titik awal keberangkatan hingga ke titik tujuan. Probabilitas tersebut antara lain sebagai berikut:1. = 12. = = .

. . = 0.5593. = = .

. = 14. = = .

. = 1Dimana : AB adalah Jl. DangkoBC adalah Jl. Dg. TataCD adalah Jl. MallengkeriDE adalah Jl. Syekh YusufRute terpendek yang dihasilkan adalah :Jl. Dangko – Jl. Dg. Tata – Jl. Mallengkeri – Jl. Syekh YusufJarak yang ditempuh : 1280 + 1200 + 1400 + 1200 = 5080 MeterKode angkutan Umum menurut jalur yg ditemukan (LYN) =

Tabel 4.1 Tabel solusi angkutanJalur Lyn

Jl. Dangko – Jl. Dg. Tata – Jl. Mallengkeri

B

Jl. Mallengkeri – Jl. Syekh Yusuf A

Setelah jalur dan kode angkutan didapatkan, maka akan di cek keseusaian jalur dengan daftar trayek yang ada padabab sebelumnya sebagai berikut :

Tabel 4.2 Tabel Trayek angkutan A dan B

Angkut Trayek

Terminal Tamalate -Sultan Alauddin - Andi Tonro -Kumala -Ratulangi -Jendral Sudriman (Karebosi Timur) - HOS Cokroaminoto (Sentral) - Wahidin Sudirohusodo –Sangir - Pasar Butung

Jendral Sudirman -Ratulangi (MaRI) -Landak - Veteran -Sultan Alauddin –Terminal Tamalate - Syech Yusuf - BTN Minasa Upa

B Terminal Tamalate -Malengkeri -Daeng Tata -Dangko -Cendrawasih Sultan Hasanuddin -Jendral Achmad Yani (Balaikota)- Wahidin Sudirohusodo –Sangir- Pasar Butung

Pasar Butung -Sulawesi - Achmad Yani – Sultan Hasanuddin - Cendrawasih -Dangko - Daeng Tata - Malengkeri - Terminal Tamalate

Tampilan Software a. Tampilan Masukan

Gambar 4.1 gambar tampilan masukan (input)b. Tampilan keluaran

Page 53: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

53

Gambar 4.1 gambar tampilan masukan (input)

Kesimpulan & SaranSetelah melakukan perancangan System Optimasi Rute Terpendek Jalur Angkutan Umum Kota Makassar Dengan Algoritma Ant Colony Optimization, maka kesimpulan yang dapat diambil adalah Aplikasi ini dapat memberikan informasi rute terpendek jalur angkutan umum kota Makassar dan akan menampilkan informasi-informasi jalan yang dilalui dengan jarak tempuh dan angkutan kota yang melewati jalur tersebut. Aplikasi ini dapat dikembangkan lagi dengan menambahkan beberapa parameter kemacetan lalu-lintas, kerusakan jalan, biaya dan parameter keamanan jalan.

Referensi

[8] Iing Mutakhiroh, Fajar Saptono, Nur Hasanah, Romi Wiryadinata .2007. Pemanfaatan metode heuristik dalam pencarian jalur Terpendek dengan algoritma semut dan algoritma genetika. Universitas Islam Indonesia.

[9] Agus Leksono. 2009. Algoritma Ant Colony Optimization(Aco) Untuk Menyelesaikan Traveling Salesman Problem (Tsp). Skripsi. Universitas Diponegoro Semarang

[10] Eka Mindaputra. 2009. Penggunaan algoritma ant colonysystem dalam traveling salesman problem (tsp) pada pt. Eka jaya motor. Skripsi. Universitas Diponegoro Semarang

Page 54: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

54

Descision Tree

Page 55: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

55

Penilaian Soft-skills Mahasiswa Menggunakan Decision TreeAndi Sitti Rasiah

P2700210012

SMK NEG. 1 PallanggaJl. Baso Dg Ngawing No. 127 Gowa

HP. 085242244217

[email protected]

Mohamad Ali WardanaP2700210062

STMIK LamappapoleonroJl. Satria Soppeng

HP. [email protected]

AbstrakMakalah ini membahas tentang studi dan implementasi penerapan Decision Tree (pohon keputusan) yang digunakan sebagai sebuah alat bantu / pendukung (support tool) dalam penilaian soft skills mahasiswa. Studi dari pohon keputusan yang dibahas dalam makalah ini adalah dari segi skema pohon keputusan, serta aplikasi pohon keputusan dalam penilaian soft skills mahasiswa. Decision Tree dibangun dengan menentukan node terpilih berdasarkan nilai entropy terkecil dari setiap atribut (kriteria). Dari data training dengan nilai entropy terkecil tersebut kemudian diuraikan lagi berdasarkan atribut yang ada pada data awal dan dihitung kembali nilai entropy terkecil. Nilai entropy terkecil tersebut akan menjadi leaf node pada node terpilih. Hasil prediksi pada data training diperoleh dari data leaf node.Berdasarkan data pada tabel hasil prediksi data training diperoleh Kesalahan (e) = 12,5% yaitu 1 dari 8 data.Kata kunci : Soft Skills, Decision Tree, Atribut, Entropy, leaf node1. PENDAHULUAN

1.1 Latar Belakang

Perkembangan ilmu pengetahuan, teknologi dan seni dewasa ini perlu diimbangi oleh sosok manusia yang memiliki keunggulan kompetitif dan keunggulan komparatif. Orang yang memiliki kualitas biasanya selalu meraih kemenangan dalam berbagai persaingan yang ada dalam kehidupan masyarakat saat ini.

Sementara itu di sektor industri profil lulusan yang dicari oleh perusahaan dewasa ini biasanya tidak hanya unggul pada prestasi akademik saja (Hard Skills), namun calon karyawan yang dicari perlu memiliki nilai tambah (value added). Sebagai ilustrasi, sebuah perusahaan yang berkembang pesat sedang merekrut lulusan baru dari berbagai perguruan tinggi. Syarat dasar bagi pendaftar fresh graduate dalah IPK minimal 3,00, dan lebih disukai adalah kandidat yang memiliki keterampilan-keterampilan tambahan. Nah, mayoritas pendaftar adalah para lulusan baru yang hanya mengandalkan IPK 3,00 atau bahkan lebih. Sementara, ada segelintir pendaftar yang memiliki value added berupa keterampilan menggunakan perangkat komputer, menguasai berbagai aplikasi, menguasai teknologi internet, memiliki pengalaman berorganisasi, pernah magang, menguasai beberapa bahasa asing, dan sebagainya. Kira-kira, kandidat mana yang punya kesempatan lebih besar untuk menang bersaing? Sukses di dalam sebuah pekerjaan tidak hanya bergantung kepada rasio dan logika individu tetapi juga kapasitas kemanusiannya. Kemampuan yang dimiliki manusia dapat sebagai Gunung Es (Ice Berg). Yang nampak di luar permukaan air ialah kemampuan Hard Skill/ Technical Skill, sedangkan kemampuan yang berada di bawah permukaan air dan memiliki porsi yang paling besar ialah kemampuan Soft Skill. Soft skill merupakan kemampuan yang tidak tampak dan seringkali berhubungan dengan emosi manusia.

Dalam tulisan ini akan disajikan implementasi Decision Tree (pohon keputusan) dalam menentukan Penilaian Soft-skillsMahasiswa. Melalui pohon ini strategi untuk menentukan penilaian soft-skills mahasiswa dapat dilakukan dengan baik sehingga dengan mudah dapat ditentukan potensi soft-skills dari mahasiswa. Pohon keputusan ini juga dapat digunakan untuk menganalisis potensi pengembangan soft-skills dari mahasiswa. Decision Tree dibangun dengan menggunakan algoritma C4.5 dengan menggunakan prinsip information gain, yaitu berapa banyak informasi yang benar yang dapat diperoleh dari dokumen pelatihan untuk suatu ciri tertentu. Dalam information gain ini dikenal adanya istilah entropy, yang merupakan derajat ketidakpastian dari suatu kondisi (Manning, 1999).

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, maka masalah yang akan dipecahkan dapat diuraikan sebagai berikut:

1. Bagaimana menentukan penilaian soft-skills mahasiswa dengan menggunakan Decision Tree.

2. Bagaimana membangun Decision Tree dengan menggunakan algoritma C4.5 dalam menentukan penilaian soft-skills mahasiswa.1.3 Tujuan Dan Manfaat

Penulisan makalah ini bertujuan untuk menentukan penilaian soft-skills mahasiswa dengan menggunakan Decision Tree dan membangun Decision Tree dengan menggunakan algoritma C4.5 dalam menentukan penilaian soft-skills mahasiswa.Manfaat dari penelitian ini pada hakekatnya untuk memberikan pandangan tentang penerapan Decision Tree (pohon keputusan) dalam penilaian soft-skills mahasiswa bagi para dosen yang terkait dengan pengembangan potensi mahasiswa ataupun pihak perusahaan dalam menilai calon karyawan (pelamar pekerjaan) sehingga dapat merekrut karyawan dengan tepat.

1.4 Batasan Masalah

Mengingat unsur soft-skills memiliki cakupan yang cukup kompleks, maka penulis membatasi ruang lingkup penulisan, yaitu unsur soft-skills hanya yang berkaitan dengan Kemampuan yang diperlukan dunia kerja menurut kepentingannya, dan Peringkat karakter pencari kerja yang dituntut dunia kerja (PDAT, 2007). Karena kedua hal tersebut sangat berkaitan dengan kualitas lulusan perguruan tinggi dalam hubungan dengan dunia kerja.

2. DASAR TEORI

Gambaran penggunaan Decision Tree dapat diimplementasikan dengan membuat aturan (rule) yang dapat digunakan untuk menentukan soft skills mahasiswa apakah potensi untuk diterima atau tidak disebuah perusahaan tertentu berdasarkan data Motivasi, Kerja Tim, Leadership, dan Kedisiplinan.

2.1 Soft Skills

Page 56: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

56

Soft Skills adalah seperangkat kemampuan yang mempengaruhi bagaimana kita berinteraksi dengan orang lain. Soft skills memuat komunikasi efektif, berpikir kreatif dan kritis, membangun tim, serta kemampuan lainnya yang terkait kapasitas kepribadian individu. Soft skills memiliki banyak manfaat, misalnya pengembangan karir serta etika profesional. Dari sisi organisasional, soft skills memberikan dampak terhadap kualitas manajemen secara total, efektivitas institusional dan sinergi inovasi. Esensi soft skills adalah kesempatan. Lulusan memerlukan soft skills untuk membuka dan memanfaatkan kesempatan.

Di sisi lain nilai-nilai dan moral dapat ditingkatkan dengan kegiatan berfokus pada peningkatan kesadaran diri. Soft Skills lebih didominasi oleh komponen kepribadian individu sehingga prosedur pengukurannya sedikit berbeda dengan pengukuran komponen abilitas individu. Oleh karena itu pengukuran soft skills akan mengarah pada karakteristik yang sifatnya internal dan manifest pada diri individu seperti dimensi afektif, motivasi, interes, atau sikap. Pengukuran kepribadian terbagi menjadi dua jenis yaitu pelaporan diri (self-report) dan proyeksi (projective).

Secara eksplisit di atas telah terlihat bahwa Soft Skills sangat diperlukan dalam pemanfaatannya di dalam perencanaan dan proses pencarian pekerjaan (wawancara oleh pemberi pekerjaan) dan kesuksesan meniti karir dalam pekerjaanya. Ini mengindikasikan bahwa Soft Skills menentukan kecepatan lulusan mendapatkan pekerjaan, selain didukung oleh hard skillnya.

2.2 Decision Tree

2.2.1 Konsep Data Dalam Decision Tree

Data dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis,

kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut.

Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan.

2.2.2 Proses Dalam Decision Tree

Mengubah bentuk data (tabel) menjadi model tree. Mengubah model tree menjadi rule Menyederhanakan Rule (Pruning)

2.2.3 Entropy

Entropy (S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample S.

S adalah ruang (data) sample yang digunakan untuk training. Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk

digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk menyatakan informasi secara optimal adalah –log2p bits untuk messages yang mempunyai probabilitas p. P+ adalah jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu. P+ adalah jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria tertentu. Besarnya Entropy pada ruang sample S didefinisikan dengan:

Entropy(S) = -p+log2p+-p-log2p-

3. HASIL DAN PEMBAHASAN

Penggunaan metode Decision Tree dapat diterapkan dalam menentukan LULUS atau TIDAK LULUS seorang mahasiswa diterima di suatu perusahaan tertentu.. Data diambil dengan 8 sample, dengan pemikiran bahwa yang mempengaruhi seseorang mahasiswa atau calon karyawan LULUS atau TIDAK LULUS diterima pada sebuah perusahaan tertentu tidak semata-mata karena faktor hard skills akan tetapi lebih ditentukan oleh kemampunan soft skills dengan instance yang dibatasi pada Motivasi, Kerja Tim, Leadership dan Kedisiplinan.Data Sample yang Digunakan Untuk Menentukan LULUS dan TIDAK LULUS dalam penilaian Soft Skills Mahasiswa dengan predikat sangat baik, baik, cukup dan kurang.

Page 57: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

57

Arif (+)Aslan(-)Budi (+)Firman(+)

Baik Buruk

Bambang(-)Farel (-)Hadi (-)lrfan (-)

Nama Motivasi Ker ja Tim Leader ship Kedisiplinan Katg. Pr ed.

Arief Baik Buruk Baik Baik L B

Aslan Buruk Buruk Baik Baik TL C

Bambang Baik Baik Buruk Buruk TL C

Budi Buruk Baik Baik Baik L B

Farel Buruk Baik Buruk Buruk TL K

Firman Buruk Baik Baik Baik L B

Hadi Baik Baik Buruk Buruk TL C

Irfan Baik Baik Buruk Buruk TL C

Ket. - 90 – 100 = Sangat Baik- 70 – 89 = Baik- 60 – 69 = Cukup- < 60 = Kurang

3.1 Langkah Mengubah Data Menjadi Tree

1. Menentukan Node Terpilih2. Menyusun Tree

3.1.1 Menentukan Node Terpilih

Untuk menentukan node terpilih, gunakan nilai Entropy dari setiap kriteria dengan data sample yang ditentukan. Node terpilih adalah kriteria dengan Entropy yang paling kecil.

MOTIVASI KATEGORI JUMLAHBaik LULUS 1Baik TIDAK LULUS 3Buruk LULUS 2Buruk TIDAK LULUS 2

Entropy = 0,91

KERJA TIM KATEGORI JUMLAHBaik LULUS 2Baik TIDAK LULUS 4Buruk LULUS 1Buruk TIDAK LULUS 1

Entropy = 0,94

LEADERSHIP KATEGORI JUMLAHBaik LULUS 3Baik TIDAK LULUS 1Buruk LULUS 0Buruk TIDAK LULUS 4

Entropy = 0,41KEDISIPLINAN KATEGORI JUMLAHBaik LULUS 3Baik TIDAK LULUS 1Buruk LULUS 0Buruk TIDAK LULUS 4

Entropy = 0,41Rumus mencari Entropy1 = − log2 − log2 = 0,81

2 = − 24 log2 24 − 24 log2 + 24 = 1E = 48 1 + 48 q2 = 48 (0,81) + 48 (1) = 0,91

Dari ke-empat entropy di atas, maka kami mendapatkan ada dua nilai entropy yang sama dan memiliki nilai entropy terkecil yaitu atribut Leadership dan Kedisplinan = 0,41. Dalam kasus ini kami hanya mengambil satu dari dua nilai entropy terkecil yang sama tersebut,yaitu entropy dari atribut KEDISIPLINAN.3.1.2 Penyusunan Tree awal

Leaf Node berikutnya dapat dipilih pada bagian yang mempunyai nilai + dan -, pada contoh di atas hanya kedisiplinan=baik yang mempunyai nilai + dan – maka semuanya pasti mempunyai leaf node. Untuk menyusun leaf node lakukan satu-persatu.3.1.3 Penentuan Leaf Node Untuk Kedisiplinan = Baik Data training untuk kedisiplinan = Baik

KEDISIPLINAN

Page 58: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

58

Baik Buruk

Baik Buruk

Baik Buruk

Baik Buruk

Nama Motiv asi Kerja Tim Leadership Kategori

Arif Baik Buruk Baik L

Aslan Buruk Buruk Baik TL

Budi Buruk Baik Baik L

Firman Buruk Baik Baik L

Motivasi Kategori JumlahBaik L 1Baik TL 0

Buruk L 2Buruk TL 1

Entropy = 0,69

Kerja Tim Kategori JumlahBaik L 2Baik TL 0

Buruk L 1Buruk TL 1

Entropy = 0,5

Leadership Kategori JumlahBaik L 3Baik TL 1

Buruk L 0Buruk TL 0

Entropy = 0,81

3.2.1 Penyusunan Tree

Hasil Tree

3.2 Hasil Tree

Nama Motivasi Kerja Tim Leadership KatgBambang Baik Baik Buruk TLBudi Buruk Baik Baik LFarel Buruk Baik Buruk TLFirman Buruk Baik Baik LHadi Baik Baik Buruk TLIrfan Baik Baik Buruk TL

Pada atribut Kerja Tim = BAIK ternyata ada 4 orang yang dinyatakan tidak lulus.

1 2 3

KEDISIPLINAN

Bambang(-)Budi(+)Farel (-)Firman (+)Hadi (-)Irfan (-)

Arif (+)Aslan (-)

Ya

Tabel 1

Tabel 2

Tabel 3

Kerja Tim Tidak

KEDISIPLINAN

Kerja Tim TidakYa/Tidak Ya/Tidak

Page 59: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

59

Baik Buruk

3.2.1 Mengubah Tree Menjadi Rule Kedisiplinan

3.2.2 Algoritma :

R1 : IF Kedisiplinan=buruk THEN

Kategori = TIDAK LULUS

R2 : IF Kerja Tim = Baik THEN

IF nilai >70 THEN

LULUS

ELSE

TIDAK LULUS

R3 : IF Kerja Tim = BURUK THEN

IF nilai >70 THEN

LULUS

ELSE

TIDAK LULUS

3.3 Analisis AkurasiHasil Prediksi Pada Data Training

Nama Motivasi K. Tim Ldr.ship Kedisip. Katg Pred Prediksi

Arief Baik Buruk Baik Baik L B L

Aslan Buruk Buruk Baik Baik TL C TL

Bambang Baik Baik Buruk Buruk TL C TL

Budi Buruk Baik Baik Baik L B L

Farel Buruk Baik Buruk Buruk TL K TL

Firman Buruk Baik Baik Baik L B L

Hadi Baik Baik Buruk Buruk TL C L

Irfan Baik Baik Buruk Buruk TL C TL

Kesalahan (e) = 12,5 % (1 dari 8 data)

3.4 Menyederhanakan Dan Menguji Rule

Membuat tabel distribusi terpadu dengan menyatakan semua nilai kejadian pada setiap rule. Menghitung tingkat independensi antara kriteria pada suatu rule, yaitu antara atribut dan target atribut. Mengeliminasi kriteria yang tidak perlu, yaitu yang tingkat independensinya tinggi

Distribusi Terpadu.

Kedisiplinan Kategori Jumlah

Baik L 3

Baik TL 1

Buruk L 0

Buruk TL 4

Kategori Baik Buruk MarginalL 3 0 3

TL 1 4 5Marginal 4 4 8

4. PENUTUP

4.1. Kesimpulan

Decision Tree untuk penilaian soft skills mahasiswa telah selesai dilakukan, dan dari hasil pengujian sistem dapat ditarik kesimpulan bahwa :

KedisiplinaBaik

Buru

Kerja Tim Tidak

Tidak

Page 60: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

60

1. Penggunaan Decision Tree dalam menentukan penilaian soft skills mahasiswa merupakan salah satu metode yang cocok dipergunakan dalam menentukan lulus tidaknya seorang mahasiswa dalam suatu bidang pekerjaan.

2. Dari hasil pengujian data diperoleh bahwa Decision Tree dapat dibangun dengan menentukan node terpilih berdasarkan nilai entropy terkecil dari setiap atribut (kriteria).

3. Penggunaan atribut tertentu dalam penilaian tidak mempengaruhi hasil akhir yang dicapai mahasiswa, tetapi merupakan akumulasi dari semua atribut yang dijadikan parameter penilaian.

4.2. Saran

Untuk penggunaan metode Decision Tree dalam penilaian soft skills mahasiswa disarankan menggunakan lebih banyak lagi atribut sebagai parameter penilaian karena hal ini dapat menjadikan hasil penilaian dalam penentuan kelulusan lebih akurat dan dapat dipertanggungjawabkan.

5. UCAPAN TERIMA KASIH

Sehubungan dengan selesainya makalah ini, maka Penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada Bapak Dr.Eng. Armin Lawi, M.Eng., atas arahan dan bimbingannya selama penyusunan makalah ini, Saudara As’ad Djamalilleil atas bimbingannya dalam pembuatan program dari makalah ini, Saudara Erfan Hasmin dan Fithriah Musadat atas kesempatannya dalam mendiskusikan makalah ini dengan penulis, semoga apa yang telah diberikan dengan hati ikhlas tersebut mendapat imbalan dari Allah SWT, Amin..

6. DAFTAR PUSTAKA[1] Khodra, Masayu Leylia . (2006) . Bahan Kuliah IF5133 Artificial Intelligence – Learning. Program Studi Teknik Informatika,

Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.[2] Munir, Rinaldi. (2006) .Diktat Kuliah IF2153 Matematika Diskrit Edisi Keempat. Program Studi Teknik Informatika, Sekolah

Teknik Elektro dan Informatika, Institut Teknologi Bandung.[3] Widhiarso, Wahyu (2009). Makalah “Evaluasi Soft Skills Dalam Pembelajaran”. FIP UNY, Yogyakarta. [4] Wikipedia. (2010) . Decision Tree. http://en.wikipedia.org/wiki/Decision_tree. Tanggal akses : 04 Nopember 2010 pukul 16.40 WIT.[5] Wikipedia. (2006) . Decision Tree Learning.

http://en.wikipedia.org/wiki/Decision_tree_learning. Tanggal akses : 04 Nopember 2010 pukul 17.05 WIT.

Page 61: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

61

KLASIFIKASI KINERJA BEBAN DOSEN MENGGUNAKAN ALGORITMA DECISION TREE

Abstrak

Penilaian akuntabilitas kinerja dosen di perguruan tinggi dengan menerapkan variabel-variabel penilaian tertentu yang diimplementasikan pada algoritma decision tree dalam mengklasifikasi kinerja beban dosenKata Kunci : Klasifikasi, Kinerja Beban Dosen, Parameter, Algoritma Decision Tree

endahuluan

Dosen adalah salah satu komponen esensial dalam suatu sistem pendidikan di perguruan tinggi. Peran, tugas, dan tanggungjawab dosen sangat penting dalam mewujudkan tujuan pendidikan nasional, yaitu mencerdaskan kehidupan bangsa, meningkatkan kualitas manusia Indonesia, yang meliputi kualitas iman/takwa, akhlak mulia, dan penguasaan ilmu pengetahuan, teknologi, dan seni, serta mewujudkan masyarakat Indonesia yang maju, adil, makmur, dan beradab.

Kompetensi tenaga pendidik, khususnya dosen, diartikan sebagai seperangkat pengetahuan, keterampilan dan perilaku yang harus dimiliki, dihayati, dikuasai dan diwujudkan oleh dosen dalam melaksanakan tugas profesionalnya. Kompetensi tersebut meliputi kompetensi pedagogik, kompetensi kepribadian, kompetensi sosial dan kompetensi profesional. Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi dengan beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik.1.1. Latar Belakang

Untuk melaksanakan fungsi, peran, dan kedudukan yang sangat strategis tersebut, diperlukan dosen yang profesional. pengklasifikasian beban kerja dosen dalam hal perekrutan dosen, pembagian jadwal mengajar, pemberian tunjangan, dan sebagainya. Dari pemaparan diatas kami mencoba menerapkan sebuah konsep Klasifikasi terhadap beban kinerja dosen menggunakan algoritma Decision Tree Adapun Decision Tree ini adalah sebuah jawaban akan sebuah sistem / cara yang manusia kembangkan untuk membantu mencari dan membuat keputusan untuk masalah-masalah tersebut dan dengan memperhitungkan berbagai macam faktor yang ada di dalam lingkup masalah tersebut. Dengan Decision Tree, manusia dapat dengan mudah melihat mengidentifikasi dan melihat hubungan antara faktor-faktor yang mempengaruhi suatu masalah dan dapat mencari penyelesaian terbaik dengan memperhitungkan faktor-faktor tersebut. Decision Tree ini juga dapat menganalisa nilai resiko dan nilai suatu informasi yang terdapat dalam suatu alternatif pemecahan masalah. Peranan Decision Tree ini sebagai alat bantu dalam mengambil keputusan (decision support tool) telah dikembangkan oleh manusia sejak perkembangan teori pohon yang dilandaskan pada teori graf. Kegunaan Decision Tree yang sangat banyak ini membuatnya telah dimanfaatkan oleh manusia dalam berbagai macam sistem pengambilan keputusan.

1.2. Rumusan Masalah

Berdasarkan uraian yang telah dikemukakan, maka dalam penelitian ini masalah pokok yang akan menjadi fokus perhatian adalah :a. Bagaimana penilaian akuntabilitas kinerja dosen di

perguruan tinggi dengan menerapkan variabel-variabel penilaian tertentu untuk evaluasi kinerja beban dosen.

b.c.

d. Bagaimana mengimplementasikan algoritma pohon keputusan (decition tree) dalam analasis untuk menentukan kinerja beban dosen.

1.3. Batasan Masalah

Masalah klasifikasi untuk evaluasi Beban kerja dosen dengan menggunakan Algoritma Decision tree akan dibatasi beberapa langkah sebagai berikut: a. Algoritma decision tree merepresentasikan supervised

learning, dan oleh karena itu membutuhkan variabel target preclassified.

b. Training data set harus kaya dan bervariasi.c. Kelas atribut target data beban kinerja dosen harus

diskrit.Selain batasan masalah di atas, dalam Klasifikasi beban kerja dosen ini juga digunakan asumsi-asumsi berikut:a. Terdapat tiga variabel umum dalam Klasifikasi evaluasi

penilaian kinerja beban dosen.b. Basis data yang ada harus disesuaikan dengan variabel-

variabel yang digunakan serta telah dikonversi dalam bilangan real.

1.4. Tujuan Penelitian

Dengan mengacu pada perumusan masalah sebagaimana tersebut diatas, maka tujuan penelitian ini adalah :a. Menemukan cara yang efektif dalam melakukan

kalsifikasi evaluasi beban kinerja dosen. b. Penerapan algoritma Decision Tree sebagai solusi terbaik

Dasar Teori

2.1. Dosen dan Beban Kerja Dosen

Dalam Kamus Besar Bahasa Indonesia, dosen berarti guru dalam perguruan tinggi. Beban kerja dosen diukur berdasarkan tugas yang diembannya.

Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi. Setiap tugas yang dilaksanakan tersebut akan dikonversi dalam SKS. Masing-masing dosen idealnya memiliki beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik. Pelaksanaan tugas utama dosen ini perlu dievaluasi dan dilaporkan secara periodik sebagai bentuk akuntabilitas kinerja dosen kepada para pemangku kepentingan. Tugas utama tersebut dibagi menjadi 6 bidang. Pada penelitian ini tugas dosen tersebut dirumuskan menjadi:a. Jumlah tatap mukab. Ketaatan terhadap SAP c. Nilai rata-rata evaluasi mahasiswa d. Ketidak hadiran pada rapat Jurusan e. Waktu bimbingan/konsultasi di luar jam perkuliahan

persemester rata-rata kurang dari 5 jam per minggu f. Kehadiran dalam kegiatan akademik non- pengajaran

(Workshop, seminar, pelatihan,, dll) yg ditugaskan jurusan

2.2. Decision Tree

Decision tree merupakan salah satu teknik yang dapat digunakan untuk melakukan klasifikasi terhadap sekumpulan

Mansur. ASP2700210044

Univ. Muhammadiyah ParepareJl. Jend. Ahmad Yani KM. 06 Parepare

[email protected]

Petrus KatembaP2700210018

STIKOM Uyelindo KupangJl. Perintis Kemerdekaan Kupang

[email protected]

Page 62: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

62

objek atau record. Teknik ini terdiri dari kumpulan decision node, dihubungkan oleh cabang, bergerak ke bawah dari root node sampai berakhir di leaf node. Pengembangan decision treedimulai dari root node, berdasarkan konvensi ditempatkan di bagian atas diagram decision tree, semua atribut dievaluasi pada decision node, dengan tiap outcome yang mungkin menghasilkan cabang. Tiap cabang dapat masuk baik ke decision node yang lain ataupun ke leaf node.2.2.1. Skema Decision Tree

Skema dan struktur Decision Tree adalah suatu Permodelan dari struktur pohon menurut teori graf.2.2.2. Struktur Decision Tree

Secara umum Decision Tree adalah suatu gambaran permodelan dari suatu persoalan yang terdiri dari serangkaian keputusan yang mengarah kesolusi. Tiap simpul dalam menyatakan keputusan dan daun menyatakan solusi.

Permodelan Decision Tree di sini berupa permodelan pohon dengan jumlah anak yang dapat berbeda-beda tiap simpulnya. 2.2.3. Konsep Decision Tree

Mengubah data menjadi Decision Tree (decision tree) dan aturan-aturan keputusan (rule)

2.2.4. Konsep Data Dalam Decision TreeData dinyatakan dalam bentuk tabel dengan atribut dan

record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut. Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan2.2.5. Proses Dalam Decision Tree

Menghitung Kesamaan data atau ketidaksamaan data dalam sebuah tabel yang mengandung atribut dan Kelas dari atribut.a. Mengubah bentuk data (tabel) menjadi model tree.b. Mengubah model tree menjadi rulec. Menyederhanakan Rule (Pruning)

2.2.6. Entropy

Keterangan :a. S adalah ruang (data) sample yang digunakan untuk

training.b. P+ adalah jumlah yang bersolusi positif (mendukung)

pada data sample untuk kriteria tertentu.c. P+ adalah jumlah yang bersolusi negatif (tidak

mendukung) pada data sample untuk kriteria tertentu.d. Besarnya Entropy pada ruang sample S didefinisikan

dengan:e. Entropy(S) = -p+log p + −p log -p-

Definisi EntropyEntropy(S)adalah jumlah bit yang diperkirakan

dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample - S.

Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas.Panjang kode untuk menyatakan informasi secara optimal adalah –log2pbits untuk messages yang mempunyai probabilitasp.

Sehingga jumlah bit yang diperkiraank untuk mengekstraksi S ke dalam kelas adalah: p+log p + −p log -p-log2p-

Page 63: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Implementasi Klasifikasi Kinerja Beban DosenMenggunakan Algoritma Decision Tree

3.1. Data sample yang digunakan untuk mengKlasifikasi kinerja beban dosen.Data yang diambil 8 sample, dengan pemikiran bahwa yang

mempengaruhi kinerja beban dosen adalah paramater berikut :

Keterangan :

a. Jumlah Tatap MukaNilai bobot Maksimal 20% dengan aturan penilain = Jika Jumlah Tatap Muka <=15% =TIDAK TERCAPAI, Jika 16sampai dengan 20 % = TERCAPAI

b. Nilai Rata-rata Evaluasi mahasiswaNilai bobot Maksimal 20% dengan aturan penilain = Jika Nilai Rata-rata Evaluasi mahasiswa <=15% =TIDAK TERCAPAI, Jika >16 sampai dengan 20 % = TERCAPAI

c. Ketaatan Terhadap SAPNilai bobot Maksimal 20% dengan aturan penilain = JikaKetaatan Terhadap SAP<=15% = MENYIMPANG, Jika >15 sampai dengan 20% = TAAT

d. Karya Ilmiah Terbit di Jurnal AkreditasiNilai bobot Maksimal 20% dengan aturan penilain Jika = 0 Jurnal yang Terbit Bobot Nilai = 1 sampai dengan 10% jika 1 Jurnal yang Terbit Bobot Nilai = 11 sampai dengan 20% / =IF(I6<=10%;"TDK TERBIT";IF(I6>10%;"TERBIT"))

e. Kehadiran Pada Rapat Jurusan Nilai bobot Maksimal 20% dengan aturan penilain = Jika Kehadiran Pada Rapat Jurusan <=10%=TDK TERPENUHI, dan Jika >10 sampai dengan 20% =TERPENUHI

Sehingga diperoleh nilai akhir berupa Prestasi dengan ketentuan penjumlahan persentase parameter-parameter di atas = jika <=75% , maka Prestasi = “PUNISHMENT” dan jika >75% sampai dengan 100% maka Prestasi = “REWARD”

3.2. Langkah Mengubah Data Menjadi Tree

3.2.1. Menentukan Node Terpilih a. Untuk menentukan node terpilih, digunakan nilai

Entropy dari setiap kriteria dengan data sample yang telah ditentukan.

b. Node terpilih adalah kriteria dengan entropy yang paling kecil

Proses mencari node awal dengan kriteria nilai entropy terkecil

q1 = − log 2 − log 2 = 0.65 q2 = − log 2 − log 2 = 0.65

Entropy = 1 + 2 = 0,48

Entropy = 1 + 2 = 0,40

Parameter “Nilai Rata-rata Evaluasi Mahasiswa” Sebagai node awal karena memiliki nilai entropi terkecil

q1 = − log 2 − log 2 = 0,65 q2 = − log 2 − log 2 = 0

Entropy = 1 + 2 = 0,48

q1 = − log 2 − log 2 = 1 q2 = − log 2 − log 2 = 0

Entropy = 1 + 2 = 0,75

q1 = − log 2 − log 2 = 0,97 q2 = − log 2 − log 2 = 0,91

Entropy = 1 + 2 = 0,953.2.2. Penyusunan Tree Awal Dari Node yang terpilih

Nilai Rata -rata Evaluasi Mahasiswa

A001(+)A002(+)A004(+)A008(+)

Terc apai(Subset 1)

TDK Terc apai(Subset 2)

A003(-)A005(+)A006(-)A007(-)

Pada kasus di atas yang mempunyai niLai (+) dan (-) hanya leaf node Nilai rata-rata mahasiswa = TDK Tercapai. Sehingga dapat disusun leaf node berikutnya satu persatu.3.2.3. Penentuan Leaf Node untuk Nilai Rata-rata Evaluasi Mahasiswa = TDK Tercapai

Data Training Nilai Rata-rata Evaluasi Mahasiswa = TDK Tercapai

Dari data training di atas akan dicari lagi nilai entropy masing masing tabel, shingga akan diperoleh entropy terkecil yang akan dijadikan sebagai leaf node “Nilai Rata-rata Evaluasi Mahasiswa”.

q1 = − log 2 − log 2 = 0,50 q2 = − log 2 − log 2 = 0

Entropy = 1 + 2 = 0,50

attribut

Target attribut

q1

q2

Page 64: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

q1 = − log 2 − log 2 = 0,50 q2 = − log 2 − log 2 = 0

Entropy = 1 + 2 = 0,50

q1 = − log 2 − log 2 = 0,92 q2 = − log 2 − log 2 = 0

Entropy = 1 + 2 = 0,69

q1 = − log 2 − log 2 = 0,81 q2 = 0Entropy = 1 + 2 = 0,813.2.4. Penyusunan Tree

Melakukan spesifikasi masalah dengan menentukan Atribut dan Target Atribut berdasarkan data yang ada serta melakukan perhitungan nilai Entropy dari setiap kriteria dengan data sample yang ditentukan.

Melakukan klasifikasi terhadap sekumpulan objek atau record. Teknik ini terdiri dari kumpulan decision node, dihubungkan oleh cabang, bergerak ke bawah dari root nodesampai berakhir di leaf node. Pengembangan decision tree inidimulai dari root node, berdasarkan konvensi ditempatkan di bagian atas diagram decision tree, semua atribut dievaluasi pada decision node, dengan tiap outcome yang mungkin menghasilkan cabang. Tiap cabang dapat masuk baik ke decision node yang lain ataupun ke leaf node.

Nilai Rata -rata Evaluasi Mahasiswa

Terc apai

Ketaatan Terhadap SA P

Jumlah Tatap Muka

M enyimpang

A003(-)A005(+)A006(-)A007(-)

Reward

Punishment

Terc apai TDK Terc apaiA 001(+)A 002(+)A 004(+)A 008(+)

A005(+)A006(- )

A003(- )A007(- )

TaatA005(+)A007(- )

A003(-)A006(-)

P unishmentKehadiran Pada Rapat Jurusan

Terpenuhi TDK TerpenuhiA003(-)A005(+)A007(-)

A 006(- )

Karya Ilmiah Terbit di Jurnal Akreditasi

TerbitA003(- )A005(+)

TDK Terbit

Punishment

Nilai Rata -rata E valuasi Mahas iswa

Terc apai

K etaatan Terhadap S A P

Jumlah Tatap Muka

M enyimpang

Reward

Punishment

Terc apai TDK Terc apai

Taat

PunishmentK ehadiran P ada Rapat Jurusan

Terpenuhi TDK Terpenuhi

K arya Ilmiah Terbit di

Jurnal Akreditas i

Terbit TDK Terbit

Punishment

PunishmentReward

TDK Terc apai

Dari Penyusunan Tree di atas ada beberapa leaf node yang memiliki nilai entropy yang sama, sehingga dilakukan pengambilan leaf node berikutnya secara acak.

Pada leaf node terakhir diperoleh hasil = Jika “Karya Ilmiah Terbit di Jurnal Akreditasi = Reward”.

3.3. Mengubah Tree Menjadi Rule

Nilai Rata -rata Evaluasi Mahasiswa

Terc apai

Ketaatan Terhadap SA P

Jumlah Tatap Muka

M enyim pang

Reward

Punishment

Terc apai TDK Terc apai

Taat

PunishmentKehadiran Pada Rapat Jurusan

Terpenuhi TDK Terpenuhi

Karya Ilmiah Terbit di Jurnal Akreditasi

Terbit TDK Terbit

Punishment

PunishmentReward

TDK Terc apai

Dari hasil Tree diatas dapat kita susun rulenya sebagai berikut :

R1 : IF Nilai Rata-rata Mahasiswa = Tercapai THEN Prestasi = Reward

R2 : IF Nilai Rata-rata Mahasiswa = TDK Tercapai^Jumlah Tatap Muka=Tercapai^Ketaatan terhadap SAP= Taat^Kehadiran Pada Rapat Jurusan=Terpenuhi^Karya

Tidak tercapai

Page 65: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

R4 : IF Nilai Rata-rata Mahasiswa = TDK Tercapai^Jumlah Tatap Muka=Tercapai^Ketaatan terhadap SAP= Menyimpang THEN Prestasi=Punishment

R5 : IF Nilai Rata-rata Mahasiswa = TDK Tercapai^Jumlah Tatap Muka=Tercapai^Ketaatan terhadap SAP= Taat^Kehadiran Pada Rapat Jurusan= TDK THEN Prestasi = Punishment

R6 : IF Nilai Rata-rata Mahasiswa = TDK Tercapai^Jumlah Tatap Muka=Tercapai^Ketaatan terhadap SAP= Taat^Kehadiran Pada Rapat Jurusan=Terpenuhi^Karya Ilmiah Terbit di Jurnal Akreditasi= TDKTerbit THEN Prestasi = Punishment

3.4. Hasil Prediksi Pada Data Training

Data Training

Hasil Prediksi

Penutup

4.1. Kesimpulan

Hasil penelitian klasifikasi Kinerja Beban Dosen menggunakan Algoritma decision Tree, memperlihatkan bahwa algoritma tesebut merupakan permodelan dari suatu persoalan yang terdiri dari serangkaian keputusan yang mengarah kesolusi optimal. Sehingga Klasifikasi ini dapat dideskripsikan sebagai :1. Terdiri dari data input yang disebut juga sebagai training

set terdiri dari sejumlah examples data (attribut) yang masing-masing memilki sejumlah target atau disebut juga subset. Adapun tujuan klasifikasi ini adalah untuk menganalisa data input dan mengembangkan sebuah model yang akurat untuk setiap kelas berdasarkan beberapa variable/parameter predictor dan dalam penelitian ini, antar data training dan prediksi sama, shingga nilai kesalahan(error)=0%

2. Metode pengklasifikasian Kinerja Beban Dosen menggunakan Algoritma Decison Tree adalah mencari solusi dengan cara membentuk decision tree berdasarkan set parameter dimana memiliki rangkaian kemungkinan (possibility) untuk beberapa atau semua kelas pada data yang diuji. Sehingga didapat hasil dari penelitian ini bahwa data parameter memiliki rangkaian penting dalam menentukan sebuah prestasi Reward atau Punishment.

4.2. Saran

Model tree yang dihasilkan sangat tergantung pada komposisi record dalam training data dan parameter (Variabel), untuk itu diperlukan pengujian perbandingan performansi diantara tree yang dihasilkan.

Ucapan Terima Kasih

dengan hati ikhlas tersebut mendapat imbalan dari Allah SWT, Amin..

Daftar Pustaka

(1) Ahmad Basuki, Iwan Syarif . (2003) . Decision TreePoliteknik Elektronika Negeri Surabaya.

(2) Munir, Rinaldi. (2006) .Diktat Kuliah IF2153 Matematika Diskrit Edisi Keempat. Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.

(3) Wikipedia. (2006) . Decision Tree Learning.\(4) http://fisip.ub.ac.id/webfisub/attachments/des2010/hi/MP

-06-%20Evaluasi%20Kinerja%20Dosen.pdfTanggal akses : 10 nopember 2010 pukul 03.05 WITA

(5) http://www.ittelkom.ac.id/libraryTanggal akses : 15 Desember 2010 pukul 18.05 WITA.

Kesalahan (error) = 0%

Page 66: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

66

66

Sistem Pendukung Keputusan Decision Tree(Studi Kasus : Klasifikasi Stadium Kanker Serviks)

Armin LawiJurusan Matematika, Fakultas MIPA

Universitas [email protected]

Mediawati SomalangiMahasiswa Sarjana Jurusan MatematikaFakultas MIPA, Universitas Hasanuddin

[email protected]

ABSTRACT

Decision Tree adalah salah satu dari teknik analisis keputusan dan merupakan salah satu metode klasifikasi pada data mining. Pada proses kalsifikasi data, tentunya terdapat beberapa hal yang perlu diketahui mengenai penyebab kanker serviks yang digunakan sebagai tolak ukur dalam menentukan tingkat stadium yang merupakan atribut dari penyakit kanker serviks.

Algoritma yang digunakan dalam proses klasifikasi yaitu dengan menggunakan algoritma ID3, dimana dari algoritma tersebut membentuk suatu pohon.

KeywordsDecision Tree, Algoritma ID3, atribut,

PENDAHULUANKanker serviks atau kanker leher rahim merupakan kanker yang menyerang kaum wanita dan jumlah penderitanya terus meningkat beberapa tahun belakangan.[1]Menurut Badan Kesehatan Dunia (WHO) menyatakan, saat ini penyakit kanker serviks merupakan penyakit penyebab kematian wanita nomor dua di dunia bahkan menurut data yang di dunia, setiap menit seorang wanita meninggal dunia akibat kanker serviks.[2]

Dengan maraknya penderita kanker serviks, sering dalam menentukan klasifikasi stadiumnya para dokter terlalu lama untuk mengetahui tindak lanjut apa yang akan dilakukan terhadap pasien suspect kanker serviks. Terutama jika penderita dalam keadaan yang sangat parah sehingga harus diambil tindakan yang lebih cepat.

Seiring dengan perkembangan ilmu pengetahuan, maka dibutuhkan sebuah system penunjang keputusan (SPK), untuk membantu paramedik, khususnya dokter dalam menentukan stadium kanker serviks.

Sistem Pendukung Keputusan (SPK) atau Decission Support System merupakan salah satu jenis sistem informasi yang bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi serta mengarahkan kepada pengguna informasi agar dapat melakukan pengambilan keputusan dengan lebih baik.

Pembahasan dalam paper ini adalah sebagai berikut: 1. Pendahuluan yang membahas pengertian dasar dari topic yang akan diteliti, 2. Landasan teori yang membahas dasar-dasar teori yang akan digunakan, 3. Implementasai membahas implementasi teori dan hasil, dan 4. Membahas mengenai kesimpulan dari penulisan.

LANDASAN TEORI2.1 Decision TreeSecara konsep Decision Tree adalah salah satu dari teknik analisis keputusan. Decision Tree sendiri pertama kali diperkenalkan pada tahun 1960-an oleh Fredkin yang berasal dari kata tries atau digital tree, yang merupakan retrival atau pengambilan kembali. Secara etimologi kata ini diucapkan sebagai ‘tree’. Meskipun mirip dengan penggunaan kata ‘try’ tetapi hal ini bertujuan untuk membedakannya dari general tree. Dalam ilmu komputer, trie, atau prefix tree adalah sebuah struktur data dengan representasi ordered tree (pohon terurut) yang digunakan untuk menyimpan associative array (larik yang berhubungan) yang berupa string. Berbeda dengan binary search tree (BST) yang tidak ada simpul di tree yang menyimpan elemen yang berhubungan dengan simpul sebelumnya dan, posisi setiap elemen di tree sangat menentukan. Semua keturunan dari suatu simpul mempunyai prefix stringyang mengandung elemen dari simpul itu, dengan root merupakan string kosong. Values biasanya tidak terkandung di setiap simpul, hanya di daun dan beberapa simpul di tengah yang cocok dengan elemen tertentu.[3]

Page 67: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

67

67

Decision Tree merupakan sebuah struktur pohon, dimana setiap simpul pohon merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan simpul daun (leaf)merepresentasikan kelompok kelas tertentu. Level simpul teratas dari sebuah Decision Tree adalah simpul akar (root) yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Pada umumnya Decision Tree melakukan strategi pencarian secara top-down untuk solusinya. Pada proses mengklasifikasi data yang tidak diketahui, nilai atribut akan diuji dengan cara melacak jalur dari simpul akar (root) sampai simpul akhir (daun) dan kemudian akan diprediksi kelas yang dimiliki oleh suatu data baru tertentu.

2.2 Algoritma ID Tree

Decision Tree menggunakan algoritma ID3 atau C4.5, yang diperkenalkan dan dikembangkan pertama kali oleh Quinlan yang merupakan singkatan dari Iterative Dichotomizer 3 atau Induction of Decision “3” (baca : Tree). Algoritma ID3 membentuk pohon keputusan dengan metode divide-and-conquer data secara rekursif dari atas ke bawah. Strategi pembentukan Decision Tree dengan algoritma ID3 adalah:

1) Pohon dimulai dengan simpul tunggal (akar/root) yang merepresentasekan semua data.

2) Sesudah simpul akar dibentuk, maka data pada simpul akar akan diukur dengan information gain untuk dipilih atribut mana yang akan dijadikan atribut pembaginya.

3) Sesudah cabang dibentuk dari atribut yang dipilih menjadi pembagi dan data akan didistribusikan kedalam cabang masing-masing.

4) Algoritma ini akan terus menggunakan proses yang sama atau bersifat rekursif untuk dapat membentuk sebuah Decision Tree. Ketika sebuah atribut telah dipilih menjadi simpul pembagi atau cabang, maka atribut tersebut tidak diikutkan lagi dalam penghitungan information gain.

5) Proses pembagian rekursif akan berhenti jika salah satu dari kondisi di bawah ini memenuhi:

i. Semua data dari anak cabang telah masuk dalam kelas yang sama.

ii. Semua atribut telah dipakai, tetapi masih tersisa data dalam kelas yang berbeda. Dalam kasus ini, ambil data yang mewakili kelas yang terbanyak untuk

menjadi label kelas pada simpul yang lain.

iii. Tidak terdapat data pada anak cabang yang baru. Dalam kasus ini, simpul daun (leaf) akan dipilih pada cabang sebelumnya dan diambil data yang mewakili kelas terbanyak untuk dijadikan label kelas. [3]

2.3 Konsep Data Decision Tree

Konsep data yang digunakan dalam Decision Tree adalah data yang dinyatakan dalam bentuk tabel dimana dalam tabel tersebut memuat atribut dan record. Atribut menyatakan suatu parameter atau tolak ukur yang dibuat sebagai kriteria tertentu dalam pembentukan tree.

Misalkan untuk menentukan apakah seseorang ingin bermain tenis atau tidak, kriteria yang diperhatikan adalah, cuaca, angin dan temperature. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut. Atribut-atribut memiliki nilai-nilai yang dinamakan instance, misalkan atribut cuaca memiliki instance berupa cerah, berawan dan hujan.

2.4 Langkah Kerja Decision Tree

2.4.1 Mengubah Bentuk Data (Tabel) Menjadi Model Tree

Data yang ada dalam bentuk tabel kemudian dibawa kedalam bentuk treeatau pohon. Dimana setiap simpul dari cabang atau akar berisi atribut-atribut dari suatu sampel data yang akan diuji.

Untuk menentukan simpul dari setiap cabang dari setiap pohon, nilai information gain dari setiap kriteria dengan data sampel yang ditentukan. Information gain diperoleh setelah nilai Entropy diketahui.

ENTROPY

Entropy(S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrasi suatu kelas dari sejumlah data pada ruang sampel S. Entropy bisa dikatakan sebagai jumlah kebutuhan bit

Page 68: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

68

68

untuk menyatakan suatu kelas. Panjang kode untuk menyatakan informasi secara optimal adalah –nlog bits untuk messages yang mempunyai probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi Skedalam kelas adalah:

dimana S adalah ruang data (sampel) yang digunakan

untuk percobaan dan pi adalah s

siadalah probabilitas

dari sampel yang mempunyai kelas Ci

INFORMATION GAIN

Information Gain adalah suatu ukuran untuk menyeleksi atribut yang digunakan untuk memilih test atribut pada setiap simpul. Atribut dengan nilai information gain tertinggi dipilih sebagai test atribut dari suatu simpul. G(S,A) =

)(

)()(Anilaiv

SEntropyS

vSSEntropy

,dimana, G(S,A) adalah nilai Information Gain untuk atribut A. Nilai (A) = adalah himpunan nilai yang mungkin untuk atribut A dan Sv adalah himpunan bagian dari S untuk atribu A dengan nilai v.

2.4.2 Mengubah Tree Menjadi Rules(aturan)

Setelah didapatkan bentuk pohon, maka dibuatkan rule(aturan) untuk menentukan klasifikasinya.Dalam menentukan akhir dari suatu simpul dibutuhkan beberapa operator logika yaitu:1. Conjunction (AND)

Operator AND digunakan untuk menyeleksi suatu atribut pada setiap simpul untuk menentukan daun dari suatu tree.

2. Disjunction (OR)Operator OR digunakan untuk menyeleksi kondisi dari setiap subset

3. IMPLEMENTASIDalam penulisan ini, kita menggunakan data penderita kanker serviks Dr. Wahidin Sudirohusodo dengan atribut yaitu Keadaan Umum Pasien (KU), Keputihan (K), Anemia (A), Prdarahan Pervaginam (P), Masaa Tumor (MT), dan Nyeri Perut (NP), dengan data sebagai berikut :

Tabel 1. Data Sampel Penderita Kanker Serviks dari RS. Dr. Wahidin

Sudirohusodo

Umur KU K A P MT NP Stadium

57 thn baik tidak tidak 12 bln 0,2 cc tidak II

38 thn baik ya tidak 4 bln 0,3 cc tidak III

47 thn baik tidak tidak 0 bln 0,1 cc tidak I

42 thn baik tidak tidak 3 bln 0,3 cc ya I

27 thn baik ya ya 11 bln 0,4 cc ya III

67 thn baik ya ya 4 bln 0,2 cc tidak II

60 thn baik ya ya 9 bln 0,4 cc ya III

50 thn lemah ya ya 1 bln 0,22 cc ya III

54 thn baik ya ya 15 bln 0,3 cc ya III

52 thn baik ya ya 7 bln 0,2 cc ya II

46 thn baik ya ya 9 bln 0,3 cc ya III

46 thn baik tidak ya 6 bln 0,3 cc ya II

40 thn baik ya ya 6 bln 0,1 cc ya II

47 thn baik ya ya 5 bln 0,4 cc ya III

41 thn baik tidak ya 6 bln 0,3 cc tidak II

44 thn lemah ya ya 24 bln 1 cc tidak IV

38 thn lemah ya ya 4 bln 0,3 cc ya III

49 thn lemah ya ya 18 bln 1 cc ya IV

50 thn baik ya ya 24 bln 1 cc ya IV

Pada tabel di atas, atribut Perdarahan dikonversi kedalam nilai-nilai yakni rendah, sedang dan tinggi dan untuk atribut Massa Tumor, dikonversi kedalam ukuran massatumornya yang bernilai kecil, sedang dan Tinggi. Target atribut yang akan dicapai yaitu kelas-kelas stadium kanker serviks yaitu stadium I, stadium II, stadium III dan stadium IV.

3.1 Mengubah Data Menjadi Pohon3.1.2 Pemilihan atribut akar/root dari

Decision TreeEntropy(S) dari semua sampel:

E(S) = [ 2,6,8,3]

90,0

208.0261,0262,0170,0

33,119

362,0

19

883,0

19

662,1

19

2

19

3log

4

19

3

19

8log

4

19

8

19

6log

4

19

6

19

2log

4

19

2

Setelah entropy untuk semua sampel ditentukan, maka akan dihitung information gain dari setiap atribut.

m

ii

ni ppSEntropy

1

log*)(

Page 69: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

69

69

Perhitungan information gain untuk atribut Keadaan Umum pasien (KU)Nilai atribut untuk atribut KU : Baik, LemahS(Baik) : [2,6,6,1]S(Lemah) : [ 0,0,2,2]Untuk setiap nilai atribut akan dihitung nilai entropy yakni:

a) E(Baik) = [2,6,6,1]

84,0

12,026,026,019,0

02,215

140,0

15

640,0

15

6)47,1(

15

2

15

1log

4

15

1

15

6log

4

15

6

15

6log

4

15

6

15

2log

4

15

2

b) E(Lemah) = [0,0,2,2]

5,0

25,025,000

50,04

250,0

4

20

4

00

4

0

4

2log

4

4

2

4

2log

4

4

2

4

0log

4

4

0

4

0log

4

4

0

LemahSEBaikSESEKUSG19

4)(

19

15)(),(

14,0

11,065,090,0

)5,0(19

4)84,0(

19

1590,0

Dengan menggunakan cara yang sama, Gain dari semua tribute dapat dicari.

a) Gain (KU) = 0,14b) Gain (K) = 0,32c) Gain (A) = 0,18d) Gain (P) = 0,35e) Gain (MT) = 0,42f) Gain (NP) = 0,09

Setelah nilai information gain pada semua atribut dihitung, maka atribut yang mempunyai nilai menjadi test atribut. Perhitungan dilakukan secara rekursif, sampai semua data masuk kedalam kelas stadium kanker serviks.

Gambar 1. Struktur Pohon Decision Tree Penyakit Kanker Serviks

3. 2 Mengubah bentuk Tree Menjadi Rules (aturan-aturan)

Setelah didapatkan bentuk pohon, maka akan dibuatkan aturan atau rule untuk menentukan klasifikasi dari stadium kanker serviks. Adapun aturan tersebut adalah sebagai berikut:

R1 : IF (Massa Tumor = Kecil) (Keputihan = Tidak) (Anemia = Tidak) (Perdarahan = Rendah)

THEN (Kelas = Stadium I)R2 : IF (Massa Tumor = Kecil) (Keputihan = Tidak)

(Anemia = Tidak) (Perdarahan = Sedang) THEN (Kelas = Stadium II).

R3 : IF (Massa Tumor = Kecil) (Keputihan = Tidak) (Anemia = Ya) THEN (Kelas = Stadium II)

R4 : IF (Massa Tumor = Kecil) (Keputiha = Ya) (Perdarahan = Rendah) (Keadaan Umum = Lemah) THEN (Kelas = Stadium III).

R5 : IF (Massa Tumor = Kecil) (Keputiha = Ya) (Perdarahan = Rendah) (Keadaan Umum = Baik) (Nyeri Perut = Tidak) (Anemia = Tidak) THEN (Kelas = Stadium III).

R6 : IF (Massa Tumor = Kecil) (Keputiha = Ya) (Perdarahan = Rendah) (Keadaan Umum = Baik) (Nyeri Perut = Tidak) (Anemia = Ya) THEN (Kelas = Stadium II).

R7 : IF (Massa Tumor = Kecil) (Keputiha = Ya) (Perdarahan = Rendah) (Keadaan Umum = Baik) (Nyeri Perut = Ya) THEN (Kelas = Stadium II).

R8 : IF (Massa Tumor = Kecil) (Keputiha = Ya) (Perdarahan = Sedang) THEN (Kelas = Stadium III).

R9 : IF (Massa Tumor = Sedang) THEN (Kelas = Stadium III).

R10 : IF (Massa Tumor = Besar) THEN (Kelas = Stadium IV).

Dari hasil prediksi data didapatkan galat atau error sebesar 0 %.

4. KESIMPULANsistem pendukung keputusan dengan Decision Tree dapat digunakan dalam klasifikasi stadium kanker serviks, dengan memperhatikan atribut utama dari penyakit

Page 70: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

70

70

kanker serviks dimana hasilnya sama dengan klasifikasi yang dilakukan oleh para medik.

5. REFERENCES[11] Anonim, 2006. Kanker Leher Rahim,

http://www.medicastore.com (Diakses 4 September 2010).

[12] Wildancyber. 2010. “Awas Kanker Serviks “,

http://dscyber.blogspot.com/ (Diakses 6 September 2010)

[13] Han, Jiawei and Khamber, Micheline. “Data Mining : Concept and Tecniques”, Morgan Kaufman Publishers, San Fransisco,USA, 2001.

[14] Basuki, Ahmad dan Syarif, Iwan. “Decision Tree”, PENS-ITS, Surabaya.

(http://www.ahmad,cs.edu).[15] Nugraha, Boyke. “Bayang-Bayang Ca Serviks

Sebagai Pembunuh No. 1 Pada Wanita Masa Kini”, Makassar, 2010.

[16] Sunjana, “Aplikasi Mining Data Mahasiswa dengan Metode Klasifikasi Decision Tree”, Universitas

Widyatama, ([email protected])

Page 71: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

71

71

BASIS DATA FUZZY MODEL TAHANI UNTUK PENGKLASIFIKASI BEBAN KERJA DOSEN

Fithriah Musadat Andi Azhar MustaraTeknik Elektro Universitas Hasanuddin Teknik Elektro Universitas Hasanuddin

Jl. P. Kemerdekaan KM.10 Jl. P. Kemerdekaan KM.10Makassar Makassar

[email protected] [email protected]

Abstrak

Pada penelitian ini dibangun sistem fuzzy yang digunakan untuk mengklasifikasikan beban kerja dosen. Beban kerja dosen ini didasarkan pada tugas dan tanggung jawab dosen sesuai dengan tridharma perguruan tinggi dan tugas pendukungnya. Variabel-variabel tersebut yaitu pada bidang pendidikan dan pengajaran (memberikan kuliah/praktikum, memberikan bimbingan), bidang penelitian (melaksanakan penelitian, menulis buku ilmiah, tugas belajar), bidang pengabdian kepada masyarakat (kegiatan setara 50 jam kerja, membuat karya pengabdian kepada masyarakat), dan bidang penunjang tridharma perguruan tinggi (melakukan bimbingan akademik/konseling, menjadi pimpinan pembinaan UKM, menjadi pimpinan organisasi sosial intern, memegang jabatan fungsional, menjadi ketua panitia Ad Hoc, menjadi ketua panitia tetap). Proses pengklasifikasiannya dilakukan secara linguistik (contoh: jarang menyadur buku, sering melakukan penelitian, dsb.) dengan menggunakan himpunan fuzzy bahu dan segitiga. Pencarian dosen yang terklasifikasi didasarkan pada konsep basis data fuzzy model tahani. Sistemnya dibangun berbasis web. Performa dari algoritma ini yaitu ( ).Kata kunci: fuzzy, basis data fuzzy, fuzzy model tahani, pengklasifikasian, beban kerja dosen

Pendahuluan

Latar Belakang

Sebagaimana diamanatkan dalam UU Nomor 14 Tahun 2005 tentang Guru dan Dosen, dan Peraturan Pemerintah Republik Indonesia Nomor 37 Tahun 2009 tentang Dosen disebutkan bahwa dosen adalah pendidik profesional dan ilmuwan dengan tugas utama mentransformasikan,mengembangkan dan menyebarluaskan ilmu pengetahuan, teknologi, dan seni melalui pendidikan, penelitian dan pengabdian kepada masyarakat. Tugas utama dosen tersebut adalah melaksanakan tridharma perguruan tinggi, yang kemudian dirumuskan menjadi beberapa aspek penilaian yang dinyatakan dalam SKS. Tiap dosen idealnya memiliki beban kerja paling sedikit sepadan dengan 12 (dua belas) SKS dan paling banyak 16 (enam belas) SKS pada setiap semester sesuai dengan kualifikasi akademik. Namun pada kenyataannya beban kerja tiap dosen pada tiap semester kadang melebihi aturan tersebut, bahkan adapula yang tidak mencapai target tersebut. Hal ini bisa saja terjadi karena beban kerja menumpuk pada

beberapa dosen, atau memang perguruan tinggi tersebut memiliki sumber daya manusia yang tidak sebanding dengan beban kerja yang ada (baik berlebih atau kurang). Masalah penentuan berat ringannya beban kerja dosen menjadi hal yang kemudian sulit terukur dan susah untuk digambarkan karena banyaknya aspek yang mempengaruhinya. Di lain pihak, penentu kebijakan pada perguruan tinggi tersebut tentu membutuhkan data pengklasifikasian beban kerja dosen dalam hal perekrutan dosen, pembagian jadwal mengajar, pemberian tunjangan, dan sebagainya. Aplikasi teori himpunan fuzzy merupakan system yang kemudian banyak digunakan untuk mengatasi adanya ketidakpastian baik pada data-data yang diberikan maupun pada teknik pencarian terhadap sekumpulan data pada basis data. Fuzzy juga bisa menjadi solusi untuk menyelesaikan ketidakpastian batas antara satu kriteria dengan kriteria lainnya yang dihasilkan oleh adanya penilaian manusia terhadap sesuatu hal secara kumulatif. Konsep logika fuzzy yang sederhana, mudah dimengerti, fleksibel, dan mampu memodelkan fungsi-fungsi non linear yang sangat kompleks membuat fuzzy menjadi alternatif untuk mengatasi masalah ketidakpastian yang banyak digunakan. Selain itu logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat, logika fuzzy juga dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan dan dapat bekerja sama dengan teknik-teknik kendali secara konvensional serta didasarkan pada bahasa alami. Dewasa ini telah dikembangkan beberapa model basis data fuzzy, salah satu diantaranya adalah basis data fuzzy Model Tahani. Basis Data Fuzzy model Tahani masih tetap menggunakan relasi standar, hanya saja model ini menggunakan teori himpunan fuzzy untuk mendapatkan informasi pada query-nya.Hal inilah yang kemudian mendasari diadakannya penelitian tentang logika fuzzy yang akan digunakan untuk mengklasifikasikan dosen berdasarkan beban kerjanya.

Rumusan Masalah

Berdasarkan latar belakang penelitian yang telah dibahas pada subbab sebelumnya, maka masalah dalam penelitian ini dirumuskan sebagai berikut:1. Bagaimana cara kerja system fuzzy, dalam hal ini basis

data fuzzy Model Tahani, untuk menyelesaikan masalah pengklasifikasian khususnya masalah pengklasifikasian beban kerja dosen.

2. Bagaimana performa dari basis data fuzzy Model Tahani dalam menyelesaikan masalah pengklasifikasian beban kerja dosen.

3. Bagaimana merancang perangkat lunak yang dapat digunakan untuk mengklasifikasikan beban kerja

Page 72: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

72

72

dosen dengan menggunakan basis data fuzzy Model Tahani.

Batasan Masalah

Masalah klasifikasi Beban kerja dosen dengan menggunakan system fuzzy ini dibatasi pada: System fuzzy yang digunakan adalah basis data fuzzy

Model Tahani. Pada makalah ini hanya akan dibahas tentang

pemodelan masalah pengklasifikasian beban kerja dosen ke dalam system fuzzy model Tahani dan performa dari system fuzzy model Tahani dalam menyelesaikan masalah pengklasifikasian beban kerja dosen, tidak membahas tentang diagram konteks dan diagram arus data.

Selain batasan masalah di atas, dalam model pengklasifikasian beban kerja dosen ini juga digunakan asumsi-asumsi berikut: Tidak ada dosen yang memegang jabatan pimpinan

dalam lembaga pemerintahan/ pejabat Negara.

Basis data yang ada harus disesuaikan dengan variabel-variabel fuzzy yang digunakan serta telah dikonversi dalam SKS.

Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah:1. Untuk mengetahui cara kerja system fuzzy, dalam hal

ini basis data fuzzy Model Tahani, untuk menyelesaikan masalah pengklasifikasian khususnya masalah pengklasifikasian beban kerja dosen.

2. Untuk mengetahui performa dari basis data fuzzy Model Tahani dalam menyelesaikan masalah pengklasifikasian beban kerja dosen.

3. Untuk merancang perangkat lunak yang dapat digunakan untuk mengklasifikasikan beban kerja dosen dengan menggunakan basis data fuzzy Model Tahani.

Landasan Teori

DosenDalam Kamus Besar Bahasa Indonesia, dosen berarti guru dalam perguruan tinggi.

Beban Kerja DosenBeban kerja dosen diukur berdasarkan tugas yang diembannya. Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi. Setiap tugas yang dilaksanakan tersebut akan dikonversi dalam SKS. Masing-masing dosen idealnya memiliki beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik. Pelaksanaan tugas utama dosen ini perlu dievaluasi dan dilaporkan secara periodik sebagai bentuk akuntabilitas kinerja dosen kepada para pemangku kepentingan. Tugas utama tersebut dibagi menjadi 4 bidang. Pada penelitian ini tugas dosen tersebut dirumuskan menjadi:1. Kegiatan bidang pendidikan dan pengajaran, meliputi:

a. Memberikan kuliah/praktikum

b. Memberikan bimbingan (KKN, Tugas Akhir, Tesis, dan atau desertasi)

2. Kegiatan bidang penelitian, meliputi:a. Melaksanakan penelitian (mandiri/ kelompok)b. Menulis/menerjemahkan/menyadur/menyunting

buku ilmiahc. Tugas belajar

3. Kegiatan bidang pengabdian kepada masyarakat, dapat berupa:a. Kegiatan setara 50 jam kerjab. Membuat/menulis karya pengabdian kepada

masyarakat.4. Kegiatan bidang penunjang tridharma perguruan

tinggi, dapat berupa:

a. Melakukan bimbingan akademik/konseling

b. Menjadi pimpinan pembinaan UKM

c. Menjadi pimpinan organisasi sosial intern

d. Memegang jabatan fungsional

e. Menjadi ketua panitia Ad Hoc

f. Menjadi ketua panitia tetap

Logika FuzzyLogika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input, ke dalam suatu ruang output (Kusumadewi dan Purnomo, 2004). System ini diciptakan karena keterbatasan Logika Boolean yang tidak memiliki ketelitian tinggi, hanya mempunyai logika 0 dan 1 saja. Sehingga untuk membuat system yang memiliki ketelitian tinggi logika Boolean tidak dapat digunakan. Perbedaan ketelitian logika fuzzy dan Boolean dalam menilai temperatur dilihat pada Gambar 1.

Gambar 1. Perbedaan Ketelitian Logika Fuzzy dan Boolean dalam Menilai Temperatur

Sumber: Tim IE & Igit Purwahyudi (Application Note AN16)

Variabel FuzzyVariabel fuzzy merupakan variabel yang hendak dibahas dalam suatu system fuzzy (Kusumadewi). Contoh: umur, temperatur, dan sebagainya.

Himpunan FuzzyHimpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy (Kusumadewi). Contoh: Suhu = {panas, dingin}.

Semesta PembicaraanSemesta Pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel

fuzzy (Kusumadewi). Contoh: Suhu = 0 – 100 C .

DomainMerupakan keseluruhan nilai yang diizinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu

Page 73: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

73

himpunan fuzzy (Kusumadewi). Contoh: suhu dingin

adalah 0 – 50 C .

Fungsi KeanggotaanKusumadewi mendefinisikan fungsi keanggotaan dalam logika fuzzy sebagai suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Derajat keanggotaan dinotasikan ( ). Terdapat beberapa fungsi yang bisa digunakan.1. Representasi linear

Ada 2 kemungkinan himpunan fuzzy linear yaitu:a) Representasi linear naik, yaitu kenaikan himpunan

dimulai pada nilai domain yang memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju nilai domain yang memiliki derajat keanggotaan lebih tinggi.

Fungsi keanggotaannya:

( ) =0 ; ≤−− ; ≤ ≤1 ; ≥

�b) Representasi linear turun, yaitu garis lurus yang

dimulai dengan derajat keanggotaan yang paling tinggi di sisi kiri, kemudian menurun ke kanan pada nilai yang memiliki derajat keanggotaan paling rendah.

Fungsi keanggotaannya:

( ) =0 ; ≥−− ; ≤ ≤1 ; ≤

�2. Representasi kurva segitiga

Representasi kurva segitiga dapat dilihat pada Gambar 4 berikut:

⎧ 0 ; ≤ ≥

3. Representasi kurva trapeziumKurva trapezium pada dasarnya mirip dengan kurva segitiga, hanya saja terdapat banyak titik yang memiliki fungsi keanggotaan 1 (Lihat Gambar 5).

Gambar 5. Representasi Kurva Trapesium

Fungsi keanggotaannya:

( ) =⎩⎪⎨⎪⎧

0 ; ≤ ≥−− ; ≤ ≤1 ; ≤ ≤−− ; ≤ ≤

4. Representasi kurva bentuk bahuKurva bentuk bahu mirip dengan kurva bentuk linear naik atau turun, yang membedakannya adalah terdapat banyak titik yang membuat derajat keanggotaanya menjadi 1. Lihat Gambar 6

Gambar 6. Daerah Bahu pada Variabel Temperatur

5. Representasi kurva bentuk S6. Representasi kurva bentuk lonceng

Operator Dasar ZadehSeperti pada himpunan konvensional, dalam himpunan fuzzy juga terdapat beberapa operasi yang didefinisikan secara khusus untuk mengkombinasikan dan memodifikasi himpunan fuzzy. Terdapat tiga operator dasar yang diciptakan oleh Zadeh, yaitu: 1. Interseksi

Operator ini berhubungan dengan operasi interseksi pada himpunan. − (fire strength) sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan. ∩ = ( ), ( )

2. UnionOperator ini berhubungan dengan operasi union pada −

Gambar 3 Representasi Linear Turun

0

1

( )

Gambar 2 Representasi Linear Naik

0

1

( )

0

1

( )

Gambar 4 Representasi Kurva Segitiga

Page 74: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

74

74

3. KomplemenOperator ini berhubungan dengan operasi komplemen pada himpunan. − (fire strength) sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan.

( ) = 1 − ( )Hasil dan Pembahasan

Implementasi Masalah Pengklasifikasian Beban

Kerja Dosen Menggunakan Sistem Basis

Data Fuzzy Model Tahani

Pada penelitian ini data dosen dan parameter yang digunakan merupakan data simulasi, karena belum ada aturan yang menjelaskan secara detail tentang klasifikasi beban kerja dosen. Aturan tersebut dikembalikan pada Perguruan Tinggi masing-masing. Parameter-parameternya dapat diubah sesuai kebutuhan dan kebijakan perguruan tinggi yang bersangkutan. Pada Tabel 1 disajikan parameter-parameter yang digunakan pada penelitian ini.

VariabelHimpunan

Fuzzy

Parameter

a b c

Memberikan kuliah/

praktikum

Jarang 0 4 9

Lumayan Padat 7 12 17

Padat 14 17 20

Sangat Padat 18 21 24

Memberikan bimbingan

Jarang 0 1 2

Lumayan Padat 1 3 5

Padat 3 5 7

Sangat Padat 6 8 10

Melaksanakan penelitian

Jarang 0 6 10

Sering 8 10 20

Menulis bukuJarang 0 3 5

Sering 3 5 7

Kegiatan setara 50 jam kerja

Sedikit 0 3 5

Banyak 3 5 7

Membuat karya pengabdian

Sedikit 0 3 5

Banyak 3 5 7

Melakukan konseling

Jarang 0 3 5

Sering 3 5 7

Menjadi pembina UKM

Jarang 0 3 5

Sering 3 5 7

Tabel 1. Parameter-Parameter Himpunan Fuzzy pada Pengklasfikasian Beban Kerja Dosen

Variabel lain yang digunakan dalam penelitian ini menggunakan logika Boolean. Dimana nilai keanggotaannya 1 jika SKS > 0, dan 0 untuk SKS=0. Sistem yang dibangun berbasis web dengan pengklasifikasian beban kerja dosen tergantung dari user. Sebagai nilai default untuk proses pengklasifikasian yaitu niai tidak dipertimbangkan yang berarti berapapun nilai SKS yang dicapai tidak memberikan pengaruh pada proses pengklasifikasian dan tetap direkomendasikan sebagai

hasil atau dengan kata lain, derajat keanggotaan setiap dosen dengan kategori tidak dipertimbangkan adalah 1. (Lihat Gambar 7)

Gambar 7. Halaman untuk Mengklasifikasi Beban Kerja Dosen

Metode pengklasifikasian beban kerja dosen ini diawali dengan memilih kategori pengklasi-fikasian:Contoh Pengklasifikasian:Misalkan Perguruan Tinggi ingin mengutus seorang dosennya untuk mengikuti pelatihan, akan dipilih dosen dengan kategori sebagai berikut: Memberikan kuliah/ praktikum : jarang Menulis/menyadur buku : sering Menjadi Pembina UKM : sering Tidak menjadi pimpinan organisasi sosial intern atau

tidak memegang jabatan fungsional. Menjadi ketua panitia adhoc dan menjadi panitia tetap

untuk sebuah kepanitiaan.Maka hasilnya seperti yang terlihat pada Gambar 8. Fire strength-nya akan dihitung berdasarkan fungsi keanggotaannya dan menggunakan operasi zadeh interseksi.

= ( , , , , , , , , , , , , )

Gambar 8. Halaman Hasil Pengklasifikasian Dosen

Page 75: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

75

Kebutuhan Input

Kebutuhan input sistem ini terdiri dari:a. Data-data dosen, menyangkut nama dosen, kode

dosen, dan beban kerja dosen seperti yang terdapat pada bagian 4.

b. Parameter-parameter yang akan digunakan untuk variabel-variabel pada bagian (a).

Perancangan Sistem

Perancangan sistem yang mampu mengklasifi-kasian data dosen yang telah diinput berdasarkan klasifikasi-klasifikasi yang ditetapkan oleh user dapat dilihat pada Flowchart 1.

Fungsi Keanggotaan

Pada dasarnya tidak ada ketentuan khusus tentang penggunaan fungsi keanggotaan pada proses fuzzyfikasi. Pada penelitian ini setiap variabel fuzzy menggunakan fungsi keanggotaan segitiga dan bahu. Fungsi inilah yang akan digunakan untuk menentukan derajat keanggotaan masing-masing variabel pada himpunan fuzzy. Berikut ini akan dijelaskan salah satu sampel variabel fuzzy yaitu variabel memberikan kuliah/praktikum. Variabel memberikan kuliah/praktikum dibagi menjadi 4 himpunan fuzzy yaitu jarang, lumayan padat, padat, dan sangat padat. Pendekatan fungsi keanggotaannya dapat dilihat pada Gambar 9.

Gambar 9. Grafik Fungsi KeanggotaanVariabel Memberikan Kuliah/Praktikum

Dalam penentuan fungsi keanggotaan terdapat beberapa langkah yang dilakukan oleh sistem untuk mengubah data mentah yang telah diinput menjadi data input fuzzy (proses fuzzifikasi).Dari grafik tersebut dapat dilihat besarnya derajat keanggotaan tiap domain. Dengan domain yang sama, memungkinkan terdapat nilai derajat keanggotaan yang berbeda, tergantung himpunan fuzzy-nya dalam hal ini kriteria yang ditetapkan dalam proses pengklasifikasian. Misalnya untuk ( ) , jika SKS yang diperoleh oleh

dosen tersebut untuk memberikan kuliah/praktikum <=4, maka derajat keanggotaan ( ( ) ) = 1. Jika SKS-

nya antara 4 dan 9, maka untuk mendapatkan derajat keanggotaannya ditentukan oleh rumus:

( ) = 9 −9 − 4Dan jika SKS-nya >=9 maka derajat keanggotaannya ( ( ) ) = 0.

Analisis kinerja algoritma

Kinerja algoritma fuzzy dalam menyelesaikan proses pengklasifikasian beban kerja dosen berbanding lurus dengan banyaknya data dosen yang terdapat dalam data base. Sehingga kompleksitasnya adalah ( ). Kasus terbaiknya sama dengan kasus terburuknya, karena semua data akan dihitung nilai keanggotaan dan fire strength-nya tanpa terkecuali.

Kesimpulan

Berdasarkan hasil yang diperoleh dapat disimpulkan:1. Algoritma fuzzy dapat digunakan dalam proses

pengklasifikasian beban kerja dosen dengan menggunakan bahasa yang biasa digunakan (contoh: jarang menyadur buku, sering melakukan penelitian, dsb.)

2. Performa algoritma fuzzy dalam mengklasifikasikan dosen berdasarkan beban kerjanya yaitu ( ).

Daftar Pustaka

[1] Dikti. 2010. Pedoman Beban Kerja Dosen dan

0

0.2

0.4

0.6

0.8

1

1.2

0 3 6 9 12 15 18 21 24

Jarang

Lumayan Padat

Padat

Sangat Padat

Start

Input Kriteria

User

Penentuan Himpunan Fuzzy

Penentuan Derajat Keanggotaan ( ( ))

Perhitungan FireStrength ( )

Pengambilan data dosen pada database yang sesuai

Tampilkan dosen yang masuk kriteria

End

Flowchart 1. Perancangan Sistem

Page 76: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

76

76

[3] Kusumadewi, Sri. Basis Data Fuzzy untuk Pemilihan Bahan Pangan Berdasarkan Kandungan Nutrien. Universitas Islam Indonesia Yogyakarta.

[4] Sofiudin, Arief. 2006. Proyek Akhir: Perancangan dan Pembuatan Fuzzy Query Database untuk perekomendasian Penerima Beasiswa. ITS.

Page 77: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

77

77

PENILAIAN SOFT SKILL MAHASISWA DENGAN METODE FUZZY SYSTEM

Syamsul Bahri 1 Stefany Y Bara’langi 2,1 Prodi Manajemen Informatika, STIMIK Profesional Makassar

2Prodi Teknik Informatika Universitas Atma Jaya Makassar

1 [email protected] 2 [email protected],

AbstrakPenilaian soft skill mahasiswa bertujuan

untuk melakukan evaluasi terhadap proses belajar mengajar. Hasil evaluasi berguna sebagai pendukung pengambilan keputusan untuk mengetahui kemajuan prestasi belajar mahasiswa. Salah satu metode yang digunakan untuk menilai soft skill mahasiswa adalah fuzzy system dengan metode tsukamoto.

Sistem fuzzy atau logika fuzzy adalah salah satu bahasan soft computing yang memiliki karakteristik dan keunggulan dalam menangani permasalahan yang bersifat ketidakpastian dan kebenaran parsial. Logika fuzzy merupakan pengembangan dari logika boolean yang hanya memiliki nilai true (1) atau false (0). Salah satu metode fuzzy system adalah metode tsukamoto. Metode tsukamoto merupakan metode inferensi yang menggunakan konsekuen aturan IF-THEN untuk mendapatkan hasil rata-rata terbobot.

Input yang digunakan dalam penelitian adalah himpunan aturan IF-THEN dan konsekuensi sebanyak 7 aturan sebagai kombinasi dari variabel-variabel penilaian soft skill mahasiswa. Fungsi keanggotaan digambarkan dengan fungsi representasi linear. Output yang dihasilkan adalah nilai rata-rata terbobot (z) sebesar 76.29 memiliki tingkat kelulusan dengan kriteria B. Perbedaan selisih penilaian soft skill antara metode non fuzzy dan fuzzy adalah 16.44 %.

Kata kunci : fuzzy system, metode tsukamoto

1. Pendahuluan

A. Latar Belakang Penelitian

Evaluasi dalam dunia pendidikan dilakukan dengan tujuan untuk meningkatkan kualitas belajar mahasiswa dan proses belajar mengajar bukan sekedar penilaian. Evaluasi harus menyandarkan diri pada umpan balik mahasiswa, sebagai elemen substansial dan utama dalam proses belajar mengajar. Apapun hasil evaluasi seharusnya selalu terkait dengan pengambilan keputusan yang berhubungan dengan kemajuan prestasi. Salah satu evaluasi yang dapat dilakukan adalah penilaian soft skill mahasiswa. Atribut-atribut

soft skill yang dapat menjadi faktor penilaian diantaranya adalah sebagai berikut:1.Karakter pribadi dalam berbagai situasi dan

kondisi (kendali diri, kesabaran, ekspresi perasaan, rasionalitas)

2.Etos kerja (semangat, target kerja, disiplin, ketangguhan)

3.Integritas Diri (kejujuran, keteguhan pada prinsip, konsistensi, tanggung jawab dan keteladanan)

4.Keterbukaan terhadap kritik, saran, dan pendapat orang lain

5.Kemampuan kerja sama, kemampuan komunikasi

6.Kreativitas dan inovasi

Dalam penelitian ini, penulis akan membandingkan data nilai softskill mahasiswa semester yang lalu dengan melakukan penilaian soft skill mahasiswa dengan metode fuzzy system. Sistem fuzzy atau logika fuzzy adalah salah satu bahasan soft computing yang memiliki karakteristik dan keunggulan dalam menangani permasalahan yang bersifat ketidakpastian dan kebenaran parsial. Batasan masalah untuk penelitian ini adalah sebagai berikut: 1.Atribut-atribut soft skill yang dinilai antara

lain adalah karakter pribadi dalam berbagai situasi dan kondisi, etos kerja, integritas diri, keterbukaan terhadap kritik, saran, dan pendapat orang lain, kemampuan kerja sama, kemampuan komunikasi, kreativitas dan inovasi.

2.Rentang nilai untuk tiap nilai keanggotan adalah 0 sampai dengan 100.

3.Pendekatan fungsi keanggotaan yang digunakan adalah representasi linear.

4.Sistem inferensi fuzzy yang digunakan adalah metode Tsukamoto.

5.Menggunakan data nilai soft skill 5 orang mahasiswa semester lalu untuk diuji dengan penilaian softskill mengunakan fuzzy system.

2. Landasan Teori2.1. Penilaian Soft Skill

Soft skills adalah sebuah istilah dalam sosiologi tentang EQ (Emotional Intelligence Quotient) seseorang, yang dapat kategorikan /klusterkan menjadi kehidupan sosial, komunikasi, bertutur bahasa, kebiasan, keramahan, optimis dan percayadiri.

2.2. Pengertian Fuzzy SystemLogika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam

Page 78: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

78

78

suatu ruang output. Sistem fuzzy atau logika fuzzy memiliki karakteristik dan keunggulan dalam menangani permasalahan yang bersifat ketidakpastian dan kebenaran parsial.

2.3. Himpunan Fuzzyhimpunan fuzzy nilai keanggotaan terletak

antara 0 sampai 1. Himpunan fuzzy memiliki 2 atribut :

a. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami,seperti : MUDA, PAROBAYA,TUA

b. Numeris, yaitu suatu nilai (angka) yang menunjukan ukuran dari suatu variabel seperti : 40, 25, 35

Hal-hal yang terdapat pada sistem fuzzy :a. Variabel Fuzzy, merupakan variabel yang

hendak dibahasdalam suatu sistem fuzzy,seperti umur, temperatur, dsb

b. Himpunan Fuzzy, merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy

c. Semesta Pembicaraan, adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy.

d. Domain, adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.

2.4. Fungsi KeanggotaanFungsi keanggotaan diperoleh dengan menggunakan fungsi representasi linear. Ada dua keadaan himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi.

Gambar 1 Representasi Linear Naik

Fungsi keanggotaan:

[x] =

0 ; ≤; ≤ ≤1; ≥

�kedua, merupakan kebalikan yang pertama. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah.

Gambar 2 Representasi Linear Turun

2.5. Sistem Inferensi Fuzzy

Metode inferensi yang digunakan adalah metode Tsukamoto

2.6. Metode TsukamotoSetiap konsekuen aturan yang berbentuk IF-THEN dalam metode tsukamoto harus direpresentasikan dengan suatu himpunan fuzzy yang fungsi keanggotannya monoton. Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan -predikat (fire strength). Hasil akhirnya diperoleh dengan rata-rata terbobot.

3. Analisa dan Perancangan Sistem

3.1. Perancangan InputBerikut ini adalah daftar aturan yang

digunakan sebagai basis inferensi:[R1] = IF Kehadiran = SEMANGAT and disiplin = DISIPLIN and berpikir kritis = KRITIS and kerjasama = KERJASAMA and kepemimpinan = CAKAP and kejujuran = JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = LULUS [R2] = IF Kehadiran = SEMANGAT and disiplin = TIDAK DISIPLIN and berpikir kritis = KRITIS and kerjasama = KERJASAMA and kepemimpinan = CAKAP and kejujuran = JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = LULUS [R3] = IF Kehadiran = SEMANGAT and disiplin = DISIPLIN and berpikir kritis = TIDAK KRITIS and kerjasama = TIDAK KERJASAMA and kepemimpinan = TIDAK CAKAP and kejujuran = TIDAK JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = LULUS[R4] = IF Kehadiran = SEMANGAT and disiplin = DISIPLIN and berpikir kritis = TIDAK KRITIS and kerjasama = TIDAK KERJASAMA and kepemimpinan = TIDAK CAKAP and kejujuran = TIDAK JUJUR and percaya diri = TIDAK PEDE and toleransi = TIDAK TOLERANSI THEN lulus = LULUS [R5] = IF Kehadiran = TIDAK SEMANGAT and disiplin = DISIPLIN and berpikir kritis = KRITIS and kerjasama = KERJASAMA and kepemimpinan = CAKAP and kejujuran = JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = LULUS [R6] = IF Kehadiran = TIDAK SEMANGAT and disiplin = DISIPLIN and berpikir kritis = KRITIS and kerjasama = KERJASAMA and kepemimpinan = CAKAP and kejujuran = JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = TIDAK LULUS

Page 79: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

79

79

[R7] = IF Kehadiran = SEMANGAT and disiplin = DISIPLIN and berpikir kritis = KRITIS and kerjasama = KERJASAMA and kepemimpinan = CAKAP and kejujuran = TIDAK JUJUR and percaya diri = PEDE and toleransi = TOLERANSI THEN lulus = TIDAK LULUS

3.2. Perancangan ProsesNilai keanggotaan untuk tiap himpunan

keanggotaan adalah sebagai berikut:1. Semangat

( ) =1, ≥ 10, 4 < < 100, ≤ 6

�( )

=1, ≤ 1010 −6 , 4 < < 10

0, ≥ 6�

2. Kedisiplinan

( ) =1, ≥ 10, 3 < < 100, ≤ 7

( ) =1, ≤ 7, 3 < < 100, ≥ 10

�3. Kritis

( ) =1, ≥ 8− 26 , 2 < < 8

0, ≤ 8�

( )=

1, ≤ 88 −6 , 2 < < 80, ≥ 8

�4. Kerjasama

( )=

1, ≥ 7− 34 , 3 < < 70, ≤ 7

( ) =1, ≤ 77 −4 , 3 < < 70, ≥ 7

�5. Kecakapan

( ) =1, ≥ 8− 35 , 3 < < 8

0, ≤ 8�

( )=

1, ≤ 88 −5 , 3 < < 80, ≥ 8

�6. Kejujuran

( )=

1, ≥ 10− 28 , 2 < < 100, ≤ 10

�( )

=1, ≤ 1010 −8 , 2 < < 100, ≥ 10

�7. Percaya diri

( ) =1, ≥ 7− 16 , 1 < < 7

0, ≤ 7�

( )=

1, ≤ 77 −6 , 1 < < 70, ≥ 7

�8. Toleransi

( )=

1, ≥ 6− 24 , 2 < < 60, ≤ 6

�( )

=1, ≤ 66 −4 , 2 < < 60, ≥ 6

�Nilai Kelulusan( )=

1, ≥ 100− 4060 , 40 < < 1000, ≤ 40

�( )

=0, ≤ 100100 −60 , 40 < < 100

1, ≥ 40�

Cari nilai -predikat untuk setiap aturan fuzzy yang dibuat dengan menggunakan fungsi MIN untuk kemudian -predikat 1, -predikat 2,.., -predikat 7 digunakan untuk mencari nilai z1, z1,.., z7:Nilai z =-predikat1*Z1 -predikat2* Z2 ... + -predikat7 *

-predikat1+-predikat2…-predikatn

Page 80: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

80

80

3.3. Perancangan Output Tabel 1 Nilai Kelulusan

Nilai Z Kriteria Kelulusan80-100 Nilai A Lulus70-79 Nilai B Lulus60-69 Nilai C Lulus40-59 Nilai D Lulus<40 Nilai E Tidak Lulus

3.4. Analisa Akurasi3.4.1. Data Semester yang lalu

Tabel 2 Penilaian Soft Skill Mahasiswa

Nama

Penilaian Soft Skill

Nilai1 2 3 4 5 6 7 8

Ridwan 9 7 6 7 7 8 6 5 85.90774

Syafei 6 5 7 7 6 8 7 4 78.95833

Rudi 8 8 6 6 7 7 6 5 83.40774

M. Ali 9 7 6 7 8 6 5 3 79.01786

Risma 6 7 6 6 7 9 4 4 76.19048

Tabel 3 Atribut Penilaian Soft Skill Mahasiswa

KodeAtribut SoftSkill % nilai Range nilai

1 Kehadiran 12.5 4-10

2 Kedisplinan 12.5 3-8

3 Kerjasama 12.5 3-7

4 Kritis 12.5 2-8

5 Kepemimpinan 12.5 3-8

6 Kejujuran 12.5 2-10

7 Percaya Diri 12.5 1-7

8 Toleransi 12.5 2-6

3.4.2 Penilaian dengan Fuzzy SystemTabel 4 Perbandingan Penilaian Soft Skill Mahasiswa Menggunakan Metode Fuzzy System dan Non Fuzzy

System

No Nama Non Fuzzy Fuzzy % selisih

1 Ridwan 85.9077381 76.29 11.19542699

2 Syafei 78.95833333 62.189 21.2382058

3 Rudi 83.4077381 69.7 16.43461195

4 M. Ali 79.01785714 64.11 18.86644068

5 Risma 76.19047619 65.16 14.4775Rata-rata selisih=16.44 %3.4.3 Contoh KasusSeorang mahasiswa mempunyai tingkat Kehadiran=9, Kedisiplinan=7, Kerjasama=6,Kritis=7, kepemimpinan=7, kejujuran=8,percayadiri=6, Toleransi=5, maka nilai kelulusan mahasiswa tersebut adalah:

Tabel 5 Contoh Penilaian Kelulusan Mahasiswa dengan Kriteria Tertentu

Rule -predikatn Zn

1 0.75 71.12 0.167 41.93 0.167 41.94 0.167 905 0.167 806 0.167 907 0.167 85

Diperoleh Nilai z = 76.29 dengan tingkat kelulusan “B”

Gambar 3 Tampilan Interface

4. KESIMPULAN1. Penilaian soft skill mahasiswa

menggunakan metode tsukamoto dapat dilakukan dengan menggunakan rata-rata terbobot dari hasil inferensi aturan.

2. Perbedaan selisih penilaian soft skill dengan non fuzzy dengan penilaian fuzzy adalah 16.44 %

3. Nilai z = 76.29 mengindikasikan bahwa mahasiswa lulus dengan predikat B.

Daftar Pustaka

[1] Kusumadewi, Sri., Pramono, Hari. 2004. Aplikasi Logika Fuzzy. Graha Ilmu, Yogyakarta.

[2] Kusumadewi, Sri. Penentuan Tingkat Resiko Penyakit Menggunakan Metode Tsukamoto. Seminar Nasional II: The Application Toward a Better Life.

[3] Rakhmat Wahyu, Liza Afriyanti. Aplikasi FIS Metode Tsukamoto Pada Simulasi Traffic Light Menggunakan Java. 2009. Seminar Nasional Aplikasi Teknologi Inforamasi 2009. Yogyakarta.

[4] Widhiastiwi, Yuni. Model Fuzzy dengan Metode Tsukamoto. Jurnal: Bina Widya Vol 18 No.02 Juli 2007. UPN, Yogyakarta.

Page 81: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

81

81

Optimasi Penataan Tipe Rumah Mengunakan Metode Algoritma DNA

Thabrani Ketut YudanaJurusan Teknik Informatika

Pasca Sarjana UnhasJurusan Teknik Informatika

Pasca Sarjana UnhasMakassar Makassar

[email protected] [email protected]

ABSTRAKSeluruh individu di muka bumi memiliki sel dalam tubuhnya. Di tiap-tiap sel terdapat inti sel. Di dalam inti sel, terdapat kromosom yang tersusun dari DNA, yang bertanggung-jawab dalam menentukan tipe dan fungsi sel. DNA ini menentukan karakteristik dari sebuah organisme yang berisikan seluruh material generika yang membangun perbedaan secara fisik antara manusia satu dengan manusia lainnya. Sifat perbedaan ini ditentukan dari kumpulan DNA yang tergabung di dalam gen (gene).Susunan DNA ini mempengaruhi perkembangan teknologi saat ini dengan lahirnya Aloritma DNA. Penerapannya umumnya dipergunakan untuk pencarian, optimalisasi, keamanan dan sebagainya.Makalah ini mencoba menjelaskan penerapan Algoritma DNA dalam mencari type rumah yang tepat untuk mengoptimalisasi keuntungan bagi pengembang perumahan

KATA KUNCIDNA, Algortima DNA, Optimasi, Perumahan

1. PENDAHULUAN1.1 Latar Belakang MasalahBisnis Perumahan adalah bisnis yang cukup menjanjikan. Pertumbuhan manusia yang tinggi dan migrasi manusia dari daerah atau desa ke kota menyebabkan peningkatan penduduk di kota.Peningkatan pendudukan ini menyebabkan peningkatan kebutuhan papan dan sandang. Semakin meningkatannya kebutuhan manusia memberikan peluang yang baik untuk usaha atau bisnis perumahan.Peningkatan Pembangunan perumahan juga menyebabkan peningkatan pengunaan lahan untuk pembangunan perumahan dan menyebabkan harga lahan meningkat. Bagi pengembang perumahan ini menjadi masalah dan mendapat perhatian yang serius untuk memaksimalkan pengunaan lahan dalam menentukan type rumah yant tepat untuk mendapatkan keuntungan yang maksimal.Perlu dipikirkan bagaimana menghasilkan keuntungan yang maksimal, yang seringkali menjadi permasalahan awal yang sering dihadapi oleh pengembang, dengan berbagai batasan yang dihadapi, seperti luas lahan, peraturan pemerintah dan tingkat permintaan masyarakat. Berdasarkan pengalaman dan pengamatan, penentuan secara kasar tidak membuahkan hasil yang terbaik.Dibutuhkan waktu yang cukup panjang untuk memperoleh komposisi perbandingan tipe rumah yang optimal, dan perlu dilakukan Operation Research untuk mencapai keuntungan yang seoptimal mungkin dengan memaksimalkan sumber daya yang ada serta memenuhi persyaratan yang berlaku. akan dilakukan analisa perbandingan unit rumah berbagai tipe rumah yang sesuai dan tepat, supaya diperoleh keuntungan yang paling maksimal. Digunakan Komputasi sebagai salah satu alternatif metode dengan mentode Algoritma yang diharapkan memberikan hasil yang merupakan perbandingan terbaik. Dalam menentukan perbandingan

tipe rumah, batasan berupa luas lahan efektif, dan batasan permintaan masing-masing tipe rumah.

1.2 Tujuan dan ManfaatTujuan dari penulisan ini adalah sebagai berikut :1. Tujuan Internal Akademik sebagai prasyarat untuk

kelulusan mata kuliah Analisis dan Desaing Algoritma.

2. Tujuan Eksternal untuk memaksimalkan lahan perumahan untuk membangun type rumah yang tepat untuk menghasilkan keuntungan yang maksimal bagi pemgembang perumahan.

3. Untuk mendapatkan String DNA yang terbaik untuk perumahan tersebut.

Manfaat dari penulisan ini adalah sebagai berikut :1. Untuk sebagai bahan kajian algoritma untuk proses-

proses optimalisasi dengan mengunakan Algoritma DNA

2. Membantu Pengembang Perumahan untuk menyelesaikan persoalan optimasi perumahan untuk mendapatkan keuntungan yang optimal

1.3 Batasan MasalahBatasan masalah penulisan ini adalah

1. Lahan Perumahan yang telah dibuat blok-blok dan jalan

2. Type rumah yang tepat yang disediakan oleh pengembang.

2. METODE PENELITIANUntuk menyelesaikan tulisan ini mengunakan

metode Algoritma DNA untuk melakukan komputasi dalam menentukan type rumah yang tepat untuk menghasilkan keuntungan yang maksima pada lahan yang telah dibuat site plannya. Genome (kumpulan kromosom) manusia tersusun atas 23 pasang kromosom, dimana tiap kromosom terdiri dari gene dan intergenic region (daerah yang diapit dua gen). Pada gen terdapat 20.000-25.000 protein coding region (exon-intron) yang berperan dalam melakukan sintesa protein. Sebagai pembentuk genome, DNA tersusun atas 4 basa nucleotida, yaitu A:adenine, C:cytosine, G:guanine, dan T:tymine. Setiap Individu manusia, terdiri dari 3 milyar pasangan basa nucleotidenamun hanya 6% saja yang mampu mensintesa protein dan l.k 50% adalah junk sequence. Sebagian besar dari penelitian satu dasawarsa terakhir, menitikberatkan pada teknik identifikasi coding region dengan mengunakan ICT yang dapat mereduksi waktu dan biaya dibandingkan dengan metode kimiawi biasa.

3. PEMBAHASAN DAN HASIL3.1 Penyelesaian Permasalahan

Untuk menyelesaikan permasalahan perumahan dengan menentukan type rumah yang akan dibangun pada suatu lokasi perumahan maka langkah-langkah yang dilakukan sebagai berikut :1. Menentukan lokasi perumahan

Page 82: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

82

82

2. Membuat jalan, blok dan baris deret rumah pada setiap blok. Setiap deret baris rumah dapat berbeda satu dengan yang lainnya

3. Menentukan type rumah yang akan dibuat dengan mengkombinasikan dengan luas lahan tiap rumah atau lebar setiap rumah

4. Menentukan keuntungan setiap type rumah dan luas/lebar lahan dan mementukan string DNA.

Untuk mendapatkan hasil yang optimal maka perlu diperhatikan adalah type rumah yang akan dibangun, luas lahan yang akan digunakan, dan biaya pembangun type rumah.Langkah untuk menyelesaikan type rumah yang akan dibangun pada setiap bloknya dengan komputasi sebagai berikut :1. Menghitung panjang blok2. Melakukan perhitungan dengan jumlah type rumah

masing-masing untuk setiap blok yang berbeda yang dapat dibangun dan menghitung keuntungan yang akan didapat setiap bloknya

3. Untuk setiap blok terdiri dari dua baris maka jumlah rumah, type dan keuntungan dikalikan dua.

4. Untuk setiap blok yang sama maka akan dikalikan dengan jumlah type yang terdapat pada masing-masing sesuai dengan hasil yang optimal pada langkah nomor 2

3.2. Penyelesain dengan metode Algoritma DNA

Teori Optimasi sangat aplikatif pada permasalahan-permaalahan yang menyangkut pengoptimalan, entah itu maksimasi atau minimasi. Ada banyak metode-metode optimasi yang berkembang mengikuti perkembangan di berbagai bidang, terutama dibidang perencanaan pembangunan, bidang industri, bidang perdagangan dan bidang-bidang lain yang juga menggunakan toeri optimasi. Untuk menyelesaikan persoalan terebut dengan metode Algoritma DNA. Langkah-Langkah sebagai berikut :1. Menentukan string terpendek DNA untuk setiap

kombinasi A, T, G, dan C (5’3’) dan pasangannya (3’5’) (Adding) yang didefenisikan dibawah ini

2. Melakukan komputasi dengan mempertimbangkan atau keuntungan yang maksimal pada setiap baris blok rumah dengan melakukan permutasi dan kombinasi pada setiap barisnya dengan type rumah yang ada.

3. Untuk setiap baris yang sama pada balok maka baris yang berikutnya menjadi (3’5’)

4. Untuk setiap blok yang sama maka akan dilakukan pengkopian DNA

5. Mengabungkan secara keseluruhan rangkaian DNA dari rangkaian DNA yang terbentuk dari blok

3.3 Flowchart Algoritma DNA

3.4 INPUT

3.4.1.1 Input Perumahan

Data Input adalah profile perumahan yaitu kode perumahan, nama, alamat dan luas areaContoh : Code : PBPName : Nama Perumahan Barombong Permai Address : Jl. Abdul Kudus – BarombongArea : 2000 M2

3.4.1.2 Input Type Rumah

Type RumahContoh Input data perumahanNo Type Nama DNA Nett Lbr1 T72 Type

MawarATTAA

21.000.000,- 12

2 T45 Type Melati

ATCAG

20.000.000,- 8

3 T35 Type Mawar

ATGGC

18.000.000,- 6

3.4.1.3 Input Blok

No Blok Baris Jumlah Baris

1 A 200 2

Page 83: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

83

83

2 B 210 2

3 C 250 2

4 D 205 2

3.5 Proses Komputasi dan Kombinasi

3.5.1 Solusi Permasalahan

Proses ini didapat dengan melakukan komputasi pada panjang blok dengan panjang dan lebar/luas type rumah kemudian mengkalikan jumlah type rumah yang didapat untuk setiap proses. Nilai terbesar dari proses tersebut adalah solusi optimal. Proses berikut adalah yang didapat setelah dilakukan beberapa kali kombinasi dan permutasi

--- Optimal DNA Solution ---Pattern(1) Blok length: 200Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000

Pattern(2) Blok length: 200Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 1 Keuntungan = 1 x 20000000 = 20000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 32 Keuntungan = 32 x 18000000 = 576000000

Pattern(3) Blok length: 200Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 20 Keuntungan = 20 x 21000000 = 420000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 210Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 1 Keuntungan = 1 x 21000000 = 21000000

Pattern(2) Blok length: 210Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 35 Keuntungan = 35 x 18000000 = 630000000

Pattern(3) Blok length: 210Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 21 Keuntungan = 21 x 21000000 = 441000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 250Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 30 Keuntungan = 30 x 20000000 = 600000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 1 Keuntungan = 1 x 21000000 = 21000000

Pattern(2) Blok length: 250Type Rumah T45- Type 45 Seruni

Panjang = 8 dengan jumlah type rumah = 2 Keuntungan = 2 x 20000000 = 40000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 39 Keuntungan = 39 x 18000000 = 702000000

Pattern(3) Blok length: 250Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 25 Keuntungan = 25 x 21000000 = 525000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 205Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 24 Keuntungan = 24 x 20000000 = 480000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 2 Keuntungan = 2 x 18000000 = 36000000

Pattern(2) Blok length: 205Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 34 Keuntungan = 34 x 18000000 = 612000000 Pattern(3) Blok length: 205Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 3 Keuntungan = 3 x 20000000 = 60000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 18 Keuntungan = 18 x 21000000 = 378000000

3.5.1.1 3.5.2. Total Type Rumah

3.5.3.Hasil DNA String

DNA BLOK A

DNA : String DNA untuk perumahan di atas : 5’ ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTA

Page 84: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

84

84

ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA 3’

Sedangkan String DNA untuk pasangan blok (Compliment) : 3’ TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT5’

Penjelasan : Blok A terdiri:Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000 Total Keuntungan = 1500000000,00

Blok A : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok B terdiri:Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 35 Keuntungan = 35 x 18000000 = 630000000 Total Keuntungan = 1260000000,00

Blok B : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok C terdiri :Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 2 Keuntungan = 2 x 20000000 = 40000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 39

Keuntungan = 39 x 18000000 = 702000000 Total Keuntungan = 1444000000,00

Blok C : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok D terdiri :Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 34 Keuntungan = 34 x 18000000 = 612000000 Total Keuntungan = 1224000000,00

Blok D : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

4. KESIMPULANDari pembahasan proses algortima DNA dapat ditarik kesimpulan sebagai berikut : 1. Proses optimasi perumahan adalah

membandingkankan panjang blok perumahan dengan lebar masing-masing type rumah yang tepat dengan melakukan komputasi dan komputasi, kemudian mencari nilai terbesar dari proses komputasi tersebut.

2. Untuk mendapatkan string DNA yang terbaik adalah dengan mengkonversi dari hasil optimal yang didapat pada proses (1) untuk baris pertama pada blok (5`3`) dan Compliment (5’3’) untuk baris kedua pada blok tersebut.

Referensi :[1] L.M. Adleman, Molecular computation of solutions to

combinatorial problems, Science 266 (1994) 1021–1024.

[2] L.M. Adleman, On constructing a molecular computer, in: R.J. Lipton, E.M. Baum (Eds.), DNA Based Computers I, Proceedings of a DIMACS Workshop, Princeton, 1995, American Mathematical Society, Providence, RI, 1996, pp. 1–22.

[3] M. Amos, A. Gibbons, D. Hodgson, Error-resistant implementation of DNA computation, in: L.F. Landweber, E.B. Baum, (Eds.), DNA Based Computers II, Proceedings of a DIMACS Workshop, Princeton, 1996, American Mathematical Society, Providence, RI, 1998, pp. 87–101.

[4] C.R. Calladine, H.R. Drew, Understanding DNA: The Molecule and How it Works, Academic Press, New York, 1999. [5] E. Csuhaj-Varju, R. Freund, L. Kari, G. Paun, DNA computing based on splicing: universality results, in: L. Hunter, T. Klein (Eds.), Proceedings of the First Pacific Symposium on

Page 85: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

85

85

Biocomputing, World Scientific, Singapore, 1996, pp. 179–190.

[6] T. Head, Formal language theory and DNA: an analysis of the generative capacity of specific recombinant behaviors, Bull. Math. Biol. 49 (1987) 737–759.

[7] T. Head, Splicing schemes and DNA, in: G. Rozenberg, A. Salomaa (Eds.), Lindenmayer Systems, Springer, Berlin, 1991, pp. 371–383.

[8] T. Head, G. Paun, D. Pixton, Language theory and moleculargenetics, in: G. Rozenberg, A. Salomaa (Eds.), Handbook of Formal Languages, Vol. 2, Springer, Berlin, 1997,pp. 295–358.

[9] Rudolf FREUND, DNA Computing Based on Splicing: The Existence of Universal Computers1, Technical University Wien, Institute for Computer Languages

Page 86: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

86

86

Implementasi Algoritma DNA Untuk Menyelesaikan KasusOptimasi Trayek Angkutan Kota Makassar

Erfan Hasmin As’ad DjamalilleilSTMIK Dipanegara STMIK Dipanegara

Jl. P. Kemerdekaan KM.9 Jl. P. Kemerdekaan KM.9Makassar Makassar

0411-587194 [email protected] [email protected]

ABSTRACTAlgoritma DNA merupakan salah satu metode pendekatan untuk menyelesaikan masalah optimasi. Algoritma DNA menggunakan proses yang berlangsung dalam pengujian DNA, dimana pada DNA terdapat sejumlah operasi diantaranya adalah anneal, ligation, mergence , amplification, melting, detection, dsb. Salah satu penerapan algoritma DNA adalah mencari solusi optimal pada titik simpang jalur angkutan umum. Dalam mencari lintasan optimal pada sebuah titik simpang, tiap parameter dan bobot parameter dikodekan menggunakan kode DNA (A,C,G,T), setelah itu dilakukan proses DNA pada setiap parameter unutk masing –masing jalur . Proses tersebut adalah amplification untuk memperbesar untaian DNA, ligation untuk menghubungkan untaian dengan bobot dan terakhir meltinguntuk memisahkan untaian ganda menjadi untaian tunggal. Metode algoritma DNA dapat menyelesaikan masalah optimasi trayek angkutan umum secara tepat. Namun jika permasalahannya diperbesar termasuk parameter yang diperbanyak dan rentan bobot juga telah diperbanyak, maka tingkat penyelesaiannya juga akan semakin rumit.

Categories and Subject DescriptorsD.2.2 [Visual Basic]: menggunakan objek-objek berupa komponen visual dan non-visual, dapat pula digunakan untuk membuat class berbentuk activeX dan pustaka fungsi berupa file dynamic-link-library (dll).

General TermsAlgorithms

KeywordsDNA, Algortima DNA, Optimasi, Trayek Angkutan Jalan Raya, Makassar

1. PENDAHULUAN1.1. Latar BelakangDalam perkembangan dunia teknologi informasi yang pesat akhir-akhir ini diperlukan adanya suatu sistem yang bersifat taktis dan praktis. Hal ini diperlukan untuk memperoleh suatu keputusan yang cepat dan akurat. Dan untuk menghasilkan suatu keputusan yang cepat dan akurat tersebut diperlukan adanya data yang benar. Dan berhubungan dengan masalah di atas maka salah satu contoh penerapannya adalah dengan masalah optimasi penentuan trayek angkutan umum. Optimasi dibutuhkan untuk efektifitas dan efisensi dalam penentuan keputusan jumlah angkutan tiap trayek angkutan umum. Angkutan umum merupakan salah satu media transportasi yang digunakan masyarakat secara bersama-sama dengan membayar tarif. Pengelolaan angkutan umum dikelolah oleh pemerintah melalui BUMN atau BUMD dan pengelolaannya pun bisa ditangani pihak swasta berupa bahan usaha. Optimasi trayek angkutan umum jalan raya menjadi permasalahan tersendiri dikarenakan kemacetan yang terjadi di beberapa kota besar. Untuk penerapan optimasi tersebut maka diperlukan suatu studi kasus yang real, yaitu optimasi penentuan trayek angkutan umum di wilayah kota Makassar khususnya trayek S (BTP –Makassar Mall).Untuk melakukan optimasi trayek angkutan umum diperlukan beberapa nilai parameter acuan diantaranya pusat – pusat pemukiman kawasan yang dilalui, tujuan penumpang baik sekolah, kantor dan pusat perbelanjaan. Dan untuk mengelolah dan menganalisis berbagai parameter tersebut maka digunakanlah suatu metode. Metode yang digunakan adalah

Algoritma DNA atau biasa disebut DNA computation. Keunggulan dari algoritma DNA ialah kemampuannya untuk menganalisa proses - proses secara pararel walaupun sampai saat ini algoritma DNA masih tentatif dan metode analisa data masih terus dikembangkan.

1.1 Rumusan MasalahMelihat sistem angkutan umum yang cukup luas yang mencakup jalan raya, laut dan udara ,maka dalam penulisan tugas ini, penulis hanya membatasi permasalahan dalam hal a) Bagaimana menentukan Jalur yang ideal (optimal) bagi

tiap angkutan umum bila di jalur mereka terdapat simpang yang memungkinkan angkutan untuk memilih jalur.

b) Bagaimana menerapkan algortima DNA dalam penyelesaian masalah opotimasi trayek angkutan umum.

c) Bagaimana bobot tiap parameter sangat mempengaruhi hasil optimasi.

1.3 Tujuan PenelitianAdapun tujuan penelitian ini adalah :1. Mengoptimalkan pembagian trayek angkutan umum secara

efektif dan efesien. 2. Mengatur sistem tata kelola trayek angkutan umum.3. Implementasi algoritma DNA untuk solusi optimasi .

2 LANDASAN TEORI2.1. Pengertian DNAAsam deoksiribonukleat, lebih dikenal dengan DNA (bahasa Inggris: deoxyribonucleic acid), adalah sejenis asam nukleat yang tergolong biomolekul utama penyusun berat kering setiap organisme. Di dalam sel, DNA umumnya terletak di dalam inti sel. Secara garis besar, peran DNA di dalam sebuah sel adalah sebagai materi genetik; artinya, DNA menyimpan cetak biru bagi segala aktivitas sel. Hal ini berlaku umum bagi setiap organisme.

2.2. Struktur DNADNA merupakan polimer yang terdiri dari tiga komponen utama, yaitu gugus fosfat, gula deoksiribosa, dan basa nitrogen. Sebuah unit monomer DNA yang terdiri dari ketiga komponen tersebut dinamakan nukleotida, sehingga DNA tergolong sebagai polinukleotida. Rangka utama untaian DNA terdiri dari gugus fosfat dan gula yang berselang-seling. Gula pada DNA adalah gula pentosa (berkarbon lima), yaitu 2-deoksiribosa. Dua gugus gula terhubung dengan fosfat melalui ikatan fosfodiester antara atom karbon ketiga pada cincin satu gula dan atom karbon kelima pada gula lainnya. Pada struktur heliks paralel, orientasi rantai nukleotida pada satu untaian berlawanan dengan orientasi nukleotida untaian lainnya. Hal ini disebut sebagai antiparalel. Masing-masing untaian terdiri dari rangka utama, sebagai struktur utama, dan basa nitrogen, yang berinteraksi dengan untaian DNA satunya pada heliks. Kedua untaian pada heliks paralel DNA disatukan oleh ikatan hidrogen antara basa-basa yang terdapat pada kedua untaian tersebut. Empat basa yang ditemukan pada DNA adalah adenin (dilambangkan A), sitosin (C, dari cytosine), guanin (G), dan timin (T). Adenin berikatan hidrogen dengan timin, sedangkan guanin berikatan dengan sitosin.

Page 87: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

87

87

Gambar 1. DNA dengan model heliks paralel:Keterangan:A.adenine C.cytosine D.deoxyriboseT.thymine G.guanine P.Phosphate

2.3. Algoritma DNAa) Watson-Crick PairingJika suatu molekul DNA dalam penyelesaiannya bertemu dengan komplemen Watson-Crick, maka A dikomplemenkan dengan T dan C dikomplemenkan dengan G.b)MeltingMerupakan invers dari anneal, artinya pemisahan DNA dari untaian ganda menjadi untaian tunggal.

c) LigationLigation menggabungkan untaian DNA, dengan artian digunakan sebagai ’lem’ untuk menyegel ikatan kovalen antara untaian DNA yang bersebelahan.

Gambar 2. Proses Ligation

d)AmplificationDigunakan untuk mengidentifikasi urutan yang akan di salin, dimana, pengoperasiannya adalah membuat salinan yang berlipat-lipat pada subbarisan dari untaian. Salinan ini menggunakan metode PCR (Adleman L. M, 1998).e) MergenceOperasi ini berarti menggabungkan tabung reaksi dengan cara menuangkan isi dari satu tabung reaksi ke tabung reaksi yang lain. f) DetectionOperasi ini menandakan gel electrophoresis yang ada digunakan untuk melihat panjang DNA yang sesuai pada sisi kiri tabung reaksi setelah ampilifikasi PCR.g) Gel electrophoresisSebuah penyelesaian dalam untaian DNA dapat dipisahkan berdasarkan panjangnya dengan bantuan gel electrophoresis. Sebenarnya, molekul dipisahkan menurut berat/ bobot mereka, yang mana hampir sebanding dari panjangnya. Teknik ini berdasar pada kenyataan bahwa molekul DNA bermuatan negatif. Sehingga, dengan meletakkan untaian tersebut didalam suatu bidang elektrik, maka untaian tersebut akan bergerak ke arah elektroda positif dengan kecepatan yang berbeda (Ibrahim, 2006).

3 HASIL DAN PEMBAHASAN3.1. Komputasi Algoritma DNA Pada tiap titik simpang terdapat dua jalur yang memungkinkan angkutan umum untuk memilih jalur yang paling menguntungkan dalam hal ini yang paling optimal. dimana tiap ruas jalan yang dipilih memiliki berbagai parameter penilaian yang dapat dijadikan acuan dalam menganalisa jalur mana yang optimal dilalui untuk rentang jam tertentu.Misalkan diberikan contoh pada simpang tertentu dan jam tertentu

Gambar 3. Bobot Simpang Sesuai PeriodePada contoh di atas di tiap jalur utama maupun jalur alternatif terdapat 4 Parameter (W, X, Y, Z) dimana tiap paramenter memiliki bobot masing-masing. Permasalahannya adalah bagaimana menemukan lintasan optimal pada kasus di atas dengan menggunakan algoritma DNA, kemudian ddefinisikan notasi :

a) O_i (i = 1,..., V) barisan acak yang panjangnya tetap dan berkorespodensi ke semua titik;

b)Ō_i (i = 1,..., V)barisan yang panjangnya tetap dan berkorespondensi ke komplemen dari O_i;

c) O_d (d =1,..., P) adalah panjang variabel pada barisan acak dan berkorespondensi ke semua bobot parameter d dalam jalur;

d)Ō_d (d =1,..., P) adalah panjang variabel pada barisanberkorespondensi ke komplemen dari O_d

3.2. Pengkodean DNATahap pertama, mengkodekan setiap Parameter dan bobotnya dengan menggunakan kode DNA secara acak (A, C, G, T) beserta komplemennya. Pengkodean awal dilakukan untuk simpul di dalam tabung reaksi yang dimisalkan sebagai T1

yang bisa dilihat pada tabel dibawah Tabel 1. Contoh Pengkodean

misalkan d{i} adalah bobot parameter i, tiap parameter kemudian dikodekan yang dimisalkan sebagai T2 seperti pada tabel 2.Tabel 2. Contoh Pengkodean

ParameterAlia

sKode DNA

Komplemen

PopulasiPenumpang

W TATT ATAA

Waktu TempuhKe titik B

X GCGG CGCC

TumpukanAngkutan

Y GTCG CAGC

JumlahPenumpang

Z AGAA TCTT

Bobotrusuk

Kode DNA Komplemen

d{1} AAT TTAd{2} TCGATT AGCTAAd{3} TCTTCGTCG AGAAGCAGCd{4} ACGACGTTAATT TGCTGCAATTAAd{5} CTGACTGACTGACTG GACTGACTGACTGAC

Page 88: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

88

88

3.3. Operasi Amplification

Tahap kedua, melakukan operasi amplification dengan menghubungkan antara parameter dan bobot dari tiap simpul untuk menghasilkan himpunan untaian DNA dalam skala besar namun sebelumnya diberikan syarat,if i = 1 then buat untaian O_i_d i artinya kode DNA O_i + DNA O_d + HL kode DNA O_i;if i > 1 then buat untaian O_j_d i artinya HR kode DNA O_i + kode DNA O_d + HL kode DNA O_idimana :i : parameter;

d : bobot rusuk;HL : Half Left (setengah kode sebelah kiri dari parameter);HR : Half Right (setengah kode sebelah kanan dari parameter).

3.3.1.Amplification Jalur UtamaUntuk Parameter W, maka d = 5 dan panjang lintasannya dapat dicari dengan O_S_W 5, artinya setengah kode DNA sebelah kanan dari parameter W(TT) + semua kode DNA yang panjang rusuknya 5 (CTGACTGACTGACTG) + setengah kode sebelah kiri dari simpul W(TA) sehingga parameter tersebut memiliki panjang untaian (TTCTGACTGACTGACTG TA).Untuk Parameter X, maka d = 2 dan panjang lintasannya dapat dicari dengan O_S_X 2, artinya setengah kode DNA sebelah kanan dari parameter X(GG) + semua kode DNA yang panjang rusuknya 2(TCGATT) + setengah kode sebelah kiri dari simpul X(GC) sehingga parameter tersebut memiliki panjang untaian (GGTCGATTGC).Untuk Parameter Y, maka d = 1 dan panjang lintasannya dapat dicari dengan O_S_Y 1, artinya semua kode DNA parameter Y(GTCG) + semua kode DNA yang panjang rusuknya 1(ATT) + setengah kode sebelah kiri dari simpul Y(GT) sehingga parameter tersebut memiliki panjang untaian (GTCGATTGT).Untuk Parameter Z, maka d = 3 dan panjang lintasannya dapat dicari dengan O_S_Z 3, artinya setengah kode DNA sebelah kanan dari parameter Z(AA) + semua kode DNA yang panjang rusuknya 3(TCTTCGTCG) + setengah kode sebelah kiri dari simpul Z(AG) sehingga parameter tersebut memiliki panjang untaian (AA TCTTCGTCGAG).

ParameterAlias Bob

otUntaian

Populasi Penumpang

W 5 TTCTGACTGACTGACTGTA

Waktu Tempuh Ke titik B

X 2 GCTCGATTGG

Tumpukan Angkutan

Y 1 GTCGATTGT

Jumlah Penumpang

Z 3 AATCTTCGTCGAG

Tabel 3. Untaian Untuk Jalur Utama

3.3.2 Amplification Jalur AlternatifUntuk Parameter W, maka d = 3 dan panjang lintasannya dapat dicari dengan O_S_W 3, artinya setengah kode DNA sebelah kanan dari parameter W(TT) + semua kode DNA yang panjang rusuknya 3(TCTTCGTCG) + setengah kode sebelah kiri dari simpul W(TA) sehingga parameter tersebut memiliki panjang untaian (TT TCTTCGTCG TA).Untuk Parameter X, maka d = 3 dan panjang lintasannya dapat dicari dengan O_S_X 3, artinya setengah kode DNA sebelah kanan dari parameter X(GG) + semua kode DNA yang panjang rusuknya 3(TCTTCGTCG) + setengah kode sebelah kiri dari simpul X(GC) sehingga parameter tersebut memiliki panjang untaian (GGTCTTCGTCGGC).

Untuk Parameter Y, maka d = 4 dan panjang lintasannya dapat dicari dengan O_S_Y 4, artinya setengah kode DNA sebelah kanan dari parameter Y(CG) + semua kode DNA yang panjang rusuknya 4(ACGACGTTAATT) + setengah kode sebelah kiri dari simpul Y(GT) sehingga parameter tersebut memiliki panjang untaian (CGACGACGTTAATTGT).Untuk Parameter Z, maka d = 1 dan panjang lintasannya dapat dicari dengan O_S_Z 3, artinya semua kode DNA parameter Z(AGAA) + semua kode DNA yang panjang rusuknya 1(ATT) + setengah kode sebelah kiri dari simpul Z(AG) sehingga parameter tersebut memiliki panjang untaian (AGAAATTAG).Tabel 4. Untaian Untuk Jalur Alternatif

3.4. Operasi LigationTahap ketiga melakukan operasi ligation dan amplification. Operasi ligation berfungsi menghubungkan untaian dari parameter–parameter yang telah di dapat dari tahap kedua. dan operasi ampilfication untuk memperbesar kode komplemennya dengan cara menambahkan setengah kode akhir komplemen pada parameter sebelumnya. Jalur UtamaW-X-Y-Z TTCTGACTGACTGACTGTAGCTCGATTGGGTCGATTGTAATCTTCGTCGAG

W-5-X-2-Y-1-Z-3 ATAAGACTGACTGACTGACCGCCAGCTAACAGCTTATCTTAGAAGCAGC

Jalur AlternatifW-X-Y-Z TTTCTTCGTCGTAGGTCTTCGTCGGCCGACGACGTTAATTGTAGAAATTAG

W-3-X-3-Y-4-Z-1 ATAAAGAAGCAGCCGCCAGAAGCAGCTGCTGCAATTAACAGCTCTTTTA

3.5. Operasi MeltingBerikutnya pada tahap keempat, setelah proses amplification selesai pada tabung reaksi. Untaian tersebut kemudian di melting yaitu memisahkan untaian ganda menjadi untaian tunggal.

ATAAGACTGACTGACTGACCGCCAGCTAACAGCTTATCTTAGAAGCAGCATAAAGAAGCAGCCGCCAGAAGCAGCTGCTGCAATTAACAGCTCTTTTA

3.6. Operasi DetectionTahap terakhir, semua untaian pada tahap sebelumnya dipisahkan menurut panjangnya melalui gel electrophoresis. Disini juga terjadi proses detection untuk memeriksa untaian yang terpendek, maka didapatkan untaian atau jalur optimal tersebut adalah,

Untaian Jalur UtamaATAAGACTGACTGACTGACCGCCAGCTAACAGCTTATCTTAGAAGCAGC

Untaian Jalur AlternatifATAAAGAAGCAGCCGCCAGAAGCAGCTGCTGCAATTAACAGCTCTTTTA

Dari kedua untaian tersebut dapat diketahui Kedua jalur baik jalur alternatif maupun jalur utama untuk contoh kasus di atas memiliki peluang dan potensiyang sama guna mendapatkan solusi optimal/penumpang optimal.

3.7 Pseudocode Algoritma DNA

a) Pseudocode AmplificationProcedure amplificatioan( no , kodeDNAP , bobot , kodeDNAB ) If bobot = 1 Then

untaian(no) = kodeDNApara) & kodeDNAB & Left(kodeDNAP, 2)

Elseuntaian(no) = Mid(kodeDNApara, 3, &kodeDNAbobot&left(kodeDNApara, 2)

End If

Parameter Alias Bobot UntaianPopulasi Penumpang

W 3 TTTCTTCGTCGTA

Waktu Tempuh Ke titik B

X 3 GGTCTTCGTCGGC

Tumpukan Angkutan

Y 4 CGACGACGTTAATTGT

Jumlah Penumpang

Z 1 AGAAATTAG

Page 89: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

89

89

b) Pseudocode ligationligation(lokasiUtama)i = 1While I < Jumlahparameter DnaLigationUtama = DnaLigationUtama) & untaian(i) KompLigationUtama = KompLigationUtama) &

Kompparameter(i) & bobot i = i + 1Wend

3.8 Analisa PerformansiDNA Awal Panjang Untaian jalur optimal

4 51 Jalur Utam dan Alternatif 8 89 Jalur Utam dan Alternatif 12 121 Jalur Utam dan Alternatif

dari hasil uji coba untuk dna awal 4, 8, dan 12 dapat disimpulkan bahwa jumlah kode dna awal tidak mempengaruhi hasil atau jalur optimal

3.9 APLIKASI

Gambar 4. Output Program

Gambar 4 menunjukan denah dari jalur trayek S (BTP –Makassar Mall) dan tiap-tiap titik simpang yang memungkinkan angkutan untuk memilih Jalur yang optimal.

Gambar 5. Input Bobot Parameter

Gambar 5 menunjukan penginputan bobot dari tiap parameter untuk setiap jalur arternatif maupun jalur utama.

4 KESIMPULANBerdasarkan hasil pembahasan diatas, dapat diambil kesimpulan sebagai berikut :1. Algoritma DNA dapat digunakan unutk menyelsaikan

kasus optimasi trayek angkutan umum khususnya masalah optimasi jalur utama dan jalur alternative

2. Pemilihan jalur optimal apakah jalur utama maupun jalur alternatif sangat dipengaruhi oleh tiap-tiap bobot parameter

3. Pemilihan proses-proses Algortima DNA sangat mempengaruhi tingkat ketepatan dari kasus yang diteliti.

5 PUSTAKA[1] Hadijah. 2010. Penggunaan algoritma dna untuk

menyelesaian masalah lintasan hamilton. universitas

Hasanuddin, Makassar

[2] Ir. Inge Martina. 2003. 36 Jam Belajar Komputer Microsoft SQL Server 2000, Elex Media Komputindo.

[3] Yuswanto. 2005. Pemrograman Client Server Microsoft Visual Basic 6.0 Jilid 2, Prestasi Pustaka Publisher.

Page 90: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

90

90

Gambar 6. Output Hasil Program

Gambar 6 adalah hasil dari penyelesaian kasus jalur optimal berdasarkan bobot yang telah ditetapkan untuk tiap parameter.

Gambar 7. Output Untaian Jalur Utama dan Alternatif

Gambar 7 menunjunkan hasil untaian dari proses-proses Algortima DNA berdasarkan bobot dari tiap parameterGambar 8. Keterangan Bobot Parameter

Gambar 8 menunjukan keterangan dari tiap – tiap bobot untuk masing – masing parameter.

Page 91: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

91

91

OPTIMASI PENDAPATAN ANGKUTAN UMUMMENGGUNAKAN ALGORITMA GENETIKA

Yesaya Tommy PaulusSTMIK Dipanegara

Jl. Perintis Kemerdekaan Km.9Jl. Tanjung Dapura No. 32A

+62(0411)7390255

[email protected]

JupriSTMIK Dipanegara

Jl. Perintis Kemerdekaan Km.9Jl. Urip Sumoharjo 118

+62(0411)440147

[email protected]

AbstrakBerdasarkan hasil pengamatan di lapangan, dan wawancara di Dinas Perhubungan, bahwa dengan banyaknya jumlah angkutan umum yang beroperasi dalam satu jalur atau rute akan mengakibatkan persaingan yang ketat dalam hal pendapatan sehingga kadang sebuah angkutan umum tidak mendapatkan pendapatan yang maksimal. Untuk menyelesaikan masalah tersebut maka diperlukan suatu studi kasus yang nyata, yaitu optimasi pendapatan maksimal di wilayah kota Makassar khususnya jalur 08 (Linkungan Kampus UNHAS) dengan menggunakan algoritma Genetika.

KeywordsAlgoritma Genetika, Optimasi.

PENDAHULUAN1.1 Latar Belakang Masalah Makassar dikenal sebagai salah satu kota besar di Indonesia. Makanan khas yang terkenal lezat, objek wisata Pantai Losari, dan perkembangan kota yang begitu pesat beberapa tahun terakhir ini membuat Makassar menjadi kota yang sangat padat. Hal ini terasa sekali dalam bidang transportasi umum dimana terdapat banyak angkutan umum yang beroperasi di setiap jalur atau rute perjalanan.Berdasarkan hasil pengamatan di lapangan, dan wawancara di Dinas Perhubungan, bahwa dengan banyaknya jumlah angkutan umum yang beroperasi dalam satu jalur atau rute akan mengakibatkan persaingan yang ketat dalam hal pendapatan sehingga kadang sebuah angkutan umum tidak mendapatkan pendapatan yang maksimal.Karena permasalahan di atas maka diperlukanlah sebuah sistem yang membantu untuk mengoptimalkan pendapatan maksimal untuk setiap angkutan umum. Untuk menerapkan optimasi tersebut maka diperlukan suatu studi kasus yang nyata, yaitu optimasi pendapatan maksimal di wilayah kota Makassar khususnya jalur 08 (Linkungan Kampus UNHAS) dengan beberapa parameter yang digunakan sebagai nilai acuan diantaranya adalah titik-titk penumpang menunggu angkutan umum, jumlah penumpang, waktu aktifitas kampus yang padat, dan tarif atau ongkos angkutan umum.Untuk mengolah dan menganalisis berbagai parameter tersebut maka diperlukan suatu metode penyelesaian yang dapat digunakan untuk mengoptimalkan pendapatan maksimal angkutan umum yaitu Algoritma Genetika, karena algoritma ini merupakan sebuah metode yang memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi yang memiliki fungsi rekombinasi, mutasi, maupun perbaikan individu, dan yang menggunakan proses-proses yang sebagian besar dilakukan secara acak. dan menghasilkan solusi yang bagus.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan di atas, maka dapat ditarik suatu rumusan masalah yaitu : “Bagaimana mengoptimalkan pendapatan angkutan umum di wilayah kota Makassar khusunya jalur 08 dengan menggunakan algoritma genetika”

1.3 Batasan MasalahMelihat banyaknya permasalahan yang didapatkan, maka dalam makalah ini, penulis membatasi permasalahan dalam hal :1. Jalur angkutan umum yang digunakan adalah jalur 08

(Linkungan Kampus UNHAS).2. Pendapatan maksimal angkutan umum untuk satu jam adalah

≥ Rp.100.000,- pada waktu-waktu aktifitas lingkungan kampus yang padat.

3. Kecapatan yang digunakan angkutan umum berkisar 40km/jam sampai 60km/jam dan jarak tempuh adalah sama yaitu ± 5000m.

1.4 Ruang Lingkup PenelitianDengan memperhatikan rumusan masalah dan tujuan penelitian di atas, maka ruang lingkup penelitian adalah sebagai berikut :1. Menganalisa berbagai faktor di antaranya

tentang pemukiman, akses jalan, titik-titik tunggu penumpang.

2. Mendesain perangkat lunak dengan menerapkan teknik algortima genetika untuk menentukan optimasi pendapatan angkutan umum.

LANDASAN TEORIMasalah Pendapatan Angkutan UmumKebutuhan akan sarana transportasi dari waktu ke waktu terus mengalami peningkatan akibat semakin banyaknya kegiatan- kegiatan yang membutuhkan jasa trnsportasi sehingga bertambah pula intensitas pergerakan lalu lintas kota. Seiring dengan meningkatnya mobilitas di sekitar kampus Unhas, maka dituntut tersedianya angkutan umum yang melayani jalur kampus Unhas. Angkutan umum sebagai bagian dari sistem transportasi masyarakat yanag merupakan salah satu kebutuhan pokok masyarakat. Keberadaan angkutan umum sangat dibutuhkan, tetapi bila tidak ditangani dengan baik dan benar akan merupakan masalah bagi kehidupan

Page 92: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

92

manusia. Penelitian ini merupakan studi kasus dengan menggunakan metode survei dan wawancara kepada supir dan penumpang, dimana pengambilan sample dilakukan berdasarkan asumsi peneliti (dalam hal ini penulis). Data yang digunakan adalah data primer (langsung dari lapangan) dan data sekunder (dari instansi yang terkait). Penelitian ini membahas mengenai pendapatan maksimal angkutan umum pada jalur08 lingkungan kampus Unhas. Dalam penelitian ini yang dilakukan adalah identifikasi kinerja angkutan umum ditinjau dari tingkat efektivitas dengan parameter banyaknya putaran, waktu-waktu aktififitas kampus, kecepatan rata – rata, dan jumlah penumpang.

Algoritma GenetikaAlgoritma genetika adalah suatu algoritmapencarian data dan optimasi yang bersifatstokastik atau bekerja berdasarkan random,berbasis pada proses mekanika alamiah dimana sifat-sifat suatu spesies sangat bergantung pada gen-gen dan susunannya. Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional.Ada beberapa definisi umum dalam algoritma genetika yang perlu diketahui dan berkaitan dengan masalah yang akan dibahas oleh penulis mengenai optimasi pendapatan angkutan umum menggunakan algoritma genetika, yaitu : Satu individu adalah satu kesatuan kromosom. Satu kromosom adalah kumpulan dari gen-gen. Gen adalah satuan nilai yang menyatakan suatu nilai variabel

bebas. Nilai fitness suatu individu adalah nilai tujuan dari

permasalahan yang diangkat.

Sedangkan gen dapat direpresentasikan dalam bentuk : Biner, baik untuk sistem dengan satu variabel bebas. Float, baik untuk sistem dengan variabel bebas yang lebih

dari satu. String/Data, baik untuk sistem dengan variabel bebas yang

dinyatakan sebagai satu satuan informasi.

Struktur umum dari suatu algoritma genetikadapat didefinisikan dengan langkah-langkahsebagai berikut :1. Bangkitkan populasi awal, populasi awal ini dibangkitkan

secara random sehingga didapatkan solusi awal. Dimana populasi itu sendiri terdiri dari sejumlah kromosom yang mempresentasikan solusi yang diinginkan.

2. Membentuk generasi baru, dalam membentuk generasi baru digunakan tiga operator yaitu reproduksi/seleksi, crossover dan mutasi.

3. Evaluasi solusi, proses ini akan mengevaluasi setiap populasi

Beberapa kriteria berhenti yang seringdigunakan antara lain :• Berhenti pada generasi tertentu,• Berhenti setelah dalam beberapa generasi berturut-turut

didapatkan nilai fitness tertinggi tidak berubah.• Berhenti bila dalam N generasi berikut tidak didapatkan

nilai fitness yang lebih tinggi.

Perlu diingat sebelum algoritma genetikadilakukan, ada dua hal penting yang harusdilakukan yaitu pendefinisian kromosom danfungsi fitness atau fungsi obyektif. Dua hal inijuga memegang peranan penting dalam algoritma genetika untuk menyelesaikan suatu masalah. Ilustrasi di bawah ini menggambarkan proses algoritma genetika secara umum.

Gambar 2.1 Proses algoritma genetika secara umum

PEMBAHASAN DAN HASILSeperti yang telah di bahas sebelumnya bahwa yang menjadi pokok permasalahan yaitu bagaimana menentukan pendapatan maksimal angkutan umum di wilayah kota Makassar khususnya jalur 08. Seperti yang kita ketahui bahwa jalur 08 mempunyai jalur tempuh hanya pada lingkungan kampus UNHAS yang dimulaidari Pintu 1 sampai Pintu 2 dan kembali lagi ke Pintu 1, ini berarti jarak tempuh angkutan umum adalah sama disetiap kali perputaran (Pintu1 Pintu 2 Pintu 1) yaitu ±5000m dan kecepatan yang digunakan setiap angkutan umum berkisar antara 40km/jam sampai 60km/jam dengan tarif angkutan umum untuk setiap orang adalah Rp. 2000,-.

Inisialisasi Populasi

Evaluasi fitness setiapindividu dalam populasi

Seleksi(Roulette Whell)

Crossover

Mutasi

DiharapkanTidak

Hasil / Selesai

Ya

pengulangan gernerasi

Page 93: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

93

93

Gambar 3.1 Peta jalur angkutan umum untuk jalur 08

Dalam satu jam setiap angkutan umum khususnya jalur 08 harus mendapatkan pemasukan lebih besar atau sama dengan Rp. 100.000,-.3.1 Inisialisasi PopulasiInisialisasi populasi adalah membangkitkan populasi awal yang akan menjadi induk bagi keturunan generasi selanjutnya. Pembangkitan populasi awal ini dilakukan secara acak dengan ruang lingkup yang dibatasi pada bilangan biner.Langkah pertama bangkitkan 10 individu awal atau kromosom awal secara acak, sebagai berikut:

I1 [43 12]I2 [59 5]I3 [53 9]I4 [47 6]I5 [44 9]I6 [50 6]I7 [59 8]I8 [48 9]I9 [55 8]I10 [41 7]

Langkah selanjutnya lakukan konversi dari bilangan integer menjadi bilangan biner, sebagai berikut :

I1 [1 0 1 0 1 1 1 1 0 0]I2 [1 1 1 0 1 1 0 1 0 1]I3 [1 1 0 1 0 1 1 0 0 1]I4 [1 0 1 1 1 1 0 1 1 0]I5 [1 0 1 1 0 0 1 0 0 1]I6 [1 1 0 0 1 0 0 1 1 0]I7 [1 1 1 0 1 1 1 0 0 0]I8 [1 1 0 0 0 0 1 0 0 1]I9 [1 1 0 1 1 1 1 0 0 0]I10 [1 0 1 0 0 1 0 1 1 1]

Setelah dikonversi ke bilangan biner, kemudian lakukan evaluasi fitness untuk setiap individu dalam populasi.

3.2 Evaluasi IndividuSetiap individu yang telah dibangkitkan harus dievaluasi dengan cara menghitung nilai fitnessnya (kecocokan pendapatan angkutan umum yang didapat dalam 1 jam yaitu ≥ 100000) dengan menggunakan fungsi :

fi = BP * JP * Tr, i = 1, 2, ….., n

Keterangan :

fi adalah fungsi untuk menghitung nilai fitness, dimana i adalah individu ke-1 s/d ke-nBP adalah banyaknya putaran angkutan umum yang terjadi dalam 1 jam, dimana nilainya ditentukan dengan fungsi berikut :

BP = 60 ( ∗ 60)dimana S adalah jarak tempuh angkutan umum (±5000m) dan V adalah kecepatan tempuh angkutan umum (40km/jam – 60 km/jam) yang nilainya dikonversi dalam satuan meter.

JP adalah jumlah penumpang yang naik angkutan umum,Tr adalah tarif angkutan umum yaitu Rp. 2000,-per penumpang.

Jika nilai fitness (fi) ≥ 100000, maka nilai fitness tersebut bisa dikatakan layak untuk diproses lebih lanjut, dan jika tidak maka proses evaluasi individu harus diulang sampai nilai fitness terpenuhi yaitu fi ≥ 100000, Nilai fitness yang layak untuk 10 individu awal yang telah dibangkitkan adalah sebagai berikut :

I1 BP = 9 f1 = 9 * 12 * 2000 = 216000I2 BP = 12 f2 = 12 * 5 * 2000 = 120000I3 BP = 11 f3 = 11 * 9 * 2000 = 198000I4 BP = 9 f4 = 9 * 6 * 2000 = 108000I5 BP = 9 f5 = 9 * 9 * 2000 = 162000I6 BP = 10 f6 = 10 * 6 * 2000 = 120000I7 BP = 12 f7 = 12 * 8 * 2000 = 192000I8 BP = 10 f8 = 10 * 9 * 2000 = 180000I9 BP = 11 f9 = 11 * 8 * 2000 = 176000I10 BP = 8 f10 = 8 * 7 * 2000 = 112000

3.3 Seleksi dengan metode Roulette WhellPada tahap ini akan dilakukan seleksi yang ditujukan untuk memilih individu-individu mana saja yang akan dipilih untuk proses kawin silang (crossover) dan mutasi. Metode seleksi yang digunakan adalah Roulette Whell, dengan tahapan pengerjaannya adalah sebagai berikut :1. Hitung total fitness (Tf) semua individu,

Tf = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10

Keterangan :Tf adalah total fitness,

Page 94: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

94

94

fi adalah fungsi untuk menghitung nilai fitness, dimana iadalah individu ke-1 s/d ke-n

Tf = 216000 + 120000 + 198000 + 108000 + 162000 + 120000 + 192000 + 180000 + 176000 + 112000

= 1584000

2. Hitung probabilitas (P) masing-masing individu,

Pi = ∑ ( )Keterangan :Pi adalah probabilitas masing-masing individu, dimana i adalah individu ke-1 s/d ke-n,Tf adalah total fitness,fi adalah fungsi untuk menghitung nilai fitness, dimana iadalah individu ke-1 s/d ke-n

P1 = 216000 / 1584000 = 0,136363636P2 = 120000 / 1584000 = 0,075757576P3 = 198000 / 1584000 = 0,125P4 = 108000 / 1584000 = 0,068181818P5 = 162000 / 1584000 = 0,102272727P6 = 120000 / 1584000 = 0,075757576P7 = 192000 / 1584000 = 0,121212121P8 = 180000 / 1584000 = 0,113636364P9 = 176000 / 1584000 = 0,111111111P10 = 112000 / 1584000 = 0,070707071

3. Hitung kumulatif (C) probabilitas setiap individu,

Cj = ∑ +;Keterangan :Cj adalah kumulatif probabilitas setiap individu, dimana j adalah individu ke-1 s/d ke-nPi adalah probabilitas masing-masing individu, dimana i adalah individu ke-1 s/d ke-n

C1 = P1 = 0,136363636

C2 = P1 + P2 = 0,212121212C3 = P1 + P2 + P3 = 0,337121212C4 = P1 + P2 + P3 + P4 = 0,40530303C5 = P1 + P2 + P3 + P4 + P5 = 0,507575757C6 = P1 + P2 + P3 + P4 + P5 + P6 = 0,583333333

C7 = P1 + P2 + P3 + P4 + P5 + P6 + P7 =0,704545454C8 = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P8 =0,818181818C9 = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P8 + P9

= 0,929292929C10 = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P8 + P9 + P10 = 1

4. Setelah dihitung kumulatif probabilitasnya bangkitkan bilangan random ( R ) dengan range 0 – 1, sebanyak jumlah kromosom dalam satu populasi, dalam makalah ini ada 10,

R1 = 0,86 R6 = 0,04R2 = 0,24 R7 = 0,08R3 = 0,72 R8 = 0,38R4 = 0,85 R9 = 0,77R5 = 0,22 R10 = 0,22

Kromosom yang terpilih atau terseleksi menjadi kormosom baru yaitu :

Kromosom 9 karena C9 > R1 : 0,93 > 0,86Kromosom 3 karena C3 > R2 : 0,34 > 0,24Kromosom 8 karena C8 > R3 : 0,82 > 0,72Kromosom 9 karena C9 > R4 : 0,93 > 0,85Kromosom 3 karena C3 > R5 : 0,34 > 0,22Kromosom 1 karena C1 > R6 : 0,14 > 0,04Kromosom 1 karena C1 > R7 : 0,14 > 0,08Kromosom 4 karena C4 > R8 : 0,41 > 0,38Kromosom 8 karena C8 > R9 : 0,82 > 0,77Kromosom 3 karena C3 > R10 : 0,34 > 0,22

Sehingga susunan kromosom yang baru menjadi seperti berikut :

Kromosom 1 baru = kromosom 9 lama = [1 1 0 1 1 1 1 0 0 0]Kromosom 2 baru = kromosom 3 lama = [1 10 1 0 1 1 0 0 1]Kromosom 3 baru = kromosom 8 lama = [1 10 0 0 0 1 0 0 1]Kromosom 4 baru = kromosom 9 lama = [1 10 1 1 1 1 0 0 0]Kromosom 5 baru = kromosom 3 lama = [1 10 1 0 1 1 0 0 1]Kromosom 6 baru = kromosom 1 lama = [1 01 0 1 1 1 1 0 0]Kromosom 7 baru = kromosom 1 lama = [1 01 0 1 1 1 1 0 0]Kromosom 8 baru = kromosom 4 lama = [1 01 1 1 1 0 1 1 0]Kromosom 9 baru = kromosom 8 lama = [1 10 0 0 0 1 0 0 1]Kromosom 10 baru = kromosom 3 lama = [1 10 1 0 1 1 0 0 1]

3.4 Rekombinasi (Crossover)Crossover adalah pertukaran gen-gen antar kromosom dalam suatu populasi dengan kondisi tertentu. Pertukaran informasi antar individu melalui pertukaran dari komponen suatu kromosom. Sehinggadari dua individu bisadihasilkan dua individu baru lagi,atau dari satu pasang individu lama menghasilkan sepasang individu baru.Crossover atau rekombinasi dilakukan apabila probabilitas crossover (PC) > nilai acak yang dibangkitkan. Setelah kondisi PC > nilai acakterpenuhi lakukan pemilihan sepasang individu induk secara acak. Proses crossover dilakukan pada setiap individu dengan probabilitas crossover yang telah ditentukan. Misalkan PC ditentukan sebesar 0,5 maka diharapkan 50% dari total kromosom akan mengalami crossover, jadi jika dalam satu populasi ada 10 kromosom, maka yang akan di crossover adalah 50% dari 10 kromosom yaitu 5 kromosom. Dimana rekombinasi untuk kasus ini dilakukan dengan menggunakan metode crossover satu titik, berikut ini penjelasannya :

Page 95: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

95

95

Kromosom Awal :

I1 [1 0 1 0 1 1 1 1 0 0]I2 [1 1 1 0 1 1 0 1 0 1]I3 [1 1 0 1 0 1 1 0 0 1]I4 [1 0 1 1 1 1 0 1 1 0]I5 [1 0 1 1 0 0 1 0 0 1]I6 [1 1 0 0 1 0 0 1 1 0]I7 [1 1 1 0 1 1 1 0 0 0]I8 [1 1 0 0 0 0 1 0 0 1]I9 [1 1 0 1 1 1 1 0 0 0]

I10 [1 0 1 0 0 1 0 1 1 1]

Setelah proses seleski dengan metode Roulette Wheel, maka susunan kromosom menjadi :

I1 [1 1 0 1 1 1 1 0 0 0]I2 [1 1 0 1 0 1 1 0 0 1]I3 [1 1 0 0 0 0 1 0 0 1]I4 [1 1 0 1 1 1 1 0 0 0]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 1 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 1 1 0]I9 [1 1 0 0 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

Seperti pada proses Roulette Wheel sebelumnya, bangkitkan juga bilangan random ( R ) dengan range 0 – 1, sebanyak jumlah kromosom

R1 = 0,80 R6 = 0,98R2 = 0,23 R7 = 0,54R3 = 0,43 R8 = 0,70R4 = 0,12 R9 = 0,16

R5 = 0,52 R10 = 0,19

Berikut ini cara kerja crossover dengan PC = 0,500 (crossover akan dilakukan jika probabilitas crossover (PC) > nilai acak yang dibangkitkan)

R1 > PC R6 > PCR2 < PC R7 > PCR3 < PC R8 > PCR4 < PC R9 < PCR5 > PC R10 < PC

Jika nilai acak lebih kecil atau sama dengan nilai PC, maka lakukan crossover dan jika tidak nilai individu induk lansung diwariskan ke individu anak. Dari hasil di atas ada 5 bilangan random (R2, R3, R4, R9, dan R10) yang lebih kecil dari PC (memenuhi syarat).Setelah itu bangkitkan bilangan acak lagi untuk melakukan crossover satu titik antara 1 sampaipanjang kromosom dikurangi 1. Pada kasus ini panjang kromosom adalah 10 maka bilangan acaknya adalah antara 1 sampai 10 – 1 = 9.

Kromosom 2 baru Kromosom 2 >< Kromosom 3 R1 = 5

Kromosom 3 baru Kromosom 3 >< Kromosom 4 R2 = 6Kromosom 4 baru Kromosom 4 >< Kromosom 9 R3 = 9Kromosom 9 baru Kromosom 9 >< Kromosom 10 R4 = 8Kromosom 10 baru Kromosom 10 >< Kromosom 2 R5 = 4

Kromosom 2 baru = Kromosom 2 >< Kromosom 3 = [1 1 0 1 0 1 1 0 0 1] >< [1 10 0 0 0 1 0 0 1] = [1 1 0 1 0 0 1 0 0 1]Kromosom 3 baru = Kromosom 3 >< Kromosom 4 = [1 1 0 0 0 0 1 0 0 1] >< [1 10 1 1 1 1 0 0 0] = [1 1 0 0 0 0 1 0 0 0]Kromosom 4 baru = Kromosom 4 >< Kromosom 9 = [1 1 0 1 1 1 1 0 0 0] >< [1 10 0 0 0 1 0 0 1] = [1 1 0 1 1 1 1 0 0 1]Kromosom 9 baru = Kromosom 9 >< Kromosom 10 = [1 1 0 0 0 0 1 0 0 1] >< [1 10 1 0 1 1 0 0 1] = [1 1 0 0 0 0 1 0 0 1]Kromosom 10 baru = Kromosom 10 >< Kromosom 2 = [1 1 0 1 0 1 1 0 0 1] >< [11 0 1 0 1 1 0 0 1] = [1 1 0 1 0 1 1 0 0 1]

Jadi kromosom yang didapatkan setelah proses crossover adalah sebagai berikut :

I1 [1 1 0 1 1 1 1 0 0 0]I2 [1 1 0 1 0 0 1 0 0 1]I3 [1 1 0 0 0 0 1 0 0 0]I4 [1 1 0 1 1 1 1 0 0 1]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 1 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 1 1 0]I9 [1 1 0 0 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

3.5 MutasiPada tahap ini gen-gen dalam satu kromosomatau lebih akan diganti dengan gen-gen yang baru sesuai dengan kondisi kondisi tertentu. Menyisipkan suatu perbedaan pada suatu populasi sangat diperlukan karena suatu saat semua populasi menjadi homogen (sama) dan tidak adanya kemungkinan untuk peningkatan (perbaikan).

Page 96: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

96

96

Langkah pertama pada tahap ini adalah hitung total gen dimana Total Gen = Jumlah gen dalam kromosom x Jumlah populasi.Total Gen = 10 x 10 = 100

Selanjutnya bangkitkan bilangan random (R) dengan range 0 – 1 sebanyak total gen (100).Mutasi dilakukan jika probabilitas mutasi (PM) > nilai acak yang dibangkitkan dan probabilitasinilah yang menentukan berapa gen yang akan mengalami mutasi. Proses mutasi dilakukan dengan probabilitas mutasi yang telah ditentukan. Misalkan PM ditentukan sebesar 0,1 maka diharapkan 10% dari total gen mengalami mutasi itu artinya 10% dari 100 adalah 10 gen.

Bilangan random yang terbentuk adalah sebagai berikut :

Kromosom 1 :R1 = 0,93 R6 = 0,37R2 = 0,21 R7 = 0,03R3 = 0,88 R8 = 0,67R4 = 0,40 R9 = 0,49

R5 = 0,05 R10 = 0,30

Kromosom 2 :R11 = 0,01 R16 = 0,09R12 = 0,92 R17 = 0,56R13 = 0,25 R18 = 0,95R14 = 0,11 R19 = 0,54

R15 = 0,21 R20 = 0,97

Kromosom 3 :R21 = 0,03 R26 = 0,33R22 = 0,90 R27 = 0,71R23 = 0,83 R28 = 0,99R24 = 0,95 R29 = 0,91

R25 = 0,53 R30 = 0,49

Kromosom 4 :R31 = 0,93 R36 = 0,02R32 = 0,63 R37 = 0,24R33 = 0,03 R38 = 0,68R34 = 0,11 R39 = 0,47

R35 = 0,07 R40 = 0,50

Kromosom 5 :R41 = 0,89 R46 = 0,98R42 = 0,65 R47 = 0,89R43 = 0,39 R48 = 0,42R44 = 0,65 R49 = 0,92

R45 = 0,52 R50 = 0,60

Kromosom 6 :R51 = 0,63 R56 = 0,31R52 = 0,26 R57 = 0,90R53 = 0,98 R58 = 0,92R54 = 0,33 R59 = 0,42

R55 = 0,83 R60 = 0,33

Kromosom 7 :R61 = 0,93 R66 = 0,60R62 = 0,47 R67 = 0,22R63 = 0,06 R68 = 0,49R64 = 1,00 R69 = 0,35

R65 = 0,26 R70 = 0,92

Kromosom 8 :R71 = 0,88 R76 = 0,95R72 = 0,88 R77 = 0,89R73 = 0,11 R78 = 0,04R74 = 0,50 R79 = 0,87

R75 = 0,31 R80 = 0,98

Kromosom 9 :R81 = 0,17 R86 = 0,78R82 = 0,12 R87 = 0,52R83 = 0,87 R88 = 0,67R84 = 0,08 R89 = 0,61

R85 = 0,22 R90 = 0,26

Kromosom 10 :R91 = 0,55 R96 = 0,39R92 = 0,59 R97 = 0,10R93 = 0,63 R98 = 0,47R94 = 0,23 R99 = 0,78

R95 = 0,59 R100 = 0,12

Dari bilangan random di atas, diketahui bahwa pada bilangan random ke 5, 7, 11, 16, 21, 33, 36, 63, 78, dan 84 yang nilainya lebih kecil jika dibandingkan dengan nilai probabilitas mutasi (PM), dan yang megalami mutasi adalah kesepuluh gen tersebut.

Berdasarkan bilangan random yang didapat maka mutasi akan dilakukan dengan mengubah nilai gen biner 0 menjadi 1 dan 1 menjadi 0, seperti berikut :

Kromosom awal :

I1 [1 1 0 1 1 1 1 0 0 0]I2 [1 1 0 1 0 0 1 0 0 1]I3 [1 1 0 0 0 0 1 0 0 0]I4 [1 1 0 1 1 1 1 0 0 1]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 1 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 1 1 0]I9 [1 1 0 0 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

Setelah proses mutasi mengubah nilai gen biner 0 menjadi 1 dan 1 menjadi 0, maka didapatkan susunan kromosom baru menjadi :

I1 [1 1 0 1 0 1 0 0 0 0]I2 [0 1 0 1 0 1 1 0 0 1]I3 [0 1 0 0 0 0 1 0 0 0]I4 [1 1 1 1 1 0 1 0 0 1]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 0 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 0 1 0]I9 [1 1 0 1 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

Kromosom hasil mutasi ini akan digunakan lagi sebagai kromosom awal pada generasi berikutnya dan akan berhenti setelah dalam

Page 97: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

97

97

beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah atau sama.Dan setelah proses algoritma genetika selesai maka nilai kromosom biner tersebut harus diubah kembali ke bentuk semula yaitu berupa bilangan integer.

3.6 Populasi BaruPopulasi baru menggantikan populasi lama dalam proses iterasi dan kromosom baru yang dihasilkan oleh persilangan dan studi kelayakan, dapat langsung menggantikan kromosom lama dalam populasi.

I1 [1 1 0 1 0 1 0 0 0 0]I2 [0 1 0 1 0 1 1 0 0 1]I3 [0 1 0 0 0 0 1 0 0 0]I4 [1 1 1 1 1 0 1 0 0 1]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 0 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 0 1 0]I9 [1 1 0 1 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

ANALISADari percobaan yang telah dilakukan secara berulang kali maka terdapat beberapa inidividu baru yang menghasilkan pendapatan maksimal dari angkutan umum, karena setalah dilakukan evaluasi terhadap ketentuan pendapatan dalam 1 jam ≥ Rp.100.000, maka individu-individu berikut merupakan individu yang optimal.

Kromosom optimal yang masih berupa bilangan biner :

I1 [1 1 0 1 0 1 0 0 0 0]I2 [0 1 0 1 0 1 1 0 0 1]I3 [0 1 0 0 0 0 1 0 0 0]I4 [1 1 1 1 1 0 1 0 0 1]I5 [1 1 0 1 0 1 1 0 0 1]I6 [1 0 1 0 1 1 1 1 0 0]I7 [1 0 0 0 1 1 1 1 0 0]I8 [1 0 1 1 1 1 0 0 1 0]I9 [1 1 0 1 0 0 1 0 0 1]

I10 [1 1 0 1 0 1 1 0 0 1]

Kromosom optimal yang sudah dikonversi dari bilangan biner ke bentuk aslinya yaitu integer :

I1 [53 0]I2 [21 9]I3 [16 8]I4 [62 9]I5 [53 9]I6 [43 12]I7 [35 12]I8 [47 3]I9 [52 9]

I10 [53 9]

Dan setelah individu di atas diuji kelayakannya maka individu yang termasuk dalam kategori optimal adalah individu 4, 5, 6, 7, 9 dan 10, seperti yang terlihat pada tabel di bawah ini :

Tabel 3.1 Individu baru yang menghasilkan pendapatan maksimal

Individu KT JP BPPendapatan Maksimal

1 53 0 11 02 21 9 4 720003 16 8 3 480004 62 9 12 2160005 53 9 11 1980006 43 12 9 2160007 35 12 7 1680008 47 2 9 360009 52 9 10 18000010 53 9 11 198000

Dan jika diteruskan iterasi pembentukan individu ini maka akan didapatkan individu-individu yang sama atau konvergen dengan individu awal maka bisa ditarik kesimpulan bahwa algortima genetika dapat digunakan untuk mengoptimalkan pendapatan angkutan umum.

REFERENSI[17] DR. Armin Lawi, S.Si. M.Eng, (2010), Catatan Kuliah Analisis dan

Desain Algoritma.

[18] Achmad Basuki, Politeknik Elektronika Negeri Surabaya, PENS –ITS Surabaya 2003.

[19] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2002), Introduction to Algorithms, Second Edition, London, England.

[20] Hendry Setiawan, Thiang, Hany Ferdinando, "Aplikasi Algoritma Genetika Untuk Merancang Fungsi Keanggotaan Pada Kendali Logika Fuzzy", 2001.

[21] Jeff S Smith and SoftTech Design, Inc., "What Are Genetic Algorithms(GA)?", http://www.softtechdesign.com/, 2002.

[22] Thiang, Ronald Kurniawan, Hany Ferdinando, "Implementasi Algoritma Genetika pada Mikrokontroler MCS51 Untuk Mencari Rute Terpendek", 2001.

[23] Poltak Situmeang : Analisa Kinerja Pelayanan Angkutan Mobil Penumpang Umum Antar Kota (Studi Kasus : Angkutan Umum Trayek Medan - Tarutung), 2008.

[24] Majalah Ilmiah Unikom, Vol.6, hlm. 69-86.[25] Achmad Basuki, Politeknik Elektronika Negeri Surabaya

PENS-ITS, 2003.

Page 98: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

98

98

Optimasi Penataan Tipe Rumah Mengunakan Metode Algoritma DNAThabrani Ketut Yudana

Jurusan Teknik InformatikaPasca Sarjana Unhas

Jurusan Teknik Informatika

Pasca Sarjana UnhasMakassar Makassar

[email protected] [email protected]

ABSTRAKSeluruh individu di muka bumi memiliki sel dalam tubuhnya. Di tiap-tiap sel terdapat inti sel. Di dalam inti sel, terdapat kromosom yang tersusun dari DNA, yang bertanggung-jawab dalam menentukan tipe dan fungsi sel. DNA ini menentukan karakteristik dari sebuah organisme yang berisikan seluruh material generika yang membangun perbedaan secara fisik antara manusia satu dengan manusia lainnya. Sifat perbedaan ini ditentukan dari kumpulan DNA yang tergabung di dalam gen (gene).Susunan DNA ini mempengaruhi perkembangan teknologi saat ini dengan lahirnya Aloritma DNA. Penerapannya umumnya dipergunakan untuk pencarian, optimalisasi, keamanan dan sebagainya.Makalah ini mencoba menjelaskan penerapan Algoritma DNA dalam mencari type rumah yang tepat untuk mengoptimalisasi keuntungan bagi pengembang perumahan

KATA KUNCIDNA, Algortima DNA, Optimasi, Perumahan

4. PENDAHULUAN1.1 Latar Belakang MasalahBisnis Perumahan adalah bisnis yang cukup menjanjikan. Pertumbuhan manusia yang tinggi dan migrasi manusia dari daerah atau desa ke kota menyebabkan peningkatan penduduk di kota.Peningkatan pendudukan ini menyebabkan peningkatan kebutuhan papan dan sandang. Semakin meningkatannya kebutuhan manusia memberikan peluang yang baik untuk usaha atau bisnis perumahan.Peningkatan Pembangunan perumahan juga menyebabkan peningkatan pengunaan lahan untuk pembangunan perumahan dan menyebabkan harga lahan meningkat. Bagi pengembang perumahan ini menjadi masalah dan mendapat perhatian yang serius untuk memaksimalkan pengunaan lahan dalam menentukan type rumah yant tepat untuk mendapatkan keuntungan yang maksimal.Perlu dipikirkan bagaimana menghasilkan keuntungan yang maksimal, yang seringkali menjadi permasalahan awal yang sering dihadapi oleh pengembang, dengan berbagai batasan yang dihadapi, seperti luas lahan, peraturan pemerintah dan tingkat permintaan masyarakat. Berdasarkan pengalaman dan pengamatan, penentuan secara kasar tidak membuahkan hasil yang terbaik.Dibutuhkan waktu yang cukup panjang untuk memperoleh komposisi perbandingan tipe rumah yang optimal, dan perlu dilakukan Operation Research untuk mencapai keuntungan yang seoptimal mungkin dengan memaksimalkan sumber daya yang ada serta memenuhi persyaratan yang berlaku. akan dilakukan analisa perbandingan unit rumah berbagai tipe rumah yang sesuai dan tepat, supaya diperoleh keuntungan yang paling maksimal. Digunakan Komputasi sebagai salah satu alternatif metode dengan mentode Algoritma yang diharapkan memberikan hasil yang merupakan perbandingan terbaik. Dalam menentukan perbandingan tipe rumah, batasan berupa luas lahan efektif, dan batasan permintaan masing-masing tipe rumah.

1.2 Tujuan dan ManfaatTujuan dari penulisan ini adalah sebagai berikut :4. Tujuan Internal Akademik sebagai prasyarat untuk

kelulusan mata kuliah Analisis dan Desaing Algoritma.

5. Tujuan Eksternal untuk memaksimalkan lahan perumahan untuk membangun type rumah yang tepat untuk menghasilkan keuntungan yang maksimal bagi pemgembang perumahan.

6. Untuk mendapatkan String DNA yang terbaik untuk perumahan tersebut.

Manfaat dari penulisan ini adalah sebagai berikut :3. Untuk sebagai bahan kajian algoritma untuk proses-

proses optimalisasi dengan mengunakan Algoritma DNA

4. Membantu Pengembang Perumahan untuk menyelesaikan persoalan optimasi perumahan untuk mendapatkan keuntungan yang optimal

1.3 Batasan MasalahBatasan masalah penulisan ini adalah

3. Lahan Perumahan yang telah dibuat blok-blok dan jalan

4. Type rumah yang tepat yang disediakan oleh pengembang.

5. METODE PENELITIANUntuk menyelesaikan tulisan ini mengunakan

metode Algoritma DNA untuk melakukan komputasi dalam menentukan type rumah yang tepat untuk menghasilkan keuntungan yang maksima pada lahan yang telah dibuat site plannya. Genome (kumpulan kromosom) manusia tersusun atas 23 pasang kromosom, dimana tiap kromosom terdiri dari gene dan intergenic region (daerah yang diapit dua gen). Pada gen terdapat 20.000-25.000 protein coding region (exon-intron) yang berperan dalam melakukan sintesa protein. Sebagai pembentuk genome, DNA tersusun atas 4 basa nucleotida, yaitu A:adenine, C:cytosine, G:guanine, dan T:tymine. Setiap Individu manusia, terdiri dari 3 milyar pasangan basa nucleotidenamun hanya 6% saja yang mampu mensintesa protein dan l.k 50% adalah junk sequence. Sebagian besar dari penelitian satu dasawarsa terakhir, menitikberatkan pada teknik identifikasi coding region dengan mengunakan ICT yang dapat mereduksi waktu dan biaya dibandingkan dengan metode kimiawi biasa.

6. PEMBAHASAN DAN HASIL3.1 Penyelesaian Permasalahan

Untuk menyelesaikan permasalahan perumahan dengan menentukan type rumah yang akan dibangun pada suatu lokasi perumahan maka langkah-langkah yang dilakukan sebagai berikut :5. Menentukan lokasi perumahan6. Membuat jalan, blok dan baris deret rumah pada

setiap blok. Setiap deret baris rumah dapat berbeda satu dengan yang lainnya

Page 99: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

99

99

7. Menentukan type rumah yang akan dibuat dengan mengkombinasikan dengan luas lahan tiap rumah atau lebar setiap rumah

8. Menentukan keuntungan setiap type rumah dan luas/lebar lahan dan mementukan string DNA.

Untuk mendapatkan hasil yang optimal maka perlu diperhatikan adalah type rumah yang akan dibangun, luas lahan yang akan digunakan, dan biaya pembangun type rumah.Langkah untuk menyelesaikan type rumah yang akan dibangun pada setiap bloknya dengan komputasi sebagai berikut :5. Menghitung panjang blok6. Melakukan perhitungan dengan jumlah type rumah

masing-masing untuk setiap blok yang berbeda yang dapat dibangun dan menghitung keuntungan yang akan didapat setiap bloknya

7. Untuk setiap blok terdiri dari dua baris maka jumlah rumah, type dan keuntungan dikalikan dua.

8. Untuk setiap blok yang sama maka akan dikalikan dengan jumlah type yang terdapat pada masing-masing sesuai dengan hasil yang optimal pada langkah nomor 2

3.2. Penyelesain dengan metode Algoritma DNA

Teori Optimasi sangat aplikatif pada permasalahan-permaalahan yang menyangkut pengoptimalan, entah itu maksimasi atau minimasi. Ada banyak metode-metode optimasi yang berkembang mengikuti perkembangan di berbagai bidang, terutama dibidang perencanaan pembangunan, bidang industri, bidang perdagangan dan bidang-bidang lain yang juga menggunakan toeri optimasi. Untuk menyelesaikan persoalan terebut dengan metode Algoritma DNA. Langkah-Langkah sebagai berikut :6. Menentukan string terpendek DNA untuk setiap

kombinasi A, T, G, dan C (5’3’) dan pasangannya (3’5’) (Adding) yang didefenisikan dibawah ini

7. Melakukan komputasi dengan mempertimbangkan atau keuntungan yang maksimal pada setiap baris blok rumah dengan melakukan permutasi dankombinasi pada setiap barisnya dengan type rumah yang ada.

8. Untuk setiap baris yang sama pada balok maka baris yang berikutnya menjadi (3’5’)

9. Untuk setiap blok yang sama maka akan dilakukan pengkopian DNA

10. Mengabungkan secara keseluruhan rangkaian DNA dari rangkaian DNA yang terbentuk dari blok

3.6 Flowchart Algoritma DNA

3.7 INPUT

3.7.1.1 Input Perumahan

Data Input adalah profile perumahan yaitu kode perumahan, nama, alamat dan luas areaContoh : Code : PBPName : Nama Perumahan Barombong Permai Address : Jl. Abdul Kudus – BarombongArea : 2000 M2

3.7.1.2 Input Type Rumah

Type RumahContoh Input data perumahanNo Type Nama DNA Nett Lbr1 T72 Type

MawarATTAA

21.000.000,- 12

2 T45 Type Melati

ATCAG

20.000.000,- 8

3 T35 Type Mawar

ATGGC

18.000.000,- 6

3.7.1.3 Input Blok

No Blok Baris Jumlah Baris

1 A 200 2

2 B 210 2

3 C 250 2

Page 100: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

100

100

4 D 205 2

3.8 Proses Komputasi dan Kombinasi

3.5.1 Solusi Permasalahan

Proses ini didapat dengan melakukan komputasi pada panjang blok dengan panjang dan lebar/luas type rumah kemudian mengkalikan jumlah type rumah yang didapat untuk setiap proses. Nilai terbesar dari proses tersebut adalah solusi optimal. Proses berikut adalah yang didapat setelah dilakukan beberapa kali kombinasi dan permutasi

--- Optimal DNA Solution ---Pattern(1) Blok length: 200Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000

Pattern(2) Blok length: 200Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 1 Keuntungan = 1 x 20000000 = 20000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 32 Keuntungan = 32 x 18000000 = 576000000

Pattern(3) Blok length: 200Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 20 Keuntungan = 20 x 21000000 = 420000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 210Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 1 Keuntungan = 1 x 21000000 = 21000000

Pattern(2) Blok length: 210Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 35 Keuntungan = 35 x 18000000 = 630000000

Pattern(3) Blok length: 210Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 21 Keuntungan = 21 x 21000000 = 441000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 250Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 30 Keuntungan = 30 x 20000000 = 600000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 1 Keuntungan = 1 x 21000000 = 21000000

Pattern(2) Blok length: 250Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 2 Keuntungan = 2 x 20000000 = 40000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 39

Keuntungan = 39 x 18000000 = 702000000

Pattern(3) Blok length: 250Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 25 Keuntungan = 25 x 21000000 = 525000000

--- Optimal DNA Solution ---Pattern(1) Blok length: 205Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 24 Keuntungan = 24 x 20000000 = 480000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 2 Keuntungan = 2 x 18000000 = 36000000

Pattern(2) Blok length: 205Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 34 Keuntungan = 34 x 18000000 = 612000000 Pattern(3) Blok length: 205Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 3 Keuntungan = 3 x 20000000 = 60000000 Type Rumah T72- Type 21 TraketPanjang = 10 dengan jumlah type rumah = 18 Keuntungan = 18 x 21000000 = 378000000

3.8.1.1 3.5.2. Total Type Rumah

3.5.4.Hasil DNA String

DNA BLOK A

DNA : String DNA untuk perumahan di atas : 5’ ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAA

Page 101: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

101

101

TTAAATTAAATTAAATTAAATTAAATTAAATTAA 3’

Sedangkan String DNA untuk pasangan blok (Compliment) : 3’ TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT5’

Penjelasan : Blok A terdiri:Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 25 Keuntungan = 25 x 20000000 = 500000000 Total Keuntungan = 1500000000,00

Blok A : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok B terdiri:Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 35 Keuntungan = 35 x 18000000 = 630000000 Total Keuntungan = 1260000000,00

Blok B : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok C terdiri :Type Rumah T45- Type 45 SeruniPanjang = 8 dengan jumlah type rumah = 2 Keuntungan = 2 x 20000000 = 40000000 Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 39 Keuntungan = 39 x 18000000 = 702000000 Total Keuntungan = 1444000000,00

Blok C : Rangkaian DNA sebagai berikut :

DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

Blok D terdiri :Type Rumah T36- Type 36 MelatiPanjang = 6 dengan jumlah type rumah = 34 Keuntungan = 34 x 18000000 = 612000000 Total Keuntungan = 1224000000,00

Blok D : Rangkaian DNA sebagai berikut :DNA = ATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAAATTAA Compliment = TAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATTTAATT

4. KESIMPULANDari pembahasan proses algortima DNA dapat ditarik kesimpulan sebagai berikut : 1. Proses optimasi perumahan adalah

membandingkankan panjang blok perumahan dengan lebar masing-masing type rumah yang tepat dengan melakukan komputasi dan komputasi, kemudian mencari nilai terbesar dari proses komputasi tersebut.

2. Untuk mendapatkan string DNA yang terbaik adalah dengan mengkonversi dari hasil optimal yang didapat pada proses (1) untuk baris pertama pada blok (5`3`) dan Compliment (5’3’) untuk baris kedua pada blok tersebut.

Referensi :[1] L.M. Adleman, Molecular computation of solutions to

combinatorial problems, Science 266 (1994) 1021–1024.

[2] L.M. Adleman, On constructing a molecular computer, in: R.J. Lipton, E.M. Baum (Eds.), DNA Based Computers I, Proceedings of a DIMACS Workshop, Princeton, 1995, American Mathematical Society, Providence, RI, 1996, pp. 1–22.

[3] M. Amos, A. Gibbons, D. Hodgson, Error-resistant implementation of DNA computation, in: L.F. Landweber, E.B. Baum, (Eds.), DNA Based Computers II, Proceedings of a DIMACS Workshop, Princeton, 1996, American Mathematical Society, Providence, RI, 1998, pp. 87–101.

[4] C.R. Calladine, H.R. Drew, Understanding DNA: The Molecule and How it Works, Academic Press, New York, 1999. [5] E. Csuhaj-Varju, R. Freund, L. Kari, G. Paun, DNA computing based on splicing: universality results, in: L. Hunter, T. Klein (Eds.), Proceedings of the First Pacific Symposium on Biocomputing, World Scientific, Singapore, 1996, pp. 179–190.

[6] T. Head, Formal language theory and DNA: an analysis of the generative capacity of specific

Page 102: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

102

102

recombinant behaviors, Bull. Math. Biol. 49 (1987) 737–759.

[7] T. Head, Splicing schemes and DNA, in: G. Rozenberg, A. Salomaa (Eds.), Lindenmayer Systems, Springer, Berlin, 1991, pp. 371–383.

[8] T. Head, G. Paun, D. Pixton, Language theory and moleculargenetics, in: G. Rozenberg, A. Salomaa (Eds.), Handbook of Formal Languages, Vol. 2, Springer, Berlin, 1997,pp. 295–358.

[9] Rudolf FREUND, DNA Computing Based on Splicing: The Existence of Universal Computers1, Technical University Wien, Institute for Computer Languages

Page 103: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

103

JARINGAN SARAFTIRUAN

Page 104: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

104

Klasifikasi Beban Kinerja Dosen Dengan Jaringan Saraf TiruanSelf Organizing Map (SOM)

Abdul Mubarak Salahudin OliiUniversitas Indonesia Timur Universitas Negeri Gorontalo

AbstrakJurnal ini membahas tentang klasifikasi beban kinerja dosen dimana kinerja beban dosen meliputi empat aspek yaitu: 1).Pendidikan dan Pengajaran, 2).penelitian/karya ilmiah, 3).Pengabdian pada masyarakat, 4).penunjang tri dharma perguruan tinggi.Dalam jurnal ini akan dikelompokkan data masukan berupa surat keterangan dan surat keputusan berdasarkan ke empat aspek tersebut. Data tersebut dilakukan pembelajaran dengan metode self organizing map.Kata kunci : self organizing map, kinerja beban dosen.

1. PENDAHULUANPeranan dosen dalam pembinaan harus dimulai dari dirinya sendiri. Kepribadian dosen merupakan landasan utama dalam bentuk daya nalar. Sejalan dengan tugas-tugas utama sebagai pendidik, dosen melaksanakan tugas pengabdiannya dalam pengajaran dan latihan, maka profesi dosen sangat terkait dengan pengembangan peserta didik melalui keteladanan, penciptaan lingkungan yang kondusif, mengajar dan melatih peserta didik sebagai unsur bangsa.

Sebagai pelatih dosen memberikan peluang sebesar-besarnya bagi peserta didik untuk mengembangkan cara pembelajarannya sendiri. Sebagai manajer pembelajaran, dosen mengelola keseluruhan kegiatan pembelajaran dengan mendinamisasi segala sumber-sumber belajar.

Sebagai partisipan, dosen tidak hanya berprilaku mengajar tetapi juga berperilaku belajar melalui interaksi dengan peserta didik. Sebagai pemimpin, dosen menjadi seorang penggerak peserta didik dan orang lain. Sebagai pembelajar, dosen dituntut agar terus-menerus belajar dalam rangka meningkatkan kompetensinya.

Sebagai pengarang, dosen secara kreatif menghasilkan berbagai karya yang akan digunakan untuk melaksanakan tugasnya.Peran Dosen sebagai Warga MasyarakatDalam kehidupan bermasyarakat, berbangsa dan

bernegara secara keseluruhan, Dosen merupakan unsur strategis sebagai anggota, agen dan pendidik masyarakat, maka guru harus menunjukkan kepribadiannya secara efektif agar menjadi teladan bagi masyarakat sekitarnya. Tidak hanya dirinya yang menjadi teladan, tetapi keluarganya juga harus menjadi teladan.

Merujuk kepada pendapat Darmodihardjo (1983), dosen mempunyai tiga tugas pokok yangharus tampak dalam kinerjanya, yaitu: (1) tugas profesional, (2) tugas kemanusiaan dan (3) tugas kemasyarakatan. Peranan Dosen yang lebih luas adalah sebagai berikut: (1) pengelola Proses Belajar Mengajar (PMB), (2) fasilitator perkembangan mahasiswa, (3) agen pembaharuan, dan (4) pengganti orang tua di kampus (Darmodihardjo, 1983). Apabila dosen dapat melaksanakan tugas, fungsi dan peranannya di fakultas tempat mereka mengajar dalam bentuk kinerja (performance) dengan baik, maka diperlukan beberapa persyaratan yang merupakan unsur-unsur kompetensi yang saling mendukung dan terpadu. 2. TINJAUAN PUSTAKA2.1 Self Organizing Maps (SOM)

Self – Organizing Maps (SOM) adalah suatu jaringan saraf tiruan yang mampu melakukan pemetaan topologis dari unit-unit pada lapisan masukan ke lapisan masukan kompetitif (lapisan dimana output neuron dari jaringan berkompetisi diantara mereka untuk menjadi aktif sebaliknya).

Metode belajar Jaringan Saraf Tiruan SOM adalah belajar tanpa pengawasan (Unsupervised Learning). Bedanya dengan JST biasa pada proses belajar yakni tanpa pengawasan, dimana perubahan bobot-bobot interkoneksinya sebagai tanggapan terhadap masukan dan tanpa memerlukan jawaban targetnya.

Struktur Dasar JST Self-Organizing Maps

Jaringan saraf tiruan SOM terdiri dari dua lapisan yang terhubung penuh, yaitu lapisan masukan dan lapisan kompetitif yang biasanya terbentuk dua dimensi.

Page 105: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

105

Setiap unit pada lapisan masukan dihubungkan dengan setiap unit pada lapisan kompetitif seperti yang ditunjukkan pada Gambar-gambar dibawah ini. Pada lapisan jaringan kompetitif terjadi

persaingan antara unit-unit untuk menentukan pemenang.

Pada dasarnya SOM terdiri dari M unit lokasi pada grid berdimensi rendah yang beraturan, biasanya berdimensi 1 atau berdimensi 2. Contoh Gambar diatas, grid-grid berdimensi yang lebih tinggi tidak umum digunakan selama visualisasinya bermasalah. Tiap unit j memiliki suatu kumpulan vektor prototipe yang berdimensi d. Posisi unit rj pada grid ditetapkan dari awal. Pemilihan map terhadap data dengan menyesuaikan vektor protipenya. Bersama grid dan himpunan bentuk vektor prototipe map yang berdimensi rendah yang macam data: suatu representasi 2-dimensi dimana sifat topologinya berhubungan erat dengan objek(unit-unit map) yang berdekatan satu sama lain. Kumpulan vektor prototipe dapat dinyatakan dengan persamaan sebagai berikut:

mjd = [mj1, mj2, mj3, …., mjd ]

di mana :

mjd = vektor prototipe dari unit-unit pada lapisan masukan ke unit ke-j pada lapisan

kompetitif.

j = indeks unit pada input-an

d = dimensi

fungsi learning pada SOM yaitu linear(α(t)=α0(1-t/T)), power(α(t)=α0(0.005/ α0)t/T dan inv(α(t)=α0(1+100t/T)) dimana T adalah panjang training dan α0 adalah inisialisasi learning rate.

3. HASIL DAN PEMBAHASAN3.1. Usulan algoritma

Dalam usulan algoritma ini menggunakan metode Self Organizing Map (SOM) dimana metode som neuron input dan neuron output telah ditentukan dan data akan diklasifikasikan berdasarkan inputan yang ada dan akan dihitung jaraknya ke masing – masing output. Dalam penelitian ini, dimana untuk mengklasifikasikan beban kinerja dosen kami menggunakan 9 neuron input dan 4 neuron output. Dan datanya berdasarkan data persemerter dari masing – masing dosen.a. Neuron Input

1. Merupakan Surat Tugas Mengajar2. Merupakan Surat Tugas Melakukan Penelitian 3. Merupakan Keterangan Pengabdian

Masyarakat 4. Merupakan Surat Keputusan Panitia di

Perguruan Tinggi 5. Merupakan Surat Tugas Membimbing Tugas

Akhir 6. Merupakan surat tugas pembimbing Kuliah

Kerja Nyata (KKN)7. Merupakan surat tugas penguji tugas akhir

mahasiswa8. Merupakan surat keterangan pelatihan pada

masyarakat9. Merupakan Surat keputusan Panitia di

Lembaga Pemerintah b. Neuron Output

1. Kegiatan Pendidikan dan Pengajaran2. Kegiatan Penelitian / Penulisan Karya Ilmiah3. Kegiatan Pengabdian pada Masyarakat4. Kegiatan Penunjang Tri Dharma Perguruan

Tinggi.c. DataData yang akan dimasukkan adalah surat seperti yang dimaksudkan pada input persemesternya.3.2. Tahap Analisis

3.2.1 Persiapan 1. Pemodelan yang digunakan adalah

sistem dengan 9 input dan 4 output 2. Jadi kita memiliki 9 neuron input x yang

dinotasikan dari X1 sampai X9 dan 4 neuron output yang dinotasikan Y1

sampai Y4. Bobot koneksi antara input dan output dinotasikan dengan Wij.

3. Untuk mempresentasikan input tersebut digunakan fungsi binary

Page 106: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

106

4. Setiap persyaratan pada neuron input yang benar akan dipresentasikan dengan angka 1, sedangkan yang tidak benar akan dipresetasikan dengan angka 0.

5. Data Training untuk penelitian ini kita menggunakan 6 data sebagai contoh.a) Surat tugas mengajar.b) Surat keterangan melakukan penelitian.c) Surat keterangan pengabdian

masyarakat

d) Surat keputusan panitia pada perguruan tinggi.

6. Proses pelatihan minimal 3000 iterasi7. Nilai bobot awal koneksi antara neuron

input dan output dengan menggunakan bilangan acak antara 0 dan 1.

3.2.2 Urutan langkah- Bagian pertama dari proses pelatihan ini

adalah menentukan bobot awal. Nilai yang digunakan adalah bilangan acak antara 0 dan 1.

- Banyak bobot yang digunakan adalah banyak input dikalikan dengan banyak output.

- Lakukan langkah 4 sampai 7 hingga konvergen (perubahan bobot relative kecil)

- Hitung jarak vector input terhadap bobot koneksi dj untuk masing- masing neuron output dengan rumus

- Cari indeks b=j dimana dj minimum neuron output b disebut sebagai best matcing unit. Dalam hal ini output 1

- Selanjutnya nilai bobot yang berhubungan dengan output tersebut diubah dengan rumus wij(t+1)=wij(t) + (t)hib(t) (xi(t) – wij(t))

Tabel 4. Perubahan bobot data dari Best Matching Unit

- Karena yang dirubah adalah bobot yang berhubungan dengan output1, maka yang dirubah adalah w14, w24, w34, w44, w54, w64,w74,w84,w94

- Kemudian diberikan data berikutnya- Sama seperti sebelumnya tentukan siapa

pemenang, besar perubahan dan kemudian mengubah bobot.

- Berikut ini adalah perubahan bobot setelah data ke dua diberikan

- Berikut ini adalah perubahan bobot setelah data ke tiga diberikan

Page 107: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

- Berikut ini adalah perubahan bobot setelah data ke empat diberikan

-

- Berikut ini adalah perubahan bobot setelah data ke lima diberikan

- Berikut ini adalah perubahan bobot setelah data ke enam diberikan

- Pelatihan dilakukan sampai jumlah iterasi yang di inginkan sampai menghasilkan angka yang mendekati nol.

- Setelah proses pelatihan selesai, dapat dilakukan pengujian dengan memasukkan salah satu data dan kemudian dicari unit pemenangnya

- Dan data akan diklasifikasikan ke masing – masing output.- Berdasarkan hasil pembelajaran data maka tingkat akurasi yang paling kecil akan mendapatkan kredit

Page 108: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

108

Penilaian Soft Skill Mahasiswa Dengan Menggunakan Jaringan Syaraf Tiruan

Metode Self – Organizing Maps (SOM)Asminar

P2700210002

Fakultas Teknik Elektro

Universitas Haluoleo KendariKampus Hijau Bumi Tri Dharma Anduonohu,

Kendari.SULTRAHP. 085242548487

[email protected]

Perie Bagoes HandokoP2700210009

POLTEKKES Makassar

Jl.Bendungan Bili-Bili

Tidung Makassar,SULSEL

HP. [email protected]

AbstrakProgram Penilaian Soft Skill Mahasiswa dibuat untuk mengklasifikasikan kemampuan mahasiswa dari sisi EQ (Emational Quation) yang dibagi 7

parameter input dengan 2 Kategori yaitu : Profil Portofolio Mahasiswa yang meliputi : Kegiatan Ilmiah, Kegiatan Mahasiswa, Jumlah Tulisan di

Blog, Jumlah File Tugas, dan Pertimbangan Kualitatif yang meliputi Aktivitas di Kelas, Mutu

Portofolio, Mutu Tulisan di Blog. Jaringan syaraf tiruan Kohonen dipakai sebagai otak

penganalisisnya. Pada masa pelatihan,jaringan diberi 4 pola input profil portofolio mahasiswa

dan 3 pola input pertimbangan kualitatif. Hasilpengujian jaringan menunjukkan bahwa

jaringan dapat mengenali kembali semua bahan ajar dengan learning rate 0.5

Kata Kunci : Jaringan Syaraf Tiruan, SOM

1. PENDAHULUAN 1.1 Latar Belakang

Pendidikan nasional berfungsi mengembangkan kemampuan dan membentuk watak serta peradaban bangsa yang bermantabat dalam rangka mencerdaskan kehidupan bangsa. Pendidikan nasional bertujuan untuk mengembang-kan potensi peserta didik (mahasiswa) agar menjadi manusia yang beriman dan bertakwa kepada Tuhan Yang Maha Esa, berahlak mulia, sehat, berilmu, cakap, kreatif, mandiri, dan menjadi warga negara yang demokratis serta bertanggung-jawab. Perguruan tinggi secara terus menerus mengembang-kan iklim akademis yang demokratis agar dapat mendukung pelaksanaan proses pembelajaran yang mengarahkan mahasiswa menjadi lulusan sebagai insan pembelajar sepanjang hayat.

Mahasiswa diharapkan tidak hanya menekuni ilmu dalam

bidangnya saja, tetapi juga beraktivitas untuk mengembangkan

soft skills-nya agar menjadi lulusan yang mandiri, penuh inisiatif,

bekerja secara cermat, penuh tanggung jawab dan gigih.

Kemampuan ini dapat mahasiswa peroleh dari pembekalan secara

formal melalui kurikulum akademik dan ko-kurikuler, ekstra dan

intra kurikuler. Namun, tidak semua mahasiswa mau dan mampu

untuk menjadi pembelajar yang sukses. Acapkali mahasiswa

dengan nilai akademik yang tinggi tidak memanfaatkan peluang

untuk menggunakan waktunya dalam kegiatan ko-kurikuler dan

ekstra kurikuler. Sebaliknya mahasiswa yang aktif dalam

organisasi kemahasiswaan dan kegiatan pengembangan soft skills

tidak memperoleh nilai akademik yang tinggi. Sementara itu,

dalam era persaingan bebas dibutuhkan lulusan yang memiliki

hard skills dan soft skills yang seimbang. Oleh karenanya di tiap

perguruan tinggi perlu diidentifikasi mahasiswa yang dapat

melakukan keduanya dan yang terbaik perlu diberi penghargaan

sebagai mahasiswa yang berprestasi.

1.2 Tujuan Dan Manfaat

Penulisan makalah ini bertujuan untuk menentukan penilaian soft-skills mahasiswa dengan menggunakan jaringan saraf tiruan dengan metode Self – Organizing Maps (SOM) dalam menentukan nilai mahasiswa.Manfaat dari penelitian ini pada dasarnyanya adalah untuk memberikan pandangan tentang penerapan Self – Organizing Maps (SOM) dalam penilaian soft-skills mahasiswa bagi para dosen yang terkait dengan pengembangan potensi mahasiswa

1.3. Batasan Masalah

Adapun batasan masalah jurnal ini yaitu unsur soft-skills untuk memperoleh nilai mahasiswa, dimana unsur-unsur soft-skills yang kami gunakan merujuk dari sumber kami yaitu STMIK.

2. TINJAUAN PUSTAKA

JST Kohonen-SOM merupakan salah satu model JST yang menggunakan metodeunsupervised learning. Artinya, jaringan tersebut melakukan pembelajaran tanpa bimbingan data input-target.

2.1 Struktur Dasar JST Self-Organizing Maps

Jaringan saraf tiruan SOM terdiri dari dua lapisan yang terhubung penuh, yaitu lapisan masukan dan lapisan kompetitif yang biasanya terbentuk dua dimensi.

Setiap unit pada lapisan masukan dihubungkan dengan setiap unit pada lapisan kompetitif seperti yang ditunjukkan pada Gambar-gambar dibawah ini. Pada lapisan jaringan kompetitif terjadi persaingan antara unit-unit untuk menentukan pemenang.

Page 109: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

109

Jaringan kompetitif

2.2 Proses Belajar JST Self-Organizing Maps

Unit-unit pada lapisan masukan dinyatakan dengan persamaan berikut:

xi = [x1, x2, x3, x4, x5,…., xn]

Pada dasarnya SOM terdiri dari M unit lokasi pada grid berdimensi rendah yang beraturan, biasanya berdimensi 1 atau berdimensi 2. Contoh Gambar diatas, grid-grid berdimensi yang lebih tinggi tidak umum digunakan selama visualisasinya bermasalah. Tiap unit j memiliki suatu kumpulan vectorvector yang berdimensi d. Posisi unit rj pada grid ditetapkan dari awal. Pemilihan map terhadap data dengan menyesuaikan vector protipenya. Bersama grid dan himpunan bentuk vectorvectormap yang berdimensi rendah yang macam data: suatu representasi 2-dimensi dimana sifat topologinya berhubungan erat dengan objek(unit-unit map) yang berdekatan satu sama lain. Kumpulan vectorvector tersebut dapat dinyatakan dengan persamaan sebagai berikut:

mjd = [mj1, mj2, mj3, …., mjd ]

di mana :

mjd = vector-vector dari unit-unit pada lapisan masukan ke unit ke-j pada lapisan kompetitif.

J = indeks unit pada input-an

d = dimensifungsi learning pada SOM yaitu linear(α(t)=α0(1-t/T)),power(α(t)=α0(0.005/ α0)t/T dan inv(α(t)=α0(1+100t/T)) dimana T adalah panjang training dan α0 adalah inisialisasi learning rate.

2.3 Arsitektur Self Organizing MapJaringan ini terdiri dari dua lapisan (layer), yaitu lapisan

input dan lapisan output. Setiap neuron dalam lapisan input

terhubung dengan setiap neuron pada lapisan output. Setiap neuron dalam lapisan output merepresentasikan kelas (cluster) dari input yang diberikan.

Gambar .Arsitektur JST Self Organizing MapMisalkan masukan berupa vector yang tediri dari n komponen yang akan dikelompokkan dalam maksimum 28 buah kelompok. Keluaran jaringan adalah kelompok yang paling dekat/mirip dengan masukan yang diberikan. Ada beberapa ukuran kedekatan yang dapat dipakai. Ukuran yang paling sering digunakan adalah jarak Euclidian yang paling minimum.

Bobot vector-vektor contoh berfungsi sebagai penentu kedekatan antara vector tersebut dengan masukan yang diberikan. Selama proses pengaturan, vector contoh yang pada saat itu paling dekat dengan masukan akan muncul sebagai pemenang, kemudian vector pemenang dan vector-vektor sekitarnya akan dimodifikasi bobotnya.2.4 Jarak Antar Neuron (Fungsi Jarak)

Dalam SOM, perubahan bobot tidak hanya dilakukan pada bobot garis yang terhubung ke neuron pemenang saja, tetapi juga pada bobot garis ke neuron-neuron di sekitarnya. Neuron di sekitar neuron pemenang ditentukan berdasarkan jaraknya dari neuron pemenang. Dalam fungsi Matlab, default neuron tetangga=1. Ada 4 macam definisi jarak antara 2 neuron yaitu:a. Jarak Euclidist (dist)

Jarak Euclidist adalah jarak antara 2 titik dalam posisi berbeda yang biasa kita kenal. Missal (x1,y1) dan (x2,y2) adalah koordinat 2 neuron, maka jarak kedua neuron tersebut didefinisikan sebagai:

b. Jarak Persegi (boxdist)Jarak persegi adalah jarak langsung antara neuron pemenang dengan neuron tetangganya secara langsung. Sebagai contoj apabila topologi neuron adalah gridtop, maka paling banyak terdapat 8 buah neuron tetangga dengan boxdist=1, dan terdapat paling banyak 16 tetangga jika boxdist=2. Jika neuron pemenang terletak di pinggir maka hanya ada 5 neuron tetangga dengan boxdist=1.

Gambar .Boxdist pada topologi gridtopc. Jarak Link (linkdist)

Jarak link adalah jumlah langkah yang dibutuhkan untuk menuju neuron tersebut. Jika dalam jaringan SOM menggunakan topologi gridtop dengan linkdist=1, berarti hanya neuron-neuron yang berhubungan langsung dengan neuron pemenang saja yang diubah bobotnya (jumlah neuron tetangga=4). Jika linkdist=2 maka jumlah neurontetangga=12.

Page 110: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Gambar.Linkdist pada topologi gridtop

d. Jarak Manhattan (mandist) Jarak Manhattan antara vector x(x1,x2,…,xn) dan vector y(y1,y2,…,ysebagai:

Jika x=(x1,x2) dan y=(y1,y2) menyatakan koordinat yang dibentuk melalui topologi tertentu, maka jarak Manhattan antara neuron x dan y adalah

Untuk penilaian soft skills mahasiswa, terlebih dahulu kita perlu mengetahui pengertian dari mahasiswa berprestasi itu apa?

Mahasiswa Berprestasi adalah mahasiswamencapai prestasi tinggi, baik akademik maupun non akademik, mampu berkomunikasi dengan bahasa IndonesiaInggris, bersikap positif, serta berjiwa Pancasila.

Dalam proses klasifikasi pemilihan mahasiswa berprestasi ini, digunakan Algoritma jaringan saraf tiruan (SOM).

Dimana jaringan saraf tiruan (SOM) adalah saraf tiruan yang mampu melakukan pemetaan topologis dari unit-unit pada lapisan masukan ke lapisan masukan kompetitif (lapisan dimana output neuron dari jaringan berkompetisi diantara mereka untuk menjadi aktif sebaliknya). Metode belajar Jaringan Saraf Tiruan SOM adalah belajar tanpa pengawasan (SLearning). Bedanya dengan JST biasa pada proses belajar yakni tanpa pengawasan, dimana perubahan bobot-bobot interkoneksinya sebagai tanggapan terhadap masukan dan tanpa memerlukan jawaban targetnya.

Penilaian Mahasiswa Berprestasi merujuk pada kinerjaindividu mahasiswa yang memenuhi kriteria dengan menggunakan beberapa macam unsur. Penilaian mencakup unsur 2 unsur yaitu : Profil Portofolio Mahasiswa dan Pertimbangan Kualitatif .

Profil portofolio terdiri dari : kegiatan ilmiah/kreatifitas, kegiiatan kemahasiswaan, jumlah tulisan di blog, dan jumlah file tugas. Pertimbangan kualitatif terdiri dari : Aktivitas di kelas, mutu portofolio, mutu tulisan di blog.3. HASIL DAN PEMBAHASAN

3.1 Pembahasan AlgoritmaMetode yang digunakan pada penilaian soft skills

mahasiswa ini adalah Self Organising Map (SOM).digunakan untuk mengelompokkan data (clustering) berdasarkan karakteristik atau fitur-fitur data.

Pengklasifikasian berdasarkan input yang ada dan akan dihitung jaraknya ke masing-masing output. Dalam pengklasifikasian ini, kami menggunakan 7 neuron ineuron output.Bobot penilaian meliputi :

No Parameter Skor Bobot(0-

100)

a b

1 Profil Portofolio Mahasiswa

A Kegiatan Ilmiah/Kreatifitas 10%

B Kegiatan Kemahasiswaan 5%

Jarak Manhattan antara vector ,…,yn) didefinisikan

) menyatakan koordinat neuronyang dibentuk melalui topologi tertentu, maka jarak

Untuk penilaian soft skills mahasiswa, terlebih dahulu kita perlu mengetahui pengertian dari mahasiswa berprestasi itu

Mahasiswa Berprestasi adalah mahasiswa yang berhasil pai prestasi tinggi, baik akademik maupun non akademik,

Indonesia dan bahasa jiwa Pancasila.

Dalam proses klasifikasi pemilihan mahasiswa an Algoritma jaringan saraf tiruan (SOM).

Dimana jaringan saraf tiruan (SOM) adalah suatu jaringan saraf tiruan yang mampu melakukan pemetaan topologis dari

unit pada lapisan masukan ke lapisan masukan kompetitif jaringan berkompetisi diantara

mereka untuk menjadi aktif sebaliknya). Metode belajar Jaringan Saraf Tiruan SOM adalah belajar tanpa pengawasan (Supervised

). Bedanya dengan JST biasa pada proses belajar yakni bobot

interkoneksinya sebagai tanggapan terhadap masukan dan tanpa

Mahasiswa Berprestasi merujuk pada kinerjaindividu mahasiswa yang memenuhi kriteria penilaiandengan menggunakan beberapa macam unsur. Penilaian

2 unsur yaitu : Profil Portofolio Mahasiswa dan

Profil portofolio terdiri dari : kegiatan ilmiah/kreatifitas, kegiiatan kemahasiswaan, jumlah tulisan di blog, dan jumlah file

dari : Aktivitas di kelas,

Metode yang digunakan pada penilaian soft skills Self Organising Map (SOM).SOM

digunakan untuk mengelompokkan data (clustering) berdasarkan

Pengklasifikasian berdasarkan input yang ada dan akan masing output. Dalam

pengklasifikasian ini, kami menggunakan 7 neuron input dan 4

Bobot Nilai

Terbobot

(axb)

B Mutu Portofolio

C Mutu Tulisan di Blog

3.1.1 Algoritma Pembelajaran Langkah 0 :

- Inisialisasi bobot wij. - Set parameter topological neighbourhood

- Set parameter laju pembelajaran Langkah 1 : Jika syarat berhenti tidak dipenuhi (Salah), Kerjakan langkah 2 8Langkah 2 : Untuk setiap input vektor xLangkah 3 : Untuk setiap indeks j, hitung nilai :

D(j) = ∑ (Wij − Xi)Langkah 4 : Cari unit pemenang (indeks J), yaitu unit yang memiliki Dj minimumLangkah 5 : Hitung semua nilai wij (baru) dengan nilai j dari langkah 4.Wij (baru) = Wij (lama) + |Xi – Wij (lama)|Langkah 6 : Ubah (update) nilai laju pembelajaran.Langkah 7 : Kurangi jarak tetangga (R).Langkah 8 : Periksa syarat berhenti.

3.1.2 Algoritma Pengenalan Langkah 0 : Set nilai bobot wij.(ambil dari hasil pembelajaran)Langkah 1 : Untuk setiap indeks j, hitung nilai :

D(j) = ∑ (Wij − Xi)Langkah2 :Cari unit pemenang (indeks J), yaitu unit yang memiliki D(j) minimum.

3.2 Analisa Kerja AlgoritmaData training yang digunakan pada penilaian soft skills mahasiswa ini ada 4 data sebagai contoh.

Data Training

Data 1 Data 2 Data 3

w1 9 7

w2 4,5 3,5 3,5

w3 22,5 22,5 16,25

w4 9 7

w5 9 7

15%

25%

Set parameter topological neighbourhood

Set parameter laju pembelajaran .

Jika syarat berhenti tidak dipenuhi (Salah), Kerjakan langkah 2 –

x , kerjakan langkah 3 – 5Langkah 3 : Untuk setiap indeks j, hitung nilai :

Langkah 4 : Cari unit pemenang (indeks J), yaitu unit yang

(baru) dengan nilai j dari

Wij (lama)|) nilai laju pembelajaran.

Langkah 7 : Kurangi jarak tetangga (R).

.(ambil dari hasil pembelajaran)

Cari unit pemenang (indeks J), yaitu unit yang memiliki D(j)

penilaian soft skills ada 4 data sebagai contoh.

Data 3 Data 4

7 6

3,5 3,25

16,25 15

7 6

7 6

Page 111: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

111

Nilai B = 75 – 84Nilai C = 65 – 74Nilai E = 0 – 64

Urutan Langkah:- Bagian pertama dari proses pelatihan adalah

menentukan bobot awal. Nilai yang digunakan adalah nilai dari data sebelumnya antara 0 – 1.

- Banyaknya bobot yang digunakan adalah banyaknya input dikali dengan banyaknya output.Data Pembobotan Awal:

Data 1 Data 2 Data 3 Data 4

w1 0,08 0,07 0,04 0,02

w2 0,05 0,02 0,02 0,02

w3 0,20 0,22 0,19 0,16

w4 0,08 0,07 0,04 0,04

w5 0,08 0,07 0,04 0,04

w6 0,15 0,12 0,09 0,09

w7 0,20 0,22 0,19 0,16

Nilai A B C E

Nilai A = 0,85 – 1Nilai B = 0,75 – 0,84Nilai C = 0,65 – 0,74Nilai E = 0 – 0,64

- Parameter laju pembelajaran = 0,5

Langkah 1:- Jika syarat berhenti tidak dipenuhi (salah), kerjakan

langkah 2 – 8.Langkah 2:

- Untuk setiap input vector x, kerjakan langkah 3 – 5Langkah 3:

- Untuk setiap indeks j, hitung nilai:

D(j) = ∑ (Wij− Xi)Langkah 4:

- Cari Unit pemenang (indeks j), yaitu unit yang memiliki Dj minimum.

Langkah 5:- Selanjutnya nilai bobot yang berhubungan dengan

output tersebut diubah dengan Rumus:Wij (baru) = Wij (lama) + |Xi – Wij (lama)|

Data 1

w1 0,500

w2 0,475

w3 0,550

w4 0,500

w5 0,500

w6 0,500

w7 0,550

Langkah 6 :- Update nilai laju pembelajaran- Karena yang dirubah adalah bobot yang berhubungan

dengan output 1, maka:

OUTPUT 1 2 3 4

w1 0,08 0,070 0,040 0,054

w2 0,05 0,020 0,020 0,048

w3 0,20 0,220 0,190 0,059

w4 0,08 0,070 0,040 0,037

w5 0,08 0,070 0,040 0,015

w6 0,15 0,120 0,090 0,032w7 0,20 0,220 0,190 0,052

Langkah 7:- Kurangi jarak tetangga ( R )

Langkah 8:- Kemudian berikan data berikutnya.- Berikut ini adalah perubahan bobot setelah data ke dua

diberikan.

OUTPUT 1 2 3 4

w1 0,08 0,070 0,040 0,051

w2 0,05 0,020 0,020 0,048

w3 0,20 0,220 0,190 0,056

w4 0,08 0,070 0,040 0,051

w5 0,08 0,070 0,040 0,051

w6 0,15 0,120 0,090 0,051w7 0,20 0,220 0,190 0,056

- Berikut ini adalah perubahan bobot setelah data ke tiga diberikan

OUTPUT 1 2 3 4

w1 0,08 0,070 0,040 0,044

w2 0,05 0,020 0,020 0,041

w3 0,20 0,220 0,190 0,057

w4 0,08 0,070 0,040 0,047

w5 0,08 0,070 0,040 0,045

w6 0,15 0,120 0,090 0,052w7 0,20 0,220 0,190 0,057

- Berikut ini adalah perubahan bobot setelah data ke empat diberikan

OUTPUT 1 2 3 4

w1 0,08 0,070 0,040 0,085

w2 0,05 0,020 0,020 0,035

w3 0,20 0,220 0,190 0,080

w4 0,08 0,070 0,040 0,095

w5 0,08 0,070 0,040 0,070

w6 0,15 0,120 0,090 0,070w7 0,20 0,220 0,190 0,060

- Pelatihan dilakukan sampai jumlah iterasi yang diinginkan sampai menghasilkan angka yang mendekati nol.

- Setelah proses pelatihan selesai, dapat dilakukan pengujian dengan memasukkan salah satu data dan kemudian dicari unit pemenangnya.

- Dan data akan diklasifikasikan ke masing-masing output.

Berdasarkan hasil perubahan bobot data keempat maka diperoleh:

Tabel Pengujian

Nilai Output

Data 1 0,84 A

Data 2 0,79 B

Page 112: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

112

Data 3 0,61 C

Data 4 0,50 E

Tabel persentase kebenaran dari nilai perubahan bobot akhir terhadap nilai dari data Training :

% Kebenaran

Data 1 95,02%

Data 2 96,93%

Data 3 90,37%

Data 4 82,92%

4. PENUTUP4.1. KesimpulanDari hasil pengujian Metode Self – Organizing Maps (SOM)untuk penilaian soft-skills mahasiswa maka dapat ditarik kesimpulan sebagai berikut:1. Algoritma jaringan saraf tiruan dapat digunakan untuk

menghitung nilai soft skills mahasiswa.2. Semakin besar bobot maka akan semakin besar pula jarak

yang dihasilkan.3. Pada perhitungan analisa kami, nilai yang kami gunakan

adalah 0,5.

4. Dari 7 input penilaian yang kami lakukan, menghasilkan 4 buah output berupa nilai A,B,C,dan E.

Daftar Pustaka1. Teuvo Kohonen, "The Self-Organizing Map (SOM)",

http://www.cis.hut.fi/projects/somtoolbox/theory/somalgorithm.shtml

2. Sri Kusumadewi, "Artificial Intelligence", Penerbit Graha Ilmu,Tahun 2003

3. Suyanto, ST, Msc., "Artificial Intelligence Searching, Reasoning, Planning, And Learning", Penerbit Informatika, 2007

4. WIDYA SILFIANTI, Skom, MMSi, “Softskill dan Portofolio Mahasiswa", http://wsilfi.staff.gunadarma.ac.id/Downloads/files/13780/softskillmhsUG.pdf, 2010

5. Yohanes Surya dan Hokky Situngkir, "Makalah Jaringan Saraf Tiruan", http://materikuliah.info/artikel/mipa/makalah-jaringan-saraf-tiruan.aspx, Maret 2010

6. Bashir Magomedov, "Self-Organizing Feature Maps(Kohonen maps)".

Page 113: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

113

ALGORITMA JARINGAN SYARAF TIRUAN BACKPROPAGATIONPENENTUAN JURUSAN PADA SISWA SMA

ABSTRAKAdanya penjurusan pada SMA dengan

asumsi menempatkan siswa sesuai dengan minat, bakat dan potensi kecerdasannya, dalam praktik di sekolah, sulit diimplementasikan secara konsisten. Pihak sekolah perlu mengatur berdasarkan kuota dan perimbangan untuk masing-masing program jurusan.

Sekolah pada umumnya tidak memungkinkan melayani semua siswa untuk masuk program jurusan tertentu. Jumlah siswa yang berminat dan terkonsentrasi pada suatu jurusan tertentu akan dilakukan seleksi. Biasanya sekolah memutuskan penentuan program jurusan berdasarkan rangking. Pertimbangan minat dan keinginan siswa terkadang -terpaksa- diabaikan.

Dalam penelitian ini, akan dibuat sistem pendukung keputusan dalam melakukan perhitungan nilai,kemampuan dan minat yang dimiiki siswa untuk membantu penentuan jurusan. Sistem ini mengimplementasikan metode neural network backpropagation.

Kata Kunci : Algoritma Jaringan Syaraf TiruanBackpropagation, Penentuan Jurusan siswa SMA

1. PENDAHULUAN1.1. Latar Belakang

Terdapatnya program jurusan di SMA bukanlah

tanpa alasan. Penjurusan pada dasarnya memiliki

konsep yang ideal, yaitu menempatkan siswa sesuai

dengan minat, bakat dan potensi kecerdasannya.

Selain itu dapat mempersiapkan siswa ke jenjang

pendidikan yang lebih tinggi.

Namun masalah yang sering terjadi berkaitan

dengan ketidakpuasan siswa dalam program jurusan.

Di beberapa sekolah, karena ketatnya persaingan,

ada siswa yang berminat memilih program IPA

terpaksa harus masuk program IPS atau Bahasa.

Apabila siswa tersebut bersikukuh agar dapat masuk

ke program IPA, biasanya jalan keluarnya disarankan

untuk mutasi ke sekolah lain.

Di bebarapa sekolah terdapat siswa yang

berminat memilih program IPS, malah masuk

program IPA. Hal ini disebabkan minat siswa yang

memilih program IPA pada sekolah tersebut tidaklah

banyak. Siswa yang tergolong mampu secara

akademik, meski berminat dalam program IPS atau

Bahasa dapat dibujuk untuk pindah ke program IPA.

Perubahan dan tuntutan dari masyarakat ini

mengakibatkan remaja mengalami situasi Storm and

Stress di mana ia mengalami ketidakstabilan cita-cita.

Disamping karena penyesuaian tersebut, kenyataan

dilapangan yang memungkinkan siswa untuk memilih

jurusan adalah bertolak belakangnya antara

kemauan siswa dan keputusan yang diambil oleh

pihak sekolah. Dimana siswa dihadapkan untuk

memilih jurusan tanpa mempertimbangkan kemauan

dari siswa itu sendiri. Keadaan seperti inilah yang

mendorong peneliti untuk mencari tahu dinamika

proses pengambilan keputusan ketika siswa SMA

kelas X memilih jurusan. Pada proyek ini akan dibuat

sistem yang mengimplementasikan metode Neural

Network Backpropation untuk menentukan jurusan

SMA yang sesuai dengan kemempuan dan minat

siswa.

1.2.Rumusan Masalah

Berdasarkan uraian yang telah dikemukan

maka masalah pokok yang akan menjadi fokus

perhatian adalah Bagaimana melakukan penentuan

jurusan berdasarkan nilai mata pelajaran dan minat

siswa.

1.3.Tujuan

Tujuan dari penilitian ini adalah membuat

Kecerdasan Buatan sebagai sistem pendukung

keputusan penentuan jurusan pada SMA.

1.4.Batasan Masalah

Penentuan jurusan hanya mempertimbangkan

9 mata pelajaran dan minat kemasing-masing

jurusan.

2. LANDASAN TEORI2.1.Penentuan Jurusan Pada SMA

Jurusan yang ada di Sekolah Menengah Atas

terdiri atas tiga program studi sebagaimana yang

tercantum dalam pengembangan penilaian kurikulum

(2004:113), yaitu program studi ilmu alam (Jurusan

IPA), program studi ilmu sosial (Jurusan IPS) serta

program studi bahasa.

Dalam penentuan jurusan untuk program-

program studi yang ada dilakukan mulai akhir

semester 2 kelas X. Setelah siswa naik ke kelas XI

pelaksanaan program penjurusan studi baru

dilakukan. Penentuan jurusan inilah yang perlu

diperhatikan secara cermat oleh majelis guru maupun

siswa, mengingat hal ini menyangkut penentuan arah

berdasarkan kemampuan yang dimiliki siswa. Agar

siswa mempunyai gambaran yang jelas dan terarah,

maka segala persiapan yang diperlukan untuk

memantapkan pilihan serta mewujudkannya dapat

dilakukan lebih mudah.

Munawir 1 (P2700210026)Teknik Elektro Konsentrasi Teknik Informatika

Program Pascasarjana Universitas [email protected]

Yuyun 2 (P2700210051)Teknik Elektro Konsentrasi Teknik Informatika

Program Pascasarjana Universitas [email protected]

E = f(w)

a gradient descent

Page 114: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Kriteria dalam penentuan jurusan program studi

ditingkat menengah atas, sebagaimana tercantum

dalam pengembangan penilaian kurikulum

(2004:114/115) meliputi dua kriteria, yaitu :

1. Nilai akademik

Siswa yang naik di kelas XI dan akan mengambil

program studi tertentu yaitu : Ilmu Alam (IPA)

atau Ilmu Sosial (IPS) atau Bahasa boleh

memiliki nilai yang tidak tuntas paling banyak 3

(tiga) mata pelajaran yang belum menjadi ciri

khas program mata studi tersebut. Nilai itu harus

menjadi dasar untuk menentukan jurusan yang

dapat diikuti oleh siswa.

a. Apabila mata pelajaran yang tidak tuntas

adalah fisika, matematika dan sejarah (2

mata pelajaran ciri khas jurusan IPS), maka

siswa tersebut secara akademik dapat

dimasukkan ke jurusan Bahasa.

b. Apabila mata pelajaran yang tidak tuntas

adalah Bahasa dan Sastra Indonesia,

Bahasa Inggris dan Matematika (2 mata

pelajaran ciri khas Bahasa dan 1 ciri khas

IPA), maka siswa tersebut secara akademik

dapat dimasukkan ke jurusan IPS.

c. Apabila mata pelajaran yang tidak tuntas

adalah Ekonomi, Sosiologi dan Bahasa

Inggris (2 mata pelajaran ciri khas jurusan

IPS dan 1 ciri khas jurusan Bahasa), maka

siswa tersebut secara akademik dapat

dimasukkan ke jurusan IPA.

2. Minat Siswa

Untuk mengetahui minat siswa dapat dilakukan melalui angket/kuesioner dan wawancara atau cara lain yang dapat digunakan untuk menentukan minat dan bakat.

2.2. Jaringan Syarat Tiruan BacpropagationMetode Neural Network/ Jaringan Syaraf

Tiruan (JST) yang akan digunakan pada tugas ini

menggunakan algoritma Backpropagation (of errors)

atau the generalized delta rule. Logika umumnya

adalah sebuah metode untuk meminimalisasi error

rata-rata total (a gradient descent), yang dihitung oleh

net (jaringan neuron).

Tujuannya yaitu melatih JST untuk mencapai

suatu keseimbangan dalam merespon secara benar

model input yang telah dilatihkan, dan kemampuan

untuk memberikan respon yang masuk akal bagi

input yang mirip tetapi tidak identik dengan input pada

saat pembelajaran.

1

x1

x2

Xn

z1

z2

Zn

Y1

Y2

Yn

1

Input Units Hiden Units Output Units

Gambar 2.2. Backpropagation neural network

dengan satu hidden layer

Gambar 2.2 menunjukkan arsitektur

backpropagation dengan satu hidden layer. Hal yang

baru yaitu adanya bias. Bias memiliki pembobot,

dimana outputnya selalu bernilai 1. Arah panah pada

gambar menunjukkan arah sinyal pada fase feed

forward, sedangkan fase backpropagation merupakan

arah yang sebaliknya.

2.2.2. Fungsi AktivasiFungsi aktivasi merupakan fungsi pengolah

data input menjadi data output. Karakteristik pada

fungsi aktivasi dari Backpropagation adalah kontinyu,

dapat diturunkan, dan tidak menurun secara

monoton. Fungsi aktivasi merupakan lengkung

sigmoid, sebagaimana ditunjukkan berikut.

Ada beberapa jenis fungsi aktivasi untuk algoritma

backpropagasi:

1. Bipolar sigmoidBipolar sigmoid memiliki range dari (-1,1) dan

didefinisikan :

dan turunan fungsi adalah :

Ilustrasi fungsi di atas digambarkan :

x

f(x)

Page 115: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

dengan turunan fungsi adalah :

h ' (x) = [1 + h(x)][1 – h(x)]

2. Binary sigmoidBinary sigmoid memiliki range dari (0,1) dan

didefinisikan :

dan turunan/ fungsi differential adalah :f '(x) = f(x).[1-f(x)]

Ilustrasi fungsi di atas digambarkan pada gambar 2.2:

Gambar 2.4 Binary sigmoid, range (0,1)

2.2.3. Algoritma Pembelajaran

Algoritma pembelajaran backpropagation

terdiri dari tiga tahap, yaitu feedforward dari pola

pelatihan input, backpropagation dari errornya, serta

adjustment of the weights.

Algoritma Pembelajaran sebagai berikut :Step 0 Inisialisasi pembobot (set ke nilai-nilai kecil

secara acak)

Step 1 Saat kondisi pemberhentian false, kerjakan

langkah 2-9

Step 2. Untuk tiap-tiap pasangan pelatihan, kerjakan

step 3-8

Feedforward:

Step 3. Tiap input unit (Xi , i = 1……n) menerima

sinyal input xi dan mengirimkan sinyal ini ke semua

unit-unit pada layer di atasnya (hidden units).

Step 4. Tiap hidden unit (Zj , j = 1…..p)

menjumlahkan sinyal-sinyal input pembobotnya,

z_inj = voj + xivij,

menerapkan fungsi aktivasinya menghitung sinyal

outputnya :

z j = f(z_inj),

y_in k = wok + zjwjk,

dan menerapkan fungsi aktivasinya menghitung

sinyal outputnya :

y k = f(y_ink).

Backpropagation of error :

Step 6. Tiap output unit (Yk, k = 1……..m) menerima

suatu pola target yang bersesuaian dengan pola

pelatihan input, menghitung batas informasi errornya,

k = (tk – yk)f (y_ink),

mengkalkulasi batas koreksi pembobotnya

(digunakan untuk meng update wjk selanjutnya),

wjk = kzj,

mengkalkulasi batas koreksi biasnya (digunakan

untuk meng update w0k selanjutnya),

w0k = k,

dan mengirimkan k pada unit-unit layer di

bawahnya.

Step 7. Tiap-tiap hidden unit (Zj, j = 1……p)

menjumlahkan delta input-inputnya (dari unit-unit

layer diatasnya),

_inj = kwjk,

mengalikan dengan turunan dari fungsi aktivasinya

untuk mengkalkulasi batas informasi errornya,

j = _inj f (z_inj),

mengkalkulasi batas koreksi pembobotnya

(digunakan untuk meng update vij kemudian),

vij = jxi,

dan mengkalkulasi batas koreksi biasnya (digunakan

untuk meng update v0 j selanjutnya), v0j = j,

Update weights and biases :

Step 8. Tiap output unit (Yk, k = 1……m) meng

update bias dan pembobot-pembobotnya (j = 0…..p) :

wjk(new) = wjk(old) + wjk,

Tiap hidden unit (Zj, j=1…..p) meng update bias dan

pembobot-pembobotnya (i = 0……n) :

vij(new) = vij(old) + vij,

Step 9. Uji kondisi pemberhentian.

n

i=1

j=1

p

k=1

m

Page 116: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

epoch 1000. Tahap ini mencapai iterasi epoch ke

dengan Mean Square Error (MSE)

0.000998795521572423, seperti

diperlihatkan pada Gambar 3.1

Gambar 3.1 Hasil Pengujian

Hasil Pengujian dari kontruksi jaringan 12 unit

neuron pada layer input dan 3 unit neuron

lapisan output, sementara pada lapisan tersembunyi

ditetapkan 1 layer dengan 5 unit

1

x1

x2

X3

z1

z2

Z3

1

Input Units Hiden Units Output Units

Z4

Z5

X4

X5

X6

X7

X8

X9

X10

X11

X12

Gambar 3.2 Rancangan Arsitektur Jaringan

Tiruan Backpropagation

ini mencapai iterasi epoch ke 205

Mean Square Error (MSE) adalah

Gambar 3.1 Hasil Pengujian

Hasil Pengujian dari kontruksi jaringan 12 unit

neuron pada layer input dan 3 unit neuron pada

lapisan output, sementara pada lapisan tersembunyi

Y1

Y2

Y3

Output Units

Arsitektur Jaringan Syaraf

Gambar 3.3 Matriks Bobot Koneksi Layer input ke Hiden Layer

Gambar 3.4 Matriks Bobot AkhirOutput

Hasil pengujian penetapan pola pelatihan dan target

yang diinginkan dapat dilihat pada table 1.

Tabel 1 Data Pelatihan

Selanjutnya jaringan diuji berdasarkan pola

pelatihan.. Hasil dapat dilihat pada Tabel 2.

Tabel 2. Hasil Pengujian I

Bobot Koneksi Layer input ke Hiden

Hiden Layer ke Layer

Hasil pengujian penetapan pola pelatihan dan target

yang diinginkan dapat dilihat pada table 1.

Pelatihan ANN

Selanjutnya jaringan diuji berdasarkan pola

Hasil dapat dilihat pada Tabel 2.

Tabel 2. Hasil Pengujian I

Page 117: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

117

Dilakukan pengujian kedua . hasil dapat dilihat pada

tabel 3.

Tabel 3. Hasil Pengujian II

Setelah dilakukan pemebelajaran, dan pengujian

pola-pola yang dilatih, diperoleh hasil bahwa 80 %

test terhadap pola tersebut benar (akurat).

4. Kesimpulan dan Saran

4.1 KesimpulanBerdasarkan hasil analisis dan pengujian sistem,

maka dapat diambil beberapa kesimpulan:

1. Jaringan syaraf tiruan backpropagation mampu

melakukan penentuan jurusan yang sesuai

berdasarkan nilai mata pelajaran dan minat

siswa.

2. Dari hasil pembelajaran dan pengujian terhadap

pola yang dibuat diperoleh efesiensi kesalahan

80% terhadap test pola yang dilatih tersebut

benar(akurat).

3. Data training hal paling berpengaruh

berpengaruh terhadap sistem karena data

training yang menentukan bobot setiap parameter

yang yang dimasukan.

4.2 Saran

Dari tugas ini,masih diperlukan pembenahan-

pembenahan seingga didapatkan hasil yang lebih

bagus. Saran-saran yang dapat diberikan

diantaranya:

1. Peningkatan keakuratan hasil masih perlu

dengan menambahkan parameter-parameter

tambahan.

2. Meningkatkan performance sistem sehingga

sistem dapat berjalan lebih cepat.

3. Menambahkan metode atau mengubah metode

sehingga sistem dapat bekerja dengan baik dan

lebih sempurna sesuai dengan yang diharapkan.

5. Daftar Pustaka

[1] Aditiya Nugraha, Danang. Software

Pembelajaran Neural Network Dengan Algoritma

Backpropagation. 2008.

[3] Kristanto,Andri,Jaringan Syaraf Tiruan: Konsep

Dasar, Algoritmadan Aplikasi, Gava Media,

Yogyakarta,2004.

[2] Siang Jek Jok, Jaringan Syaraf Tiruan dan

Pemprograman menggunakan Matlab. Andi.

Yogyakarta ,2009.

Page 118: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

118

KLASIFIKASI PENILAIAN KINERJA DOSEN DENGAN MENGGUNAKAN ALGORITMA BACKPROPAGATION

Marson J. BudimanP2700210064

Teknik Elektro, UNHASJl. Perintis Kemerdekaan KM 10 Makassar

[email protected]

Andi Gita NoviantiP2700210041

Teknik Elektro, UNHASJl. Perintis Kemerdekaan KM 10 Makassar

[email protected]

ABSTRAK

Backpropagation Neural Network merupakan algoritma pembelajaran yang terawasi (Supervised Learning). Algoritma Backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Dalam proses penilaian kinerja dosen, algoritma backpropagation akan mengklasifikasikan kinerja berdasarkan kriteria yang diinputkan dan nantinya dijadikan pertimbangan dalam menetapkan punishment dan reward bagi dosen.

Kata kunci :Jaringan Syaraf Tiruan, Backpropagation, Dosen

1. PENDAHULUAN1.1. Latar Belakang Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi dengan beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik. Sedangkan profesor atau guru besar adalah dosen dengan jabatan akademik tertinggi pada satuan pendidikan tinggi dan mempunyai tugas khusus menulis buku dan karya ilmiah serta menyebarluaskan gagasannya untuk mencerahkan masyarakat. Pelaksanaan tugas utama dosen ini perlu dievaluasi dan dilaporkan secara periodik sebagai bentuk akuntabilitas kinerja dosen kepada para pemangku kepentingan.

Untuk proses evaluasi kinerja beban dosen, biasanya dilakukan oleh seorang assessor yang telah ditunjuk. Algoritma Backpropagation nantinya akan dipakai dalam proses klasifikasi kinerja beban dosen untuk penentuan reward and punishment bagi seorang dosen.

Perambatan galat mundur (Backpropagation) adalah sebuah metode sistematik untuk pelatihan multiplayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat error melalui model yang dikembangkan (training set).

Dimulai dengan lapisan masukan, hitung keluaran dari setiap elemen pemroses melalui lapisan luar, kemudian menghitung kesalahan pada lapisan luar yang merupakan selisih antara data aktual dan target. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan elemen pemroses. Propagasi balik kesalahan-kesalahan ini pada keluaran setiap elemen pemroses ke kesalahan yang terdapat pada masukan.

Ulangi proses ini sampai masukan tercapai. Terakhir seluruh bobot diubah dengan menggunakan kesalahan pada sisi masukan elemen dan luaran elemen pemroses yang terhubung.

1.2. Rumusan Masalah

Berdasarkan uraian yang telah dikemukan maka masalah pokok yang akan menjadi fokus perhatian adalah Bagaimana melakukan penentuan beban kinerja dosen berdasarkan evaluasi beban mengajar

1.3.Tujuan 1.1.1. Untuk mengetahui bagaimana cara kerja dari algoritma

Backpropagation dalam penyelesaian masalah pengklasifikasian, dalam pembahasan ini adalah pengklasifikasian kinerja beban dosen.

1.1.2. Untuk merancang perangkat lunak yang dapat melakukan klasifikasi kinerja beban dosen dengan menggunakan Algoritma Backpropagation.

1.4.Batasan MasalahPembahasan ini dibatasi hanya pada

perancangan perangkat lunak untuk melakukan penilaian kinerja dosen dengan menggunakan algorithma Backpropagation Neural Network serta analisis kinerja dari algoritma tersebut dalam proses penilaian

2. LANDASAN TEORI

Banyak sekali metode komputasi yang bisa dipakai dalam melakukan proses klasifikasi suatu permasalahan. Dalam proses penilaian kinerja dosen untuk penentuan punishment and reward pun bisa dilakukan dengan menggunakan metode komputasi. Dalam makalah ini, akan dibahas tentang salah satu metode tersebut, yaitu Backpropagation Neural Network.

2.1. Kinerja DosenDosen adalah salah satu komponen esensial

dalam suatu sistem pendidikan di perguruan tinggi.

Kompetensi tenaga pendidik, khususnya dosen, diartikan sebagai seperangkat pengetahuan, keterampilan dan perilaku yang harus dimiliki, dihayati, dikuasai dan diwujudkan oleh dosen dalam melaksanakan tugas

Page 119: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

profesionalnya. Kompetensi tersebut meliputi kompetensi pedagogik, kompetensi kepribadian, kompetensi sosial dan kompetensi profesional.

Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi dengan beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik. Pelaksanaan tugas utama dosen ini perlu dievaluasi dan dilaporkan secara periodik sebagai bentuk akuntabilitas kinerja dosen kepada para pemangku kepentingan. Hasil dari penilaian kinerja ini kemudian bisa dijadikan acuan dalam menetapkan punishment dan reward bagi dosen yang bersangkutan. 2.2. Metode JST Backpropagation

Perambatan galat mundur (Backpropagation) adalah sebuah metode sistematik untuk pelatihan multiplayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat error melalui model yang dikembangkan.1. Dimulai dengan lapisan masukan, hitung keluaran dari setiap

elemen pemroses melalui lapisan luar.2. Hitung kesalahan pada lapisan luar yang merupakan selisih

antara data aktual dan target. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan elemen pemroses.

3. Propagasi balik kesalahan-kesalahan ini pada keluaran setiap elemen pemroses ke kesalahan yang terdapat pada masukan. Ulangi proses ini sampai masukan tercapai.

Ubah seluruh bobot dengan menggunakan kesalahan pada sisi masukan elemen dan luaranelemen pemroses yang terhubung.

2.2.1. Arsitektur

1

x1

x2

Xn

z1

z2

Zn

Y1

Y2

Yn

1

Input Units Hiden Units Output Units

Gambar 2.2. Backpropagation neural network

panah pada gambar menunjukkan arah sinyal pada fase feed forward, sedangkan fase backpropagation merupakan arah yang sebaliknya.2.2.4. Fungsi Aktivasi

Fungsi aktivasi merupakan fungsi pengolah data input menjadi data output. Karakteristik pada fungsi aktivasi dari Backpropagation adalah kontinyu, dapat diturunkan, dan tidak menurun secara monoton. Fungsi aktivasi merupakan lengkung sigmoid, sebagaimana ditunjukkan berikut. Ada beberapa jenis fungsi aktivasi untuk algoritma backpropagasi:3. Bipolar sigmoid

Bipolar sigmoid memiliki range dari (-1,1) dan didefinisikan :

dan turunan fungsi adalah :

Fungsi bipolar sigmoid ini dapat juga dihasilkan dari:

dengan turunan fungsi adalah :h ' (x) = [1 + h(x)][1 – h(x)]

4. Binary sigmoidBinary sigmoid memiliki range dari (0,1) dan didefinisikan :

dan turunan/ fungsi differentialnya adalah :f '(x) = f(x).[1-f(x)]

Ilustrasi fungsi di atas digambarkan pada gambar 2.2:

2.2.5. Algoritma PembelajaranAlgoritma pembelajaran backpropagation terdiri dari

dua tahap, yaitu feedforward dari pola pelatihan input, backpropagation dari errornya, serta untuk melakukan pengujian dari data yang sudah dilatih maka dilakukan proses adjustment of the weights.

Algoritma Pembelajaran sebagai berikut :Step 0 Inisialisasi pembobot (set ke nilai-nilai kecil secara acak)Step 1 Saat kondisi pemberhentian false, kerjakan langkah 2-9Step 2. Untuk tiap-tiap pasangan pelatihan, kerjakan step 3-8

Feedforward: Step 3. Tiap input unit (Xi , i = 1……n) menerima sinyal input xi dan mengirimkan sinyal ini ke semua unit-unit pada layer di atasnya (hidden units).Step 4. Tiap hidden unit (Zj , j = 1…..p) menjumlahkan sinyal- sinyal input pembobotnya,

z_inj = voj + xivij,

menerapkan fungsi aktivasinya menghitung sinyal outputnya : z j = f(z_inj),

dan mengirimkan sinyal ini ke semua unit-unit pada layer di

n

i=1

Page 120: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

dan menerapkan fungsi aktivasinya menghitung sinyal outputnya :

y k = f(y_ink).Backpropagation of error :Step 6. Tiap output unit (Yk, k = 1……..m) menerima suatu pola target yang bersesuaian dengan pola pelatihan input, menghitung batas informasi errornya,

k = (tk – yk)f (y_ink),mengkalkulasi batas koreksi pembobotnya (digunakan untuk meng update wjk selanjutnya),

wjk = kzj,mengkalkulasi batas koreksi biasnya (digunakan untuk meng update w0k selanjutnya),

w0k = k,dan mengirimkan k pada unit-unit layer di bawahnya.Step 7. Tiap-tiap hidden unit (Zj, j = 1……p) menjumlahkan delta input-inputnya (dari unit-unit layer diatasnya),

_inj = kwjk,

mengalikan dengan turunan dari fungsi aktivasinya untuk mengkalkulasi batas informasi errornya,

j = _inj f (z_inj),mengkalkulasi batas koreksi pembobotnya (digunakan untuk meng update vij kemudian),

vij = jxi,dan mengkalkulasi batas koreksi biasnya (digunakan untuk meng update v0 j selanjutnya), v0j = j,

Update weights and biases :Step 8. Tiap output unit (Yk, k = 1……m) meng update bias dan pembobot-pembobotnya (j = 0…..p) :

wjk(new) = wjk(old) + wjk,Tiap hidden unit (Zj, j=1…..p) meng update bias dan pembobot-pembobotnya (i = 0……n) :

vij(new) = vij(old) + vij,Step 9. Uji kondisi pemberhentian.

Tujuan dari perubahan bobot untuk setiap lapisan, bukan merupakan hal yang sangat penting. Perhitungan kesalahan merupakan pengukuran bagaimana jaringan dapat belajar dengan baik. Kesalahan pada keluaran dari jaringan merupakan selisih antara keluaran aktual (current output) dan keluaran target (desired output). Langkah berikutnya adalah menghitung nilai SSE (Sum Square Error) yang merupakan hasil penjumlahan nilai kuadrat error neuron1 dan neuron2 pada lapisan output tiap data, dimana hasil penjumlahan keseluruhan nilai SSE akan digunakan untuk menghitung nilai RMSE (Root Mean Square Error) tiap iterasi [4].

2. Hitung selisih antara nilai luar prediksi dan nilai target atau sinyal latihan untuk setiap keluaran.

3. Kuadratkan setiap keluaran kemudian hitung seluruhnya. Ini merupakan kuadrat kesalahan untuk contoh lain.

= ( − ( ))

Root Mean Square Error (RMS Error). Dihitung sebagai berikut :Hitung SSE.Hasilnya dibagi dengan perkalian antara banyaknya data pada latihan dan banyaknya luaran, kemudian diakarkan.

= ∗Dimana :RMSE : Root Mean Square ErrorSSE : Sum Square ErrorN : Banyaknya data pada latihanK : Banyaknya Keluaran

3. HASIL DAN PEMBAHASAN3.1. Hasil

Hasil yang dicapai dari pengujian awal sesuai tabel pola pelatihan dengan menetapkan learning rate 0.2, galat yang diijinkan adalah 0.001 dan Maksimum epoch 1000. Tahap ini mencapai iterasi epoch ke 337 dengan Mean Square Error (MSE)adalah 0.000892148380098137, seperti diperlihatkan pada Gambar 3.1

Gambar 3.1 Hasil Pengujian

Hasil Pengujian dari kontruksi jaringan 6 unit neuron pada layer input dan 2 unit neuron pada lapisan output, sementara pada lapisan tersembunyi ditetapkan 1 layer dengan 3 unit

Gambar 3.2 Bobot Koneksi Layer input ke Hiden Layer

k=1 m

Page 121: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

121

Hasil pengujian penetapan pola pelatihan dan target yang diinginkan dapat dilihat pada table 1.

Tabel 1 Pola Pelatihan

Ket :X1 = Jumlah Tatap MukaX2 = Ketaatan terhadap SAPX3 = Nilai Rata-rata Evaluasi MahasiswaX4 = Hadir Pada Rapat Jurusan Selma 1 semsterX5 = Waktu Bimbingan/KonsulX6 = Kehadiran dalm kegiatan akademik & Non

Akademik

Selanjutnya jaringan diuji berdasarkan pola pelatihan.. dengan Target Error 0.01 . Hasil dapat dilihat pada Tabel 2.

Tabel 2. Hasil Pengujian I

Dilakukan pengujian kedua . Dengan Target error diubah menjadi 0,05 Maksimum Epoh = 1300 hasil dapat dilihat pada tabel 3.

Tabel 3. Hasil Pengujian II

Setelah dilakukan pemebelajaran, dan pengujian pola-pola yang dilatih, diperoleh hasil bahwa 80 % test terhadap pola tersebut benar (akurat)

Implementasi Kasus: JST Backpropagation di lakukan pelatihan pada data hasil penilaian kinerja dosen selama 3 semester (20091, 20092, 20101). Dengan tiga Layer yaitu enam unit pada Layer Input, tiga unit pada layer hiden, dan dua unit pada layer output. Data tersebut dipakai sebagai perbandingan untuk menentukan apakah seorang dosen menerima reward atau punishment pada semester sekarang (20102).

Page 122: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

122

Dari data tersebut, dicari pola untuk melakukan penentuan P&R. Diberikan range nilai 75 ≤ X ≥ 85. Jika total nilai setelah penghitungan skor kinerja, berada pada nilai 75 maka dengan mengabaikan skor pada semester sebelumnya, dosen yang bersangkutan otomatis mendapatkan “punishment”. Demikian pula sebaliknya, jika nilai pada semester sekarang adalah 85, maka dosen tersebut dipastikan mendapatkan “reward”.

Gambar 3.4 Implementasi Pemgisian Data Input

Gambar 3.5 Implementasi Hasil

Pada input layer, diinputkan skor dari kriteria-kriteria yang dipakai dalam penilaian kinerja pegawai. Nilai-nilai tersebut kemudian

dikirimkan ke hidden layer, dan hasilnya kemudian diteruskan ke output layer.

Ada dua proses yang terjadi pada hidden layer. Proses pertama feedforward, adalah proses untuk menghitung nilai kinerja pegawai berdasarkan krteria-kriteria yang telah ditentukan. Dari total nilai tersebut kemudian bisa dipastikan apakah dosen tersebut menerima reward atau punishment.

Proses kedua, backward propagation, adalah proses propagasi balik untuk mengenali pola dari data-data semester yang lalu untuk kemudian dijadikan sebagai pertimbangan untuk memutuskan apakah nilai pada semester sekarang ini patut mendapat reward atau malah punishment.

4. Kesimpulan dan Saran4.1. Kesimpulan

Berdasarkan hasil analisis dan pengujian sistem, maka dapat diambil beberapa kesimpulan:4. Jaringan syaraf tiruan backpropagation mampu melakukan

Klasifikasi Evaluasi Kinerja Dosen berdasarkan Parameter pendidikan dan pengajaran.

5. Dari hasil pembelajaran dan pengujian terhadap pola yang dibuat diperoleh efesiensi kesalahan 80% terhadap test pola yang dilatih tersebut benar(akurat).dimana pengujian dilakukan dengan mengubah Target Error lebih kecil dari data target error pelatihan

6. Data training hal paling berpengaruh berpengaruh terhadap sistem karena data training yang menentukan bobot setiap parameter yang yang dimasukan.

4.2. SaranDari tugas ini,masih diperlukan pembenahan-pembenahan

seingga didapatkan hasil yang lebih bagus. Saran-saran yang dapat diberikan diantaranya:4. Peningkatan keakuratan hasil masih perlu dengan

menambahkan parameter-parameter tambahan.5. Meningkatkan performance sistem sehingga sistem dapat

berjalan lebih cepat.6. Menambahkan metode atau mengubah metode sehingga

sistem dapat bekerja dengan baik dan lebih sempurna sesuai dengan yang diharapkan.

5. Daftar Pustaka[1] Aditiya Nugraha, Danang. Software

Pembelajaran Neural Network Dengan Algoritma Backpropagation. 2008.

[3] Kristanto,Andri,Jaringan Syaraf Tiruan: Konsep Dasar, Algoritmadan Aplikasi, Gava Media, Yogyakarta,2004.

[2] Siang Jek Jok, Jaringan Syaraf Tiruan dan Pemprograman menggunakan Matlab. Andi. Yogyakarta ,2009. \

Page 123: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

123

PENILAIAN SOFT-SKILL MAHASISWA DENGAN JARINGAN SARAF TIRUAN BACKPROPAGATION

Rahman1) Nur Dahniar2)

Pascasarjana Universitas Hasanuddin Pascasarjana Universitas HasanuddinTeknik Elektro Informatika Teknik Elektro Informatika

Makassar, Indonesia Makassar, [email protected] [email protected]

ABSTRAK

Soft-skill adalah kompetensi-kompetensi pokok yang menjadi

faktor dominan dalam kesuksesan seseorang disamping hard-skill

yang dimilikinya. Penilaian soft-skill yang unik yang tidak

berdasarkan rataan nilai keseluruhan atribut yang diamati, harus

konsisten dalam memberikan output terhadap input data massif

(jumlah data yang banyak) dengan rentang nilai yang variatif.

Jaringan syaraf tiruan backpropagation adalah algoritma

klasifikasi data berdasarkan pola pembelajaran yang diterapkan.

Jaringan syarat tiruan backpropagation dapat mengenali rentang

nilai antara pola pelatihan terhadap target yang diinginkan.

Penelitian ini menggunakan skema backpropagation 2 hidden

layer dengan 19 unit input mewakili 19 atribut soft-skill

mahasiswa yang dinilai, serta sebuah unit output. Fungsi aktivasi

sigmoid biner digunakan pada setiap output unit pada layer

hidden dan output. Akhir iterasi diperoleh Mean Square Error

(MSE) 0.000999171308615 pada learning rate 0.2 dengan

tetapan awal toleransi error 0.001. Hasil pelatihan mengenali

keseluruhan data pengujian dengan tingkat efisiensi 83%.

Berdasarkan hasil tersebut, penelitian ini merekomendasikan

pengembangan algoritma jaringan syaraf tiruan backpropagation

sebagai metode yang efektif dalam penilaian soft-skill mahasiswa.

Ketentuan Umum

Algoritma

Kata Kunci

Soft-Skill, Jaringan Syaraf Tiruan, Backpropagation

1. PENDAHULUAN

Soft-skill adalah keterampilan yang secara formal tidak diajarkan

dalam bentuk mata kuliah, akan tetapi terbukti menjadi faktor

dominan dalam kesuksesan masa depan seseorang. Hal ini

mendorong penilaian dan pembinaan terhadap atribut soft-skill

pada peserta didik di level universitas mengemuka disamping

tantangan metode penilaiannya disatu sisi.

Beberapa atribut soft-skill, yang dianggap penting dan

membedakan setiap orang, pada dasarnya dapat dipahami melalui

pendekatan konsep kecerdasan emosional. Perbedaannya konsep

soft-skill mencakup tinjaun-tijauan lebih luas pada dua lingkup

kategori yaitu Intra-personalitas dan Inter-Personalita.

Kemampuan Intra-personalitas adalah keterampilan yang dimiliki

seseorang dalam mengatur dirinya sendiri, seperti manajemen

waktu, manajemen stress, manajemen perubahan, karakter

transformasi, berpikir kreatif, memiliki acuan tujuan positif, dan

teknik belajar cepat. Sedangkan inter-personalitas adalah

keterampilan berhubungan atau berinteraksi dengan lingkungan

kelompok masyarakatnya dan lingkungan kerjanya serta interaksi

dengan individu manusia sehingga mampu mengembangkan

unjuk kerja secara maksimal, kemampuan memotivasi,

kemampuan memimpin, kemampuan negosiasi, kemampuan

presentasi, kemampuan komunikasi, kemampuan menjalin relasi,

dan kemampuan bicara dimuka umum.

Kesulitan melakukan komputasi pada soft-skill adalah karena

hasil akhir penilaian bukanlah nilai rataan dari seluruh atribut-

atribut yang diamati. Nalar manusiawi akan mengedepankan

atribut etika diatas atribut-atribut soft-skill lainnya. Demikian juga

rentang nilai-nilai yang variatif diantara atribut-atribut tersebut

bisa dinalar saling mendukung satu dengan yang lain. Kelemahan

atribut yang satu ditutupi kekuatan atribut lain. Masalah ini tidak

terpenuhi secara efektif oleh logika pemrograman biasa.

Jaringan syaraf tiruan backpropagation adalah algoritma yang

meniru cara kerja jaringan neuron-neuron pada otak manusia.

Jaringan ini dapat mengenali pola dan membuat klasifikasi

berdasarkan pola pelatihan terhadap target yang diinginkan

sebelumnya.

Konsep backpropagation sebagai salah satu pengembangan

bidang kecerdasan buatan sangat relevan untuk kasus penilaian

atribut-atribut soft-skill untuk jumlah data massif dengan range

atau rentang nilai yang sangat bervariasi. Jaringan tiruan ini

mampu melakukan klasifikasi secara cepat, dan yang paling

penting menjaga konsistensinya terhadap pola pelatihannya.

2. LANDASAN TEORI

2.1 Soft-Skill Mahasiswa

Subjek soft-skill mahasiswa adalah atribut-atribut kemampuan

non-akademis yang relevan mendapatkan penilaian sesuai level

interaksi sosial dan status sebagai mahasiswa. Secara keseluruhan

ada 19 atribut soft-skill dalam 2 lingkup utama yang akan dinilai

sebagai berikut:

2.1.1 Lingkup Intra Personalitas

a. Kedisiplinan

Page 124: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

124

b. Kejujuran dan integritas diri

c. Motivasi

d. Kepercayaan diri

e. Kemampuan untuk mempraktikan etika prilaku di

samping mempunyai tanggung jawab terhadap

lingkungan sosialnya.

2.1.2 Lingkup Inter Personalitas

Kemampuan ini berkaitan dengan interaksi sosial yang

terbagi 3 yaitu keterampilan berkomunikasi (communicative

skills) pada poin f s/d h, keterampilan kepemimpinan (leadership

skills) pada poin i s/d l, kerja dalam tim (team work force) pada

poin m s/d p, dan keterampilan berpikir dan menyelesaikan

masalah (thinking skills and Problem solving skills) pada poin q

s/d s sebagai berikut:

f. Kemampuan menyampaikan ide / gagasan secara oral

atau lisan dan tertulis secara jelas, efektif dan

meyakinkan.

g. Kemampuan untuk mempraktikkan keterampilan

mendengar dengan baik dan memberi tanggapan.

h. Kemampuan berpresentasi secara jelas dan meyakinkan

kepada audiens.

i. Mempunyai pengetahuan teori dasar kepemimpinan

j. Kemampuan untuk memahami dan menjadi alternatif

pemimpin dan pengikut

k. Kemampuan mensupervisi anggota suatu group

l. Kemampuan untuk menerima dan memberikan

tanggung jawab sepenuhnya

m. Kemampuan untuk membangun hubungan, berinteraksi

dan bekerja secara efektif dengan lainnya

n. Kemampuan untuk memahami dan berperan sebagai

pemimpin dan pengikut (anggota)

o. Kemampuan untuk memahami, menghargai dan

menghormati perilaku, pemahaman dan keyakinan

orang lain

p. Kemampuan untuk memberikan kontribusi terhadap

perencanaan dan mengkoordinasikan kerja grup.

q. Kemampuan untuk mengidentifikasi dan menganalisis

masalah dalam situasi sulit dan melakukan justifikasi

r. Kemampuan untuk membuat kesimpulan berdasarkan

pembuktian yang valid

s. Kemampuan memperluas dan memperbaiki

keterampilan berfikir seperti menjelaskan, menganalisis

dan mengevaluasi diskusi.

Soft-skill adalah kualitas individu pada beberapa atribut. Atribut

yang dinilai merupakan data kualitatif. Setiap atribut memiliki 5

level kualitas yang berkorelasi dengan nilai kuantitatif. Tabel 1

menyajikan level kualitatif setiap atribut dan korespondensinya

dengan nilai kuantitatif.

Tabel 1. Interpretasi data kualitatif

Sangat Baik 5

Baik 4

Cukup 3

Biasa Saja 2

Kurang 1

Data tersebut adalah data diluar interval kerja jaringan

backpropagation sehingga tahap selanjutnya adalah bobot nilai

tersebut ditransformasi kedalam interval 0.1 dan 0.9 dengan

fungsi transformasi.

2.2 JARINGAN SYARAF TIRUAN

BACKPROPAGATION

Jaringan syaraf tiruan backpropagation adalah sistem pemroses

informasi yang memiliki karakteristik mirip dengan jaringan

syaraf biologi. Jaringan tersebut dibentuk sebagai generalisasi

model matematika jaringan neuron biologis. Setiap neuron

direpresentasikan sebagai node atau titik yang berhubungan

dengan neuron lain pada layer berdekatan melalui sebuah garis

berbobot. Bobot-bobot setiap garis akan dilatih dan ditentukan

selama pelatihan.

Gambar 1. Lapisan Jaringan Saraf Tiruan Layer Jamak

2.2.1 Algoritma

Jaringan syaraf tiruan backpropagation melalui tiga fase untuk

mencapai konvergensi pada bobot-bobot penghubung neuron-

neuronnya. Fase 1 yaitu langkah 0 s/d 2 adalah fase awal

inisialisasi. Fase 2 yaitu langkah 3 s/d 5 adalah fase propagasi

maju. Fase 3 yaitu 6 s/d 9 adalah fase propagasi balik untuk

menghitung dan mendistribusikan nilai error pada bobot-bobot

penghubung neuron. Propagasi maju dan propagasi balik akan

diulang hingga titik konvergensi tercapai atau looping maksimum

terpenuhi. Langkah-langkah algoritma backpropagation sebagai

berikut:

Page 125: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

125

Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil.Langkah 1 : Saat kondisi pemberhentian false, kerjakan langkah 2 s/d 9Langkah 2 : Untuk tiap-tiap pasangan data pelatihan, kerjakan langkah 3 s/d 8Langkah 3 : Tiap input unit (Xi , i = 1……n) menerima sinyal input xi dan mengirimkan sinyal ini ke semua unit-unit pada layerdi atasnya (hidden units).Langkah 4 : Tiap hidden unit (Zj , j = 1…..p) menjumlahkan sinyal-sinyal input pembobotnya,

_ = + ∑Fungsi 1: Menjumlahkan sinyal-sinyal output

= = 11 + _

Fungsi 2 : Fungsi aktivasi sinyal outputLangkah 5 : Hitung semua keluaran jaringan di unit yk

(k=1,2...m).

_ = +Fungsi 3: Menjumlahkan sinyal-sinyal output

= = 11 + _Fungsi 4 : Fungsi aktivasi sinyal output

Langkah 6 : Tiap output unit (Yk, k = 1……..m) menerima suatu pola target yang bersesuaian dengan pola pelatihan input, menghitung batas informasi galatnya,

k = (tk – yk)f (y_ink)Fungsi 5 : Menghitung batas informasi error

mengkalkulasi batas koreksi pembobotnya (digunakan untuk mengubah bobot selanjutnya),

wjk = kzj

Fungsi 6 :Perubahan bobot koneksi

w0k = k,Fungsi 7 :Perubahan bobot bias

mengkalkulasi batas koreksi biasnya (digunakan untuk mengubahbobot bias selanjutnya),Langkah 7 : Menghitung faktor setiap unit tersembunyi berdasarkan kesalahan unit tersembunyi (Zj, j = 1……p)

d_ = d

Fungsi 8 : Menjumlahkan delta unit tersembunyi

d = d_net (1 − )Fungsi 9 : Turunan fungsi aktivasi

mengalihkan dengan turunan dari fungsi aktivasinya untuk mengkalkulasi batas informasi galatnya, mengkalkulasi batas koreksi pembobotnya (digunakan untuk mengubah vij

selanjutnya),vij = jxi,

Fungsi 10 : Perubahan bobot vij

dan mengkalkulasi batas koreksi biasnya (digunakan untuk mengubah v0 j selanjutnya),

v0j = j,Fungsi 11 : Mengubah bobot bias v0j

Langkah 8 : Tiap output unit (Yk, k = 1……m) mengubah bias dan pembobot-pembobotnya (j = 0…..p) :

wjk(new) = wjk(old) + wjk

Fungsi 12 : Mengubah bias dan bobot tiap output

Tiap unit tersembunyi (Zj, j=1…..p) mengubah bias dan bobot-bobotnya (i = 0……n) :

vij(new) = vij(old) + vij

Fungsi 13 : Mengubah bias dan bobot tiap hidden

Langkah 9 : Uji kondisi pemberhentian.

Pada akhir pelatihan titik konvergensi bobot-bobot jaringan akan

didapatkan.

2.2.2 Fungsi Aktivasi dan Transformasi

Fungsi aktivasi yang diguakan adalah fungsi sigmoid biner.

Fungsi ini bersifat kontinyu dan terdiferensial yang memiliki

rentang nilai output antara 0 dan 1.

( ) = 11 +Fungsi 14: Bentuk dasar fungsi aktivasi

Grafik 1. Fungsi aktivasi

Fungsi sigmoid biner bekerja pada rentang nilai 0 dan 1. Fungsi

transformasi pada layar input dan output dipergunakan untuk

mentrasformasikan bobot-bobot soft-skill pada rentang 1-5

menjadi bilangan-bilangan real antara 0 dan 1.

( ) = 0.8( − )− + 0.1 , = 1, = 5

Fungsi 15: Transformasi input

Grafik 2. Fungsi Transformasi

3. HASIL DAN PEMBAHASAN

Konstruksi jaringan dibuat dengan bahasa pemrograman visual

basic Net 2005. Pada lapisan input terdapat 19 unit neuron,

mewakili 19 kriteria soft-skill, ditambah bias. Jaringan memiliki 2

lapisan tersembunyi dengan masing-masing 5 dan 3 unit neuron

dan bias. Output jaringan berupa sebuah neuron pada lapisan

output.

Pada pelatihan awal jaringan ditraining dengan toleransi galat

0.01 serta learning rate 0.2 dan maksimum epoch (iterasi) 1000.

Jaringan mencapai titik konvergensi pada epoch ke 137 dengan

Mean Square Error (MSE) adalah 0.00982603576706226.

Untuk meningkatkan efisiensi training dilakukan pada tahap

kedua dengan menurunkan toleransi galatnya menjadi 0.001,

Page 126: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

126

sementara learning rate dan epoch-nya tetap. Jaringan mencapai

konvergensi pada epoch 444 dengan Mean Square Error (MSE)

0.000999171308615.

Jaringan dilatih menggunakan data pelatihan pada tabel 2. Data

pelatihan dan target yang diinginkan dipasangkan untuk setiap

variasi nilai atribut-atribut yang digunakan. Setiap pasangan nilai

atribut dan target tersebut adalah pola training.

Tabel 2. Pola pelatihan

Tahap awal pelatihan didapatkan galat 0.0098 pada epoch ke 137

seperti diperlihatkan pada gambar 2.

Gambar 2. Hasil Pengujian Awal

Selanjutnya pola pelatihan digunakan untuk menguji output

jaringan. Pengujian ini hanya mampu mencapai efisiensi 66%

terhadap data pelatihannya. Hasil pengujian disajikan pada tabel 3

hasil pengujian.

Tabel 3. Pengujian Efisiensi

Tabel 3 memperlihatkan efisiensi jaringan belum maksimal

sehingga perlu ditingkatkan dengan menurungkan toleransi galat.

Selanjutnya jaringan ditraining ulang untuk menurunkan galat dan

mencapai konvergensi yang lebih baik. Tahap ini hanya

menetapkan galat 0.001 sementara parameter pengujian lain tetap.

Gambar 3 memperlihatkan hasil pelatihan jaringan.

Gambar 3. Pelatihan Tahap 2

Setelah titik konvergensi tercapai dengan batas galat 0.001, maka

langkah selanjutnya pengujian efisiensi jaringan tahap dua

terhadap pola pelatihannya. Pengujian ini, seperti disajikan tabel

4, memberikan efisiensi 100% terhadap pola pelatihannya.

Page 127: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

127

Tabel 4. Pengujian Efisiensi

Dari tabel 4 diatas, diperoleh kesesuaian secara menyeluruh

antara output terhadap target pelatihan. Selanjutnya adalah

tahapan pengujian dengan data-data berbeda dengan pola

pelatihannya.

Titik konvergen dengan batas galat 0.001 dicapai pada kondisi

bobot-bobot antara neuron-neuron pada setiap lapisan seperti

yang ditunjukan pada Gambar 4:

Gambar 4. Bobot Koneksi Input

Gambar 5. Bobot Koneksi Layar Tersembunyi

Gambar 6. Bobot Koneksi Layer Output

Setelah konvergensitas tercapai maka jaringan diuji dengan data

yang belum pernah diujikan sebelumnya. Data dan hasil

pengujian pada tabel 5

Tabel 5. Data dan hasil pengujian

Dari keseluruhan pelatihan dan pengujian diperoleh efisiensi

berikut ini:

Tabel 6. Efisiensi Jaringan

Tabel 6 menunjukkan efisiensi jaringan untuk batas galat 0.01

terhadap 12 data, di mana menghasilkan Efisiensi 66% untuk data

yang telah mengikuti pelatihan dan 41% untuk data yang belum

dilatih. Sedangkan jika dengan menggunakan batas galat 0.001

terhadap 12 data, menghasilakan efisiensi 100% berhasil untuk

data yang telah mengikuti pelatihan dan 83% untuk data yang

belum dilatih.

4. KESIMPULAN

a. Jaringan syaraf tiruan backpropagation dengan 2 layer

tersembunyi mampu mendeteksi range nilai-nilai soft-skill

mahasiswa sesuai pola pelatihannya.

b. Penuruanan toleransi galat akan menghasilkan waktu

komputasi pelatihan lebih lama tapi meningkatakan

ketelitian jaringan dalam mengenali pola.

c. Jaringan syaraf tiruan backpropagation dapat

dikembangkan dan ditingkatkan ketelitiannya dengan

menggunakan algoritma komputasi paralel untuk menguji

ketelitian jaringan untuk setiap penambahan unit layer dan

layer jaringan.

Page 128: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

128

5. UCAPAN TERIMA KASIH

Alhamdulillahirabbil’alamiin terima kasih penulis haturkan

kepada sang Maha Segala ALLAH S.W.T akhirnya tugas proyek

“Penilaian Soft-Skill Mahasiswa Dengan Jaringan Saraf Tiruan

Backpropagation” ini bisa selesai dengan tepat waktu

(Alhamdulillah) meski dengan penuh pengorbanan, darah dan air

mata. Terima kasih yang sedalam - dalamnya pula penulis

haturkan untuk dosen pembimbing Dr.Armin Lawi. S.Si, M.Eng

yang senantiasa membimbing penulis dalam penyelesaian proyek

ini. Terima kasih juga penulis sampaikan untuk teman-teman

seperjuangan yang sedikit banyak sudah memberi semangat

dalam menyelesaikan proyek ini meski panas maupun hujan.

Mudah-mudahan hasil dari proyek ini dapat bermanfaat untuk

banyak orang, terlebih bagi mahasiswa yang ingin

mengembangkan proyek ini lebih lanjut.

6. DAFTAR PUSTAKA

[1] Aditiya Nugraha, Danang. Software Pembelajaran Neural Network Dengan Algoritma Backpropagation: 2008.

[2] Kristanto, Andri. Jaringan Syaraf Tiruan: Konsep Dasar, Algoritmadan Aplikasi, Gava Media, Yogyakarta,2004.

[3] Siang Jek Jok. Jaringan Syaraf Tiruan dan Pemprograman menggunakan Matlab. Andi. Yogyakarta ,2009.

Page 129: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

129

JURNAL

PENILAIAN SOFT-SKILL MAHASISWA DENGAN JARINGAN SARAF TIRUAN

BACKPROPAGATION

NUR DAHNIAR P2700210011RAHMAN P2700210034

Page 130: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

130

JSP DAN JAVA

Page 131: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

IMPLEMENTASI

SubardinSTMIK Catur Sakti, Kendari

[email protected]

ABSTRAK

Jakarta Tomcat atau Apache Tomcat adalahcontainer yang dibuat oleh Apache Software Foundation (ASF) yang merupakan web application server, yang mempunyai kemampuan sebagai Servlet container dan JSP container di mana kita mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang lumrahnya adalah berupa browser.

Beberapa hal terkait dalam Jakarta Tomcat diantaranya struktur, distribusi, dan keamanan

Kata KunciTomcat, Jakarta Tomcat, JSP, Servlet

PENDAHULUANPerkembangan aplikasi web

menjadikan perlombaan dalam menngali informasi web, pengetahuan yang diberikan dalam berbagai terkadangan emnjadian kurang pahamnya para peminat aplikasi web sehingga menimbulkan menurunya aplikasi yang berorientasi web.

Penyebab terjadinya hal tersebut karena informasi terhadap suatu pemrograman berbasis web yang tidak spesifik sehingga menjadi suatu yang simpansiur tanpa penjelasan yang lengkap.

Jakarta Tomcat atau yang sekarang dikenal dengan Apache Tomcat merupakan salah satu perangkat web yang dapat digunakan dalam mengembangkan aplikasi web. Berdasarkan hal tersebut maka diperlukan penjelsan yang detail dan jelas mengenai Jakarta Tomcat khususnya dalam mengembangkan aplikasi web.

Rumusan masalah dalam penelitian terdiri dari beberapa hal :

1)Bagaimana Struktur pada Jakarta Tomcat.2)Sistem Distribusi pada Jakarta Tomcat3)Bagaimana system keamanan yang dimiliki

dalam Jakarta Tomcat.4)Load balancing dengan Apache Tomcat

Banyaknya hal yang berkaitan dengan

IMPLEMENTASI JAKARTA TOMCAT

Baharuddin RahmanSTMIK Catur Sakti

Kendari

[email protected]

Jakarta Tomcat atau Apache Tomcat adalah Servlet/JSP container yang dibuat oleh Apache Software Foundation (ASF) yang merupakan web application server, yang mempunyai

ainer dan JSP container di mana kita mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang

Beberapa hal terkait dalam Jakarta Tomcat diantaranya

Tomcat, Jakarta Tomcat, JSP, Servlet

Perkembangan aplikasi web menjadikan perlombaan dalam menngali informasi web, pengetahuan yang diberikan dalam berbagai terkadangan emnjadian

aplikasi web sehingga menimbulkan menurunya aplikasi

Penyebab terjadinya hal tersebut karena informasi terhadap suatu pemrograman berbasis web yang tidak spesifik sehingga menjadi suatu yang simpansiur tanpa

Jakarta Tomcat atau yang sekarang dikenal dengan Apache Tomcat merupakan salah satu perangkat web yang dapat digunakan dalam mengembangkan aplikasi web. Berdasarkan hal tersebut maka diperlukan penjelsan yang detail dan jelas

usnya dalam

Rumusan masalah dalam penelitian terdiri

Bagaimana Struktur pada Jakarta Tomcat.Sistem Distribusi pada Jakarta TomcatBagaimana system keamanan yang dimiliki

dengan Apache Tomcat

Banyaknya hal yang berkaitan dengan

2)Sistem dan Proses Distribusi pada Jakarta Tomcat

3)Sistem Keamanan yang dimiliki Jakarta Tomcat

4)Load balancing dengan Apache Tomcat

Tujuan yang diharapkan dapat dicapai dalam penyusunan ini meliputi :

1)Memahami struktur Jakarta Tomcat.2)Memahami Sistem Distribusi pada Jakarta

Tomcat3)Memahami system Keamanan Jakarta Tomcat4) Load balancing dengan Apache Tomcat

JAKARTA TOMCAT2.1 Definisi

Tomcat atau lengkapnya Java Apache Tomcat merupakan Servlet/JSP container yang dibuat oleh Apache Software Foundation (ASF) yang merupakan server, yang mempunyai kemampuan sebagai Servlet container dan JSP container di mana kita mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang lumrahnya adalah berupa browser.

Menjalankan Jakarta Tomcat dibutuhkan Java Development Kit (JDK), menjalankan Jakarta Tomcat akan membentuk sebuah directory yaitu TOMCAT_HOME

2.2 Arsitektur

Gambar 1. Arsitektur Jakarta Tomcat

Arsitektur Jakarta Tomcat meliputi <Server>, <Servis>, <Connector/>, <Engine>, <Host>, <Conteks>. Service merupakan servlet seluruh mesin dan digunakan sebagai unsur tingkat atas untuk contoh Unsur <Server> mungkin juga atau lebih wadah <Service>. Unsur<Service> merupakan yang memegang koleksi dari satu

A.

JAKARTA TOMCAT

Sistem dan Proses Distribusi pada Jakarta

Sistem Keamanan yang dimiliki Jakarta

Load balancing dengan Apache Tomcat

Tujuan yang diharapkan dapat dicapai dalam

Memahami struktur Jakarta Tomcat.Memahami Sistem Distribusi pada Jakarta

Memahami system Keamanan Jakarta TomcatTomcat

Tomcat atau lengkapnya Java Apache Tomcat Servlet/JSP container yang dibuat oleh Apache

Software Foundation (ASF) yang merupakan web application server, yang mempunyai kemampuan sebagai Servlet container

SP container di mana kita mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang lumrahnya adalah berupa browser.

Menjalankan Jakarta Tomcat dibutuhkan Java Development Kit (JDK), menjalankan

arta Tomcat akan membentuk sebuah directory yaitu TOMCAT_HOME.

Gambar 1. Arsitektur Jakarta Tomcat

Arsitektur Jakarta Tomcat meliputi <Server>, <Servis>, <Connector/>, <Engine>, <Host>, <Conteks>. Service merupakan Catalina

mesin dan digunakan sebagai contoh Tomcat tunggal.

Unsur <Server> mungkin juga mengandung satu . Unsur<Service>

yang memegang koleksi dari satu

A.M. Lukman AMIK Makassar

[email protected]

Page 132: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

dimiliki satu oleh Service yang menangani semua permintaan dari Connector.<Host>merupakan elemen untuk satu atau lebih aplikasi denganmasing-masing diwakili oleh komponen <Context>.Unsur <Context> merupakan yang paling umum digunakan dalam contoh Tomcat, merupakan aplikasi web yang mendefiniskan dari <Host>.

2.3 Struktur Direktori Jakarta TomcatStruktur Direktori yang dibentuk setelah

melakukan penginstalan pada Jakarta Tomcat adalah sebagai berikut :

Tabel1. Struktur Direktori Jakarta TomcatDirektori Deskripsi

/aprèss Direktori root dari aplikasi Web. Semua JSP dan file HTMLharus disimpan di sini

/apress/WEBINF Berisi semua yang berkaitan dengan aplikasi web. di mana deploymendescriptor aplikasi terletak.Perhatikan bahwa direktori WEBbagian dari kelompokdokumen. Tidak ada file dalam direktori ini dapat diminta langsung oleh Client

/apress/WEBINF/classes Dimana servlet dan kelas utilitas berada

/apress/WEBINF/lib Berisi Java Arsip file yang tergantung aplikasi Webatas. Sebagai contoh, ini adalah di mana Anda akan menempatkan file JAR yangberisi driver JDBC atau perpustakaan JSP tag

3. DISTRIBUSI JAKARTA TOMCAT

Tahapan dalam melakukan distribusi dari Jakarta Tomcat tampak pada gambar bagan proses berikut ini :

Gambar 2. Distribusi Jakarta Tomcat

Proses distribusi Jakarta Tomcat diawali dengan pembuatan direktori yang

dimiliki satu oleh Service yang menangani semua merupakan

untuk satu atau lebih aplikasi Web, masing diwakili oleh komponen

Unsur <Context> merupakan tempatyang paling umum digunakan dalam contoh

, merupakan aplikasi web yang

2.3 Struktur Direktori Jakarta Tomcatdibentuk setelah

melakukan penginstalan pada Jakarta Tomcat

Tabel1. Struktur Direktori Jakarta TomcatDeskripsi

Direktori root dari aplikasi Web. Semua JSP dan file HTMLharus disimpan di sini

risi semua yang berkaitan dengan aplikasi

. di mana deployment descriptor aplikasi

Perhatikan bahwa direktori WEB-INF bukan

kelompokdokumen. Tidak ada file dalam direktori ini yang dapat diminta langsung

Dimana servlet dan kelas

a Arsip file yang tergantung aplikasi Webatas. Sebagai contoh, ini adalah di mana Anda akan menempatkan file JAR yangberisi driver JDBC atau perpustakaan JSP tag

3. DISTRIBUSI JAKARTA TOMCAT

Tahapan dalam melakukan distribusi dari Jakarta Tomcat tampak pada gambar

Gambar 2. Distribusi Jakarta Tomcat

Proses distribusi Jakarta Tomcat diawali dengan pembuatan direktori yang

bagi Aplikasi web. Aplikasi Web hanya memiliki satu servletcontext yang bertujuan untuk berkomunkasi dengancontainer. Tahap berikutnya adalah menambahkan JSP yang merupakan tampilan dari web Aplikasi yang akan di distribusikan. Selanjutnya adalah menambahkan servlet, Untuk menyebarkan servlet ke aplikasi Web, terlebih dahulu mengkompilasi servlet dan memindahkannyake / direktori WEBINF/classes aplikasi Web.yang ditambahkan ke aplikasi Web kami adalah library tag. Libraritunggal (HelloTag) yang menggantikan setiap terjadinya teks<apress:hello/>

Bila aplikasi Web telah siap untuk penyebaran maka diperlukan paket untuk distribusi, aplikasi web dikemas dalam file WAR. Langkah dalam penyebarang adalah sebagai berikut:

1) Pindahkan ke direktori root dari aplikasi Web ( TOMCAT_HOME / webapps/après/).

2) Arsip aplikasi Web dengan menggunakan perintah berikut :Jar cvf après.war

3) Salin hasi file WAR, après.war ke direktori TOMCAT_HOME/webapps

4) Jika belum mempunyai, tambahkan sebuah context baru pada file /TOMCAT_HOME/conf/server.xml, referensikan aprèss aplikasi web.

5) Restart Tomcat.

KEAMANAN PADA JAKARTA TOMCAT

Aplikasi Web memiliki hal terpenting selain dari kecepatan distrbusi, tampilan dan tak akalh pentingnya adalah system keamanan.

Jakarta Tomcat mengenalkan beberapa system keamanan diantaranya :3.1 Manager Web Aplikasi

Tomcat Manager Aplikasi Web dikemas dengan server Tomcat. Hal ini didalam konteks / manajer dan menyediakan fungsionalitas dasar untuk mengelolaaplikasi Web yang berjalan di server Tomcat. Beberapa fungsi yang disediakan mencakupkemampuan untuk menginstal, start, stop, menghapus, dan melaporkan pada aplikasi Webmelakukan pengaturan manager maka terlebih dahulu harus masuk sebagai user pengguna pada file xml yang terdapat pada TOMCAT_HOME / conf / tomcat-users.xml file, adapun potongan file xml adalah sebagai berikut :

<tomcat-users><user name="tomcat" password="tomcat" roles="tomcat" />

bagi Aplikasi web. Aplikasi Web hanya memiliki satu servletcontext yang bertujuan untuk berkomunkasi dengan servlet container. Tahap berikutnya adalah menambahkan JSP yang merupakan tampilan dari web Aplikasi yang akan di distribusikan.

adalah menambahkan servlet, Untuk menyebarkan servlet ke aplikasi Web,

engkompilasi servlet dan emindahkannyake / direktori WEB-

.Komponen terakhir ambahkan ke aplikasi Web kami

Librari iniberisi tag tunggal (HelloTag) yang menggantikan setiap terjadinya teks<apress:hello/>.

siap untuk penyebaran maka diperlukan paket untuk distribusi, aplikasi web dikemas dalam file WAR. Langkah dalam penyebarang adalah sebagai berikut:

Pindahkan ke direktori root dari aplikasi Web ( TOMCAT_HOME / webapps/après/).

enggunakan perintah berikut :

Salin hasi file WAR, après.war ke direktori

Jika belum mempunyai, tambahkan sebuah context baru pada file /TOMCAT_HOME/conf/server.xml, referensikan

KEAMANAN PADA JAKARTA TOMCAT

Aplikasi Web memiliki hal terpenting selain dari kecepatan distrbusi, tampilan dan tak akalh pentingnya adalah system keamanan.

Jakarta Tomcat mengenalkan beberapa system keamanan diantaranya :

t Manager Aplikasi Web dikemas dengan server Tomcat. Hal ini diletakkan di

konteks / manajer dan menyediakan fungsionalitas dasar untuk mengelolaaplikasi

berjalan di server Tomcat. Beberapa fungsi yang disediakan mencakupkemampuan

instal, start, stop, menghapus, dan melaporkan pada aplikasi Web. Untuk melakukan pengaturan manager maka terlebih dahulu harus masuk sebagai user pengguna pada

TOMCAT_HOME / , adapun potongan

xml adalah sebagai berikut :

<user name="tomcat" password="tomcat"

Page 133: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

133

</tomcat-users>

3.2 Keamananan RealmsTomcat berisi jenis fungsi sebagai fitur

built-in, dan org.apache.catalina. Realm antarmuka adalah komponen yang menyediakan fungsi interface ini yang menyediakan sebuah mekanisme dimana sebuah koleksi nama user, password, dan peran terkait integrasi Tomcat. Jika kita download sumber Tomcat,maka akan ditemukan interface di lokasi berikut:

<TOMCAT_HOME>/src/catalina/src/share/org/apache/catalina/Realm.java

Tomcat menyediakan dua kelas implementasi Realm: MemoryRealm dan JDBCRealm.

a. Memory RealmsPelaksanaan Realm pertama yang diberikan Tomcat adalah dunia memori, yang dilaksanakan oleh kelas org.apache.catalina.realm.MemoryRealm.kelas MemoryRealm menggunakan file XML sederhana sebagai wadah pengguna. Kode berikutmerupajan potongan memori yang berisi contoh file xml.

<tomcat-users><user name="tomcat" password="tomcat" roles="tomcat" /><user name="role1" password="tomcat" roles="role1" /><user name="both" password="tomcat" roles="tomcat,role1" /><user name="bob" password="password" roles="manager" /></tomcat-users>

b. JDBC Realms

Pelaksanaan Realm kedua yang diberikan Tomcat adalah dunia JDBC, yangdilaksanakan oleh kelasorg.apache.catalina.realm.JDBCRealm. Kelas inimirip dengan MemoryRealm dengan pengecualian di mana menyimpan group pengguna. Sebuah JDBCRealm menyimpan semua pengguna dalam sebuah-user yang ditentukan denganJDBC-compliant database.

Keuntungan dari JDBC Realm adalah sebagai berikut :1) Menggunakan JDBC Realm memungkinkan anda untuk

menggunakan aplikasi database Andasebagai wadah pengguna, sedangkan, di sebagian besar aplikasi Web yang sebelumnya ada, wadah pengguna ada di beberapa database server Web.

2) JDBC Realm memungkinkan membuat perubahan ke database user dan memiliki perubahan yang berlaku tanpa restart server Tomcat. Bila menggunakan MemoryRealm, maka harus restart Tomcat server setelah menambahkan pengguna baru.

LOAD BALANCING DENGAN APACHE TOMCAT

sebuah environment server untuk menghindari crash suatu server akibat request

terlalu banyak yang diarahkan ke server.Pada saat server sedang memproses request, maka request yang lain akan menunggu hingga request yang sebelumnya selesai diproses oleh server. Jika suatu penungguan request proses terlalu lama biasanya server akan mengembalikan HTTP Status Code 504(Gateway Timeout).Untuk menanggulangi masalah tersebut dibutuhkan suatu trik tersendiri agar masalah tersebut tidak terjadi pada Sistem Environment Server. Salah satunya adalah dengan menggunakan prinsip load balancing. Contoh gambar berikut ini:

instalasi ada beberapa hal yang perlu kita persiapkan sebagai skets dari skenario kita, skets itu adalah sebagai berikut.1. Server Gateway akan berjalan pada HTTP port 80.2. Server Processor 1 akan berjalan pada HTTP port 8080.3. Server Processor 2 akan berjalan pada HTTP port 9090.4. Webapps cuma hanya ada pada Server Processor 1 dan

tidak perlu ada pada Server Processor 2.5. Webapps Server Processor 2 akan diarahkan ke folder

dimana webapps pada Server Processor 1 berada.6. ModJK Apache module akan digunakan sebagai forwarder

request ke Tomcat.Menginstall ModJK

Untuk menghubungkan Apache ini dengan Tomcat, Apache memerlukan suatu library bernama ModJK. Silahkan mengunduh ModJK untuk apache anda disini. Setelah kita mendownload module Apache yang ini. Letakkan file ModJK yang kita download pada folder <ApacheInstalationFolder>\modules. Ubah nama file mod_jk-1.2.27-httpd-2.2.10.so menjadi mod_jk.so

INTERFACE DAN ADMINISTRASI TOOL PADA JAKARTA TOMCAT

Instalasi Jakarta Tomcat yang sempurna akan menghasilkan tampilan sebagai berikut ketika Jakarta Tomcat pertama kali di jalankan.

Page 134: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Gambar 3. Interface Jakarta Tomcat

Tampilan awal Jakarta Tomcat akan menampilkan beberapa group menu diantaranya :1) Group Menu Administration

Pada group menu Administration terdiri dari beberapa menu yaitu : Status merupakan status login user pada Jakarta Tomcat, Tomcat Administration merupakan interface untuk masuk ke dalam tool administrasi yang nantinya digunakan untuk melakukan setingan terhadap penggunaan Jakarta Tomcat, Tomcat Manager merupakan interfacememberikan informasi dari Manager Tomcat.

2) Group Menu DocumentationPada group menu terdiri dari beberapa menu yaitu :

Release Note merupakan catatan atau dokumentasi yang di release pada Jakarta Tomcat, Change log merupakan log pada Jakarta Tomcat, Tomcat Documentation merupakan menu yang menampilkan dokumentasi dari Jakarta Tomcat.

3) Group Menu Tomcat on-lineGroup Menu on-line merupakan segala hal yang

berkaitan dengan informasi on-line pada Jakarta Tomcat yang meliputi Homepage, Bug Database, Open Bsebagainya.

Beberapa Interface pada Administrasi Tool Jakarta Tomcat

Gambar 4. Login Administrasi Tool

Gambar 3. Interface Jakarta Tomcat

Tampilan awal Jakarta Tomcat akan menampilkan beberapa group menu diantaranya :

Pada group menu Administration terdiri dari beberapa Status merupakan status login user pada Jakarta

Tomcat, Tomcat Administration merupakan interface untuk masuk ke dalam tool administrasi yang nantinya digunakan untuk melakukan setingan terhadap penggunaan Jakarta Tomcat, Tomcat Manager merupakan interface yang memberikan informasi dari Manager Tomcat.

Pada group menu terdiri dari beberapa menu yaitu : Release Note merupakan catatan atau dokumentasi yang di release pada Jakarta Tomcat, Change log merupakan log pada

Tomcat Documentation merupakan menu yang menampilkan dokumentasi dari Jakarta Tomcat.

line merupakan segala hal yang line pada Jakarta Tomcat yang

meliputi Homepage, Bug Database, Open Bugs dan

Beberapa Interface pada Administrasi Tool

Gambar 4. Login Administrasi Tool

Login Administrasi Tool digunakan untuk melakukan login ke Administrasi Tool hal ini untuk memberikan batasan bagi pengguna Jakarta Tomcat.

Gambar 5. Menu Adminitrasi Tool

Administrasi tool terdiri dari beberapa menu pilihan diantaranya : Tomcat Server, Resources, dan User Definition.

Gambar 6. Tomcat ServerInterface yang memberikan informasi

service dan Engine yang digunakan Jakarta Tomcat.

Gambar 7. Role List

Role List digunakan untuk menampilkan status user yang menggunakan Jakarta Tomcat selain itu Interface ini juga digunakan untuk melakukan pembuatan user pengguna.

KESIMPULANTomcat, atau lengkapnya Apache Jakarta

Tomcat adalah Servlet/JSP container yang dibuat oleh Apache Software Foundation (ASF).Saat ini Tomcat menjadi reference implementation dari spesifikasi Servlet/JSP (Java Server Pages) dari

Login Administrasi Tool digunakan untuk melakukan login ke Administrasi Tool hal ini untuk memberikan batasan bagi pengguna Jakarta Tomcat.

Gambar 5. Menu Adminitrasi Tool

Administrasi tool terdiri dari beberapa menu pilihan diantaranya : Tomcat Server, Resources, dan User Definition.

Gambar 6. Tomcat ServerInterface yang memberikan informasi

service dan Engine yang digunakan Jakarta

Gambar 7. Role List

Role List digunakan untuk menampilkan status user yang menggunakan Jakarta Tomcat selain itu Interface ini juga digunakan untuk melakukan pembuatan user pengguna.

Tomcat, atau lengkapnya Apache Jakarta adalah Servlet/JSP container yang dibuat

oleh Apache Software Foundation (ASF).Saat ini Tomcat menjadi reference implementation dari spesifikasi Servlet/JSP (Java Server Pages) dari

Page 135: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

135

service pada sistem operasi berbasis Windows. Tomcat versi 5.5.x adalah implementasi dari spesifikasi Servlet versi 2.4, dan spesifikasi JSP versi 2.0. Situs web resmi dari Tomcat adalah: http://jakarta.apache.org/tomcat/index.html

Tomcat adalah Servlet/JSP container, dibangun dalam bahasa pemrograman Java dan dijalankan di atas Java Virtual Machine (JVM). Untuk terhubung ke sebuah web server diperlukan komponen yang disebut sebagai 'connector'. Tomcat dapat berjalan sendiri (standalone) tanpa webserver lain dengan menggunakan connector Coyote. dari kesimpulan ini, mengingat telah begitu banyak bahasa pemrograman untuk web, seperti PHP, Perl, Phyton, CGI/C, dan lain lain. Belum lagi dengan menjalankan sebuah web server di atas virtual machine tentunya akan berpengaruh ke kinerja dari web server.

Bahasa Java memberi kemudahan untuk memelihara aplikasi, karena merupakan bahasa yang terstruktur dan Object Oriented, dan penerapan model berbasis container-component-connector.Kenyataan di pasar juga membuktikan bahwa untuk aplikasi internet/intranet kelas enterprise dengan menggunakan middleware, saat ini pasar dipegang oleh web server berbasis Java (BEA WebLogic, IBM Websphere, Sun iPlanet, OrionServer, Oracle Application Server).Memang sekilas bila kita menggunakan Tomcat, yang perlu dilakukan hingga aplikasi yang kita buat dapat berjalan, tidak semudah bila kita menggunakan PHP atau Perl. Hal ini disebabkan Tomcat memiliki bootstrap process, yang melakukan inisialisasi container dan komponen2 di dalamnya. Setelah itu, apabila aplikasi pertama kali dijalankan di Tomcat, Tomcat akan melakukan proses kompilasi dari JSP menjadi Java class. Pekerjaan ini menambah beban seakan-akan Tomcat sebagai webserver sangat lambat atau 'berat'. Tetapi apabila kita mencoba untuk memanggil page yang sama untuk kedua kalinya kita dapat melihat bahwa kinerja Tomcat tidak ketinggalan jauh dibanding bahasa pemrograman lain serta mempunyai tingkat keamanan untuk melindungi aplikasi web, karena sekarang yang dijalankan adalah Java bytecode yang sudah terkompilasi. Sekarang Java bytecode tinggal dijalankan oleh JVM.

REFERENSIJames Goodwill by Apache Jakarta-Tomcat 2002, http://linux-sxs.org/internet_serving/book1.htmlTomcat forum at JavaRanch

http://www.coderanch.com/t/84805/Tomcat/Cannot-Tomcat-Admin-App-t

Tomcat 5 on Linux Step-By-Stephttp://linux-sxs.org/internet_serving/book1.htm

Page 136: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

136

MASALAH PENANGANAN FILE DALAM JAVA

1 Andi Irmayana, 2 Teguh Kurniawan dan 3 Selfina PareTeknik Informatika, Program Studi Teknik Elektro

Program Pascasarjana Universitas Hasanuddin MakassarE-mail: [email protected], [email protected], [email protected]

AbstrakPemograman Java dapat digunakan dalam hal penanganan file (file handling) dengan file “jenis” dalam file dialog Open. Ini menentukan bagaimana pilihan pengguna jenis file mempengaruhi file yang ditampilkan dalam pemilih file dan filter yang dapat digunakan untuk membuka atau mengimpor file. Hal ini juga menentukan bagaimana file dengan format yang belum diakui dapat ditangani. Pemrograman Java terdiri dari instruksi-instruksi penggunaan file yang mampu membuat program untuk membaca data dari file dan merekam data ke file.

Kata kunci : java, file, file handling

1. Pendahuluan

1.1 Latar Belakang

Sejauh ini, seluruh program kita memiliki keterbatasan: semua data dapat diterima sepanjang program tersebut aktif. Ketika program telah selesai dijalankan, semua data yang telah dimasukkan maupun hasil pengolahan data akan dibuang. Tentu saja, untuk aplikasi-aplikasi pada umumnya (perbankan, akuntansi keuangan, dan sebagainya.), keterbatasan ini tidak dapat diterima. Aplikasi-aplikasi tersebut membutuhkan penyimpanan data yang persisten. Dengan demikian, data harus tersimpan dalam keadaan yang permanen, sehingga dapat digunakan pada proses selanjutnya. Cara yang paling banyak digunakan untuk menyediakan penyimpanan data seperti di atas adalah dengan menggunakan file disk. Java menyediakan fasilitas tersebut, dengan akses serial maupun acak terhadap file, dan juga akan menjelaskan penggunaan dua metode file tersebut, baik dalam aplikasi non-GUI maupun dalam GUI.

2. Pembahasan

2.1 Akses File Serial

File akses serial adalah file-file dimana data disimpan dalam lokasi yang berdampingan, sering tidak berurutan, dimana data baru akan ditambahkan pada bagian akhir dari file. File sequential adalah file serial dimana data disimpan dalam urutan tertentu (misalnya, dalam urutan angka). Sebuah file sequential merupakan file serial, tetapi sebuah file serial belum tentu merupakan file sequential. Struktur internal dari file serial dapat berupa biner atau teks. Dalam hal ini akan dijelaskan mengenai file serial dalam bentuk teks.

Sebelum J2SE 5.0, sebuah file teks membutuhkan sebuah obyek FileReader untuk input dan obyek FileWriteruntuk output. Namun pada 5.0, kita dapat menggunakan obyek File baik sebagai input maupun output. Konstruktor File mengambil sebuah String sebagai argumen yang menentukan nama file yang akan muncul dalam direktori yang ditentukan.

Contoh:(i) File inputFile = new File("accounts.txt"); (ii) String fileName = "dataFile.txt";

File outputFile = new File(fileName);

Kelas File dimuat dalam paket java.io, jadi paket ini harus dimasukkan dalam program. Sebelum J2SE 5.0, diharuskan untuk mengikutkan obyek BufferedReader pada obyek FileReader untuk membaca sebuah file. Demikian juga, harus mengikutkan obyek PrintWriter pada obyek FileWriter untuk menulis ke dalam sebuah file. Sekarang, kita dapat menggunakan obyek Scanner pada obyek File untuk input dan obyek PrintWriter untuk output.

Contoh:(i) Scanner input = new Scanner(new File("inFile.txt")); (ii) PrintWriter output = new PrintWriter(new

File("outFile.txt"));

Kemudian, kita dapat menggunakan metode next, nextLine, nextInt, nextFloat, dsb untuk input dan metode print dan println untuk output. Contoh menggunakan obyek input dan output, sebagai berikut.

(i) String item = input.next(); (ii) output.println("Test output"); (iii) int number = input.nextInt();

Hal penting lainnya adalah kita dapat memilih untuk membuat obyek File anonim, seperti pada contoh di atas, atau kita dapat menggunakan obyek File yang dinamai.

Contoh(i) File inFile = new File("inFile.txt");

Scanner input = new Scanner(inFile); (ii) File outFile = new File("outFile.txt");

PrintWriter output = new PrintWriter(outFile);

Pada saat pengolahan file telah selesai, file harus ditutup dengan metode close, yang termasuk dalam kelas Scanner maupun kelas PrintWriter. Misalnya,

input.close();

Contoh program untuk mengilustrasikan penulisan satu baris teks ke dalam suatu file teks adalah sebagai berikut.

Perhatikan bahwa metode 'append' tidak digunakan untuk file serial dalam Java. Setelah program di atas dieksekusi, file 'test1.txt' akan mengandung baris teks yang telah ditentukan. Jika file tersebut telah ada sebelumnya, maka isi file sebelumnya akan terhapus. Jadi, jika Anda ingin menambahkan data dalam file yang telah ada, Anda masih perlu menggunakan obyek FileWriter, yang menggunakan konstruktor berikut dengan ‘true’ sebagai argumen kedua.

(i) FileWriter(String <fileName>, boolean <append>) (ii) FileWriter(File <fileName>, boolean <append>)

Sebagai contoh;

FileWriter addFile = new FileWriter("data.txt", true);

Untuk mengirim data output ke file, sebuah obyek PrintWriter akan diikutkan pada FileWriter.

PrintWriter output = new PrintWriter(addFile);

Kedua langkah di atas dapat disatukan menjadi;

PrintWriter output = new PrintWriter(new FileWriter("data.txt", true);

Kita dapat dengan mudah menulis kode dalam Java untuk membaca data dari file teks, namun akan lebih cepat dan mudah memeriksa bahwa data telah berhasil ditulis adalah dengan menggunakan perintah yang relevan dengan sistem operasi yang digunakan. Misalnya, pada sistem operasi

import java.io.*;public class FileTest1{ public static void main(String[] args) throws IOException { PrintWriter output = new PrintWriter(new File("test.txt")); output.println("Single line of text!"); output.close(); }}

Page 137: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Windows, bukalah jendela MS-DOS command dan tuliskan perintah berikut ini.

type test.dat

Contoh output dari program ini ditunjukkan pada Gambar 1.

2.2 Metode File

Kelas File memiliki banyak metode, dimana yang terpenting adalah sebagai berikut.

1) boolean canRead()Bernilai true jika file dapat dibaca dan false jika sebaliknya.

2) boolean canWrite() Bernilai true jika file dapat ditulisi dan false jika sebaliknya.

3) boolean delete() Menghapus file dan bernilai true/false jika berhasil/gagal.

4) boolean exists()Bernilai true jika file ada dan false jika sebaliknya.

5) String getName()Mendapatkan nama file.

6) boolean isDirectory() Bernilai true jika obyek merupakan direktori/folder dan false jika sebaliknya. (Perhatikan bahwa obyek File dapat menunjuk ke file ataupun ke direktori.)

7) boolean isFile()Bernilai true jika obyek merupakan sebuah file dan falsejika sebaliknya.

8) long length()Menghasilkan ukuran file dalam byte.

9) String[] list()Jika obyek adalah direktori, larik akan memuat nama-nama file dalam direktori tersebut.

10) File[] listFiles() Seperti pada metode sebelumnya, tetapi menghasilkan larik dari obyek File.

11) boolean mkdir()Membuat direktori dengan nama dari obyek File. Menghasilkan nilai yang mengindikasikan berhasil/gagal.

Contoh berikut ini mengilustrasikan penggunaan beberapa metode di atas:

import java.io.*;import java.util.*;public class FileMethods{ public static void main(String[] args) throws IOException { String filename; Scanner input = new Scanner(System.in); System.out.print("Enter name of file/directory "); System.out.print("or press <Enter> to quit: "); filename = input.nextLine(); while (!filename.equals("")) //Not <Enter> key. { File fileDir = new File(filename); if (!fileDir.exists())

System.out.println("readable."); System.out.print("It is "); if (!fileDir.canWrite()) System.out.print("not "); System.out.println("writeable."); if (fileDir.isDirectory()) { System.out.println("Contents:"); String[] fileList = fileDir.list(); //Now display list of files in directory... for (int i=0;i<fileList.length;i++) System.out.println(" " + fileList[i]); } else { System.out.print("Size of file: "); System.out.println(fileDir.length() + " bytes."); } System.out.print("\n\nEnter name of next file/directory "); System.out.print("or press <Enter> to quit: "); filename = input.nextLine(); } input.close(); }}

Contoh output dari program ini :

2.3. File Akses Acak

File akses serial mudah untuk ditangani dan biasanya digunakan untuk aplikasi kecil atau untuk penyimpanan sementara pada aplikasi skala-besar. Namun, penggunaan file akses serial memiliki dua kekurangan, sebagai berikut:

(i) Tidak dapat langsung mengakses data tertentu.

(ii) Tidak dapat menambah atau memodifikasi data di dalam suatu file.

File akses acak (atau file akses langsung) mengatasi kedua masalah di atas, walaupun juga memiliki kekurangan.

(i) Pada penggunaan umum, semua data (logis) dalam file tertentu harus memiliki ukuran yang sama.

(ii) Juga pada penggunaan umum, suatu field string harus memiliki ukuran yang sama dengan semua data pada file tersebut.

Misalkan kita ingin membuat file akun dengan field berikut: 1. nomor akun (long); 2. nama lengkap (String); 3. inisial (String); 4. saldo (float).

Contoh kode programdapat dibuat sebagai berikut.

import java.io.*;import java.util.*;public class RanFile1{ private static final int REC_SIZE = 48; private static final int SURNAME_SIZE = 15; private static final int NUM_INITS = 3; private static long acctNum = 0; private static String surname, initials; private static float balance; public static void main(String[] args) throws IOException { RandomAccessFile ranAccts =

Gambar 2. Contoh output dari penggunaan metode File

Gambar 1. Membuat File dan menampilkan isi File

Page 138: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

surname = input.nextLine(); System.out.print("Initial(s): "); initials = input.nextLine(); System.out.print("Balance: "); balance = input.nextFloat(); //Now get rid of carriage return(!)... input.nextLine(); writeRecord(ranAccts); //Method defined below. System.out.print("\nDo you wish to do this again (y/n)? "); reply = input.nextLine(); } while (reply.equals("y")||reply.equals("Y")); System.out.println(); showRecords(ranAccts); //Method defined below. } public static void writeRecord(RandomAccessFile file) throws IOException { //First find starting byte for current record... long filePos = (acctNum-1) * REC_SIZE; //Position file pointer... file.seek(filePos); //Now write the four (fixed-size) fields. //Note that a definition must be provided //for method writeString... file.writeLong(acctNum); writeString(file, surname, SURNAME_SIZE); writeString(file, initials, NUM_INITS); file.writeFloat(balance); } public static void writeString(RandomAccessFile file, String text, int fixedSize) throws IOException { int size = text.length(); if (size<=fixedSize) { file.writeChars(text); //Now 'pad out' the field with spaces... for (int i=size; i<fixedSize; i++) file.writeChar(' '); } else //String is too long! file.writeChars(text.substring(0,fixedSize)); //Write to file the first fixedSize characters of //string text, starting at byte zero. } public static void showRecords(RandomAccessFile file) throws IOException { long numRecords = file.length()/REC_SIZE; file.seek(0); //Go to start of file. for (int i=0; i<numRecords; i++) { acctNum = file.readLong(); surname = readString(file, SURNAME_SIZE); //readString defined below. initials = readString(file, NUM_INITS); balance = file.readFloat(); System.out.printf("" + acctNum + " " + surname + " " + initials + " " + "%.2f %n",balance); } } public static String readString(RandomAccessFile file, int fixedSize) throws IOException { String value = ""; //Set up empty string. for (int i=0; i<fixedSize; i++) //Read character and concatenate it onto value... value+=file.readChar(); return value; }}

Tampilan pada Gambar 3 menunjukkan operasi dari program di atas.

kembali obyek asal dengan memberikan nilai komponen tersebut ke konstruktor yang sesuai.

Sebagai contoh;

ObjectOutputStream outStream = new ObjectOutputStream(new FileOutputStream("personnel.dat"));

ObjectInputStream inStream = new ObjectInputStream(new FileInputStream("personnel.dat"));

Metode writeObject dan readObject digunakan untuk masing-masing output dan input. Kedua metode ini menulis/membaca kelas Object (superclass tertinggi), setiap obyek yang dibaca kembali dari file harus dikembalikan ke kelas asalnya sebelum digunakan lagi. Misalnya:

Personnel person = (Personnel)inStream.readObject(); //(Diasumsikan inStream dideklarasi seperti di atas.)

2.5. File I/O dengan GUISatu hal yang pasti terdapat dalam aplikasi GUI adalah

terdapatnya sebuah kotak dialog yang membolehkan user untuk menavigasi sistem file dalam komputer dan memilih file yang akan dibuka atau target direktori untuk suatu file yang akan dibuat. Dengan menggunakan kelas JFileChooserdari Swing,

Obyek JFileChooser membuka sebuah kotak dialog Modal, ('Modal' berarti bahwa jendela ini harus dikeluarkan sebelum melanjutkan ke proses berikutnya), yang menampilkan struktur direktori sistem dan membolehkan uses mengeksplorasinya. Ketika obyek JFileChooser dibuat, metode setFileSelectionMode dapat digunakan untuk menentukan di antara file dan/atau direktori yang dapat dipilih oleh user, melalui tetapan-tetapan berikut:

JFileChooser.FILES_ONLY JFileChooser.DIRECTORIES_ONLY JFileChooser.FILES_AND_DIRECTORIES

Sebagai contoh:

JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY);

Ekspresi di atas menyebabkan kotak dialog ditampilkan di tengah jendela aplikasi. Jika null diambil sebagai argumen, maka kotak dialog akan tampil di tengah layar. Nilai integer yang dihasilkan adalah salah satu dari tetapan berikut ini:

JFileChooser.CANCEL_OPTION JFileChooser.APPROVE_OPTION

Jika tetapan kedua yang digunakan maka metode akan menghasilkan 'true' ketika user memilih suatu file. Misalnya:

int selection = fileChooser.showOpenDialog(null);if (selection == JFileChooser.APPROVE_OPTION)............................................. //(Aksi spesifik diberikan jika file dipilih.)

Jika suatu file dipilih, maka metode getSelectedFile akan menghasilkan obyek File yang bersangkutan. Misalnya:

File file = fileChooser.getSelectedFile();

Untuk I/O serial dalam string dan tipe primitif, Kita harus menyertakan obyek Scanner (untuk input) atau obyek PrintWriter (untuk output) pada obyek File, seperti yang dilakukan pada 4.1. Misalnya:

Scanner fileIn = new Scanner(file);

PrintWriter fileOut = new PrintWriter(file);Demikian juga halnya untuk I/O serial obyek, kita harus

Gambar 3. Contoh operasi file akses acak

Page 139: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

139

new FileOutputStream(file));

Contoh berikut ini merupakan aplikasi sederhana untuk pembacaan file nilai ujian dan menampilkan hasil setiap siswa. File yang memuat hasil adalah file serial, dimana setiap data siswa memuat tiga field: Nama belakang, Nama depan dan nilai ujian.

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class UseFileChooser extends JFrame implements ActionListener{ private JPanel displayPanel, buttonPanel; private JLabel surnameLabel, firstNamesLabel, markLabel; private JTextField surnameBox, firstNamesBox, markBox; private JButton openButton, nextButton; private Scanner input; public static void main(String[] args) { UseFileChooser frame = new UseFileChooser(); frame.setSize(350,150); frame.setVisible(true); } public UseFileChooser() { setTitle("FileChooser Demo"); setLayout(new BorderLayout()); displayPanel = new JPanel(); displayPanel.setLayout(new GridLayout(3,2)); surnameLabel = new JLabel("Nama Belakang"); firstNamesLabel = new JLabel("Nama Depan"); markLabel = new JLabel("Nilai"); surnameBox= new JTextField(); firstNamesBox = new JTextField(); markBox = new JTextField(); //Untuk aplikasi ini, user tidak dapat mengubah data apapun surnameBox.setEditable(false); firstNamesBox.setEditable(false); markBox.setEditable(false); displayPanel.add(surnameLabel); displayPanel.add(surnameBox); displayPanel.add(firstNamesLabel); displayPanel.add(firstNamesBox); displayPanel.add(markLabel); displayPanel.add(markBox); add(displayPanel, BorderLayout.NORTH); buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); openButton = new JButton("Open File"); openButton.addActionListener(this); nextButton = new JButton("Next Record"); nextButton.addActionListener(this); nextButton.setEnabled(false);

//(Belum ada file yang terbuka.) buttonPanel.add(openButton); buttonPanel.add(nextButton); add(buttonPanel, BorderLayout.SOUTH); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent event) { if (input != null) //Sebuah file terbuka. input.close(); System.exit(0); } }); } public void actionPerformed(ActionEvent event) { if (event.getSource() == openButton) { try { openFile(); } catch(IOException ioEx) { JOptionPane.showMessageDialog(this, "Unable to open file!"); } }

else { try { readRecord(); } catch(EOFException eofEx) { nextButton.setEnabled(false); //(No next record.) JOptionPane.showMessageDialog(this, "Incomplete record!\n" + "End of file reached."); } catch(IOException ioEx) { JOptionPane.showMessageDialog(this, "Unable to read file!"); } } } public void openFile() throws IOException { if (input != null) //Suatu file telah terbuka, jadi harus //ditutup terlebih dahulu { input.close(); input = null; } JFileChooser fileChooser = new JFileChooser();fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); int selection = fileChooser.showOpenDialog(null); //Kotak dialog terbuka di tengah layar. if (selection == JFileChooser.CANCEL_OPTION) return; File results = fileChooser.getSelectedFile(); if (results == null||results.getName().equals("")) //Belum ada nama file yang dimasukkan oleh user. { JOptionPane.showMessageDialog(this, "Invalid selection!"); return; } input = new Scanner(results); readRecord(); //Read and display first record. nextButton.setEnabled(true); //(File now open.) } public void readRecord() throws IOException { String surname, firstNames, textMark; //Bersihkan field teks... surnameBox.setText(""); firstNamesBox.setText(""); markBox.setText(""); if (input.hasNext()) //Bukan akhir dari file. { surname = input.nextLine(); surnameBox.setText(surname); } else { JOptionPane.showMessageDialog(this, "End of file reached."); nextButton.setEnabled(false);//Tidak ada data lagi. return; } //Mengantisipasi kemungkinan adanya data yang tidak lengkap if (!input.hasNext()) throw (new EOFException()); //jika tidak... firstNames = input.nextLine(); firstNamesBox.setText(firstNames); if (!input.hasNext()) throw (new EOFException()); //jika tidak... textMark = input.nextLine(); markBox.setText(textMark); }

}

Page 140: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

2.6. Vector

Obyek dari kelas Vector hampir sama dengan sebuah larik, tetapi ukurannya dapat bertambah atau berkurang secara dinamis bergantung pada perubahan kebutuhan penyimpanan aplikasi dan hanya memuat referensi obyek, bukan nilai dari tipe primitif.

Overloading konstruktor memungkinkan kita menentukan ukuran awal dan, jika kita ingin, jumlah dimana ukuran Vector bertambah ketika penuh. Walaupun demikian, kita akan menggunakan jenis paling sederhana dari konstruktor yang tidak mengambil argumen dan mengasumsikan suatu kapasitas awal dengan nilai 10 dan menggandakannya ketika Vector penuh. Kelas dari elemen-elemen yang dimuat dalam Vector, ditentukan dalam kurung sudut setelah kata Vector (dalam deklarasi Vector dan penciptaannya). Sebagai contoh, ekspresi berikut mendeklarasikan dan menciptakan sebuah Vector yang memuat String:

Vector<String> stringVec = new Vector<String>();

Contoh (Asumsi bahwa Vector memuat string 3.)

stringVec.add("Example"); //Next step retrieves this element. String word = (String)stringVec.elementAt(3);

kita dapat merujuk elemen yang dibutuhkan dari posisinya dan Java akan mengaturnya menjadi tipe yang kita inginkan. Misalnya:

String word1 = "Example"; stringVec.add(word1); String word2 = stringVec.elementAt(3);

Kelas Vector terdapat dalam paket java.util, maka paket ini harus diimpor oleh program yang akan menggunakan Vector.

Contoh berikut membuat tiga obyek kelas Personnel dan menggunakan metode add dari kelas Vector untuk menempatkan obyek ke dalam Vector. Metode elementAt dari kelas Vector akan digunakan untuk merujuk setiap obyek dalam Vector dan metode 'get' dari kelas Personnel untuk mengambil properti data dari ketiga obyek. Metode size dari Vector digunakan untuk menentukan jumlah elemen dalam Vector.

import java.util.*;public class VectorTest{ public static void main(String[] args) { Vector<Personnel> staffList = new Vector<Personnel>(); Personnel[] staff = {new Personnel(123456,"Andi", "Irmayana"), new Personnel(234567,"Kurniawan", "Teguh"), new Personnel(999999,"Pare", "Selfina")}; for (int i=0; i<staff.length; i++) staffList.add(staff[i]);//Insert into Vector. for (Personnel person:staffList) {

} System.out.println("\n"); }}class Personnel//As defined in earlier example, but without//implementation of the Serializable interface.{ private long payrollNum; private String surname; private String firstNames; public Personnel(long payNum, String sName, String fNames) { payrollNum = payNum; surname = sName; firstNames = fNames; } public long getPayNum() { return payrollNum; } public String getSurname() { return surname; } public String getFirstNames() { return firstNames; } public void setSurname(String sName) { surname = sName; }}

3. PENUTUPKESIMPULAN :1. Pemrograman Java terdiri dari instruksi-instruksi

penggunaan file yang mampu membuat program untuk membaca data dari file dan merekam data ke file.

2. File serial memiliki sejumlah kekurangan sebagai konsekuensi dimana file tersebut hanya dapat memuat data dalam ukuran kecil atau untuk penyimpanan sementara, tetapi file tersebut lebih sederhana dan cukup sering digunakan.

3. Kita dapat membuat file teks yang memuat data (menggunakan text editor atau wordprocessor) dan kemudian mengarahkan input dari file teks yang telah dibuat. Hal ini dapat menghemat waktu, menghindari kejemuan, dan kencenderungan untuk salah memasukkan data ketika menguji suatu program.

4. File akses acak dapat mengatasi kekurangan yang terdapat pada File akses serial, Meskipun juga memeliki beberapa kekurangan akan tetapi kecepatan dan fleksibilitas dari file akses acak seringkali membuat kekurangan yang dimilikinya menjadi tidak berarti.

5. Satu hal yang penting dalam kode untuk client adalah pentingnya penyertaan throws ClassNotFoundException,

Page 141: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

141

Jan Graba. 2007. An Introduction to NetworkProgramming with Java. Faculty of ACESSheffield Hallam UniversityUK

www.javaf1.com, 2009. Java File Handling Toturial.

Page 142: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

142

Pemanfaatan JavaBeans pada Aplikasi Enterprise JavaBeans

Gerzon J MaulanyUniversitas Musamus,

Merauke

[email protected]

Rahmat H Kiswanto

STMIK 10 Nopember Jayapura

[email protected]

Sitti Nur AlamSTMIK 10 Nopember Jayapura

[email protected]

ABSTRAKSIPenggunaan objek yang dapat digunakan berulang-ulang

dan digunakan pada pemrograman berorientasi objek, saat ini telah menjadi bagian penting bagi perkembangan pemrograman komputer penggunaan objek secara remotepun telah menjadi trend dalam pemrograman terdistribusi, properti atau method yang adapa pada objek yang terpisah dari client yang akanmenggunakannya dapat diakses dan digunakan oleh client dengan baik oleh bermacam-macam komputer pada saat yang bersamaan.

Pemanfaatan objek ini didukung oleh bahasa pemrograman berorientasi objek seperti java dan dengan edisi Enterprise (J2EE) menyediakan fasilitas pengaksesan dan penggunaan properti dan method yang ada pada suatu objek dapat dilakukan secara remote.

Tulisan ini mencoba untuk menjelaskan aturan main dari penggunaan property dan method yang ada pada objek java dalam hal ini JavaBeans dapat diterapkan pada aplikasi Enterprise JavaBeans (EJB).

Categories and Subject DescriptorsD.3.3 [Programming Languages]: Language Contructs and Features – abstract data types, polymorphism, control structures. This is just an example, please use the correct category and subject descriptors for your submission. The ACM Computing Classification Scheme: http://www.acm.org/class/1998/

Ketentuan UmumTeori.

Kata KunciKeywords are your own designated keywords.

PENDAHULUANSalah satu tujuan utama dari rekayasa perangkat lunak adalah menciptakan dan memakai kegunaan dari komponen perangkat lunak secara umum yang sekiranya dapat di plug ke dalam berbagai macam aplikasi. Bekerja secara internal seperti komponen-komponen yangdisembunyikan dari pengembang aplikasi dan tidak terlalu diperhatikan oleh developer-developer tadi. Yang dibutuhkan oleh para developer adalah mengetahui layanan kegunaan dari komponen dan interfase apa yang disediakan ( parameter apa saja yang dibutuhkan untuk dilewatkan pada komponen tadi dan nilai apa yang akan dibalikkan oleh komponen tersebut). Keuntungan utama dari komponen-komponen seperti itu adalah secara jelas dan merata :

Secara signifikan mengurangi waktu dan biaya untuk mengembangan software, dengan menggunakan kembali software oleh pengembang berarti menghindari ‘ proses penemuan roda’;

Software lebih dapat dipercaya (sejak komponen-komponen yang digunakan akan secara umum digunakan dalam aplikasi lainnya dan akan “dicoba dan diuji”)

JAVABEAN DAN JSPJavaBeanJavaBeans adalah software komponen yang reuseable dapat diartikan sebagai pemanfaatan kembali software komponen. Dimaksudkan disini adalah kita dapat menuliskan suatu JavaBeans yang kemudian dapat digunakan pada beragam Java lainnya seperti aplikasi, servlets, JSP pages. Dengan cara ini kita dapat mendefinisikan business logic antara sebuah JavaBean dan selanjutnya secara konsisten menggunkan logic tersebut pada aplikasi terpisah. Dalam berbagai cara mereka mirip dengan teknologi Microsoft’s COM dan Active X.Sebuah JavaBean adalah suatu kelas Java yang taat pada ketentuan berikut : Merupakan public class Memiliki sebuah public konstruktor. Mendeklarasikan property dengan tipe akses

private Membolehkan public memiliki dan mengatur

methods yang digunakan unutk menulis dan membaca property.

Dalam JavaBean property diakses menggunakan method setProperty() dan getPropety(), yang mana property merupakan nama property dan sebuah private instance variable. Sebagai contoh lihat program di bawah ini :

Package mypackage;public class cBuku {

private String judulBuku;private Boolean statusPinjam;

public cBuku() {judulBuku = jb;

Page 143: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

}

public String getJudulBuku(){return judulBuku;

}

public void setStatusPinjam(Boolean sp){statusPinjam = sp;

}

public Boolean isStatusPinjam() {return statusPinjam;

}}

Dengan JavaBean kerumtitan suatu program akan berkurang karena JavaBean dapat diapakai berulang-ulang dengan mudah. Keuntungan dari pengunaan ulang adalah produktivitas. Jika sebuah komponen telah tersedia untuk menjalankan satu atau lebih fungsi tertentu, maka tidak perlu ditulis ulang, di debug atau diolah jika ingin digunakan lagi.JavaBean dalam JSPKita ketahui dalam kelas JavaBean memiliki sebuah konstruktor yang tidak memiliki parameter input maupun output yang mana konstruktor ini merupakan metode yang memiliki nama sama dengan nama kelasnya dan digunakan oleh container JSP untuk membuat objek JavaBean melalui tag<jsp:usebean>. Sedangkan metode lain yaitu metode set dan get pada komponenJavaBean penggunaannya di JSP difailitasi oleh tag action <jsp:setProperty> dan <jsp:getProperty>. Sintaks dasar penulisan masing tag sebagai berikut :<jsp:useBean id=”nama bean” class=”nama class” scope=’tipe scope” />.<jsp:setProperty name=”nama bean” property=”nama property” value=”nilai” />.<jsp:getProperty name=”nama bean” property=”nama property” />.

Sebagai contoh komponen JavaBean dalam halaman JSP dengan”mybean” sebagai nama JavaBeannya. Klas yang digunakan adalah “mypackage.cBuku”, propertynya adalah judulBuku, statusPinjam dan scope masa berlaku

<jsp:setProperty name=”mybean” property=”judulBuku” value=”Pemrograman Java” />.<jsp:getProperty name=”mybean” property=”judulBuku” />

ENTERPRISE JAVABEANSPengertian Enterprise JavaBeansEnterprise Java Bean (EJB) merupakan teknologi untuk mengembangkan komponen di sisi server yang scalable , transactional dan secure untuk aplikasi enterprise, serta mendefenisikan arsitektur pengembangan komponen perangkat lunak yang : Transactional, persistent. Distributed object applications – based. Server - sideScalable, EJB dirancang untuk bisa scalable, yaitu untuk bisa menangani jumlah concurent user yang membesar. Scalability bisa dicapai dengan vertical scalability yaitu dengan menambahkan memory maupun processor dari sebuah mesin, atau dengan membuat cluster di mana EJB di- deploy di beberapa mesinTransactional, EJB dirancang untuk mendukung transaction, di mana satu rentetan perubahan data diperlakukan sebagai satu kesatuan. Sebagai contoh, dalam aplikasi e-banking, di mana user melakukan transfer uang dari satu account ke account lain. Dalam operasi ini terdapat dua buah perubahan data setidaknya yaitu pengurangan jumlah uang dari account pengirim, dan penambahan jumlah uang ke account penerima. Dua buah perubahan data ini dipandang sebagai satu kesatuan. Jika salah satu gagal, maka keduanya dibatalkan.Secure, EJB juga bisa dirancang untuk secure, dengan menerapkan Role-Based Access Control di mana user-user dengan role tertentu saja yang bisa mengakses komponen-komponen EJB tertentu.Transparancy, EJB juga mendukung location transparancy, di mana EJB bisa di-deploy di enterprise application server yang lokasinya bisa di mana saja. Client dari EJB akan menemukan EJB ini dengan melakukan lookup ke directory server.

Struktur EJB, EJB Client dan Server J2EE

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific

Conference’10, Month 1–2, 2010, City, State, Country.Copyright 2010 ACM 1-58113-000-0/00/0010…$10.00. J2EE Server

EJB/Servlet

Remote Home Interface

Remote Interface

Bean Class

Client

Page 144: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

144

Konsep EJB untuk dikembangkan membutuhkan perencanaan yang baik dan pemikiran secara komprehensif untuk pengembangan dan kesetaraan objek-objek javabeans yang dapat diakses oleh aplikasi tertentu, oleh sebab itu penerapan aplikasi EJB biasanya ditujukan untuk aplikasi bisnis berskala Enterprise.

Terlihat pada gambar 1, struktur keterhubungan antara EJB / servlet dan J2EE serta aplikasi Client, Secara prakmatis dapat terlihat bahwa arsitektur EJB adalah terdiri dari tiga komponen kelas java utama yaitu Dua Interface (Remote Home Interface & Remote Interface) dan Satu Kelas JavaBeans (Bean Class). Secara sederhana dapat dikatakan bahwa proses logic sebenarnya dari EJB terdapat ada Bean Class kemudian pada Beans Class terdapat method/property yang dapat digunakan oleh aplikasi client, dengan terlebih dahulu dideklarasikan pada Remote Interface Method/property mana yang dapat diakses oleh Client. Sedangkan akses langsung pada Method/property pada Beans Class dilakukan oleh Client melewati Remote home Interface. Ketiga Komponen ini harus dibuatkan paket dan dideploy ke Server, sedangkan untuk aplikasi Client dibuatkan paketnya dan dideploy ke server dan di Client namun paketnya hanya perlu Remote Interface & Remote Home Interface.

Interaksi EJB dengan Client tetap dilakukan jika diinginkan mengkoneksikan program aplikasi dari Client ke paket EJB di Server yang tentunya berjalan menggunakan J2EE Server. Untuk program client yang menggunakan sistem model Client/Server dapat langsung menjalankan paket bytecode client yang berisi interface remotenya sehingga akan mengakses paket komponen JavaBeans pada Server EJB. Untuk aplikasi yang pengaksesannya melalui internet dengan berbasis web dapat digunakan kombinasi antara komponen EJB yang diakses oleh Servlet kemudian dari browser yang mengirim request pada Web Server akan menjalankan jalankan paket Servlet yang pada akhirnya akan memksekusi JavaBeans pada paket EJB.

Kategori Enterprise JavaBeansTerdapat tiga kategori Enterprise JavaBeans yang memiliki karakteristik, fungsi yang berbeda-beda yaitu : Entity Beans, Session Beans dan Message Driven Beans.

Session BeansSession beans adalah beans yang dalam

pengaksesannya tidak membutuhkan data yang tetap ada (persistent). Sesion beans digunakan untuk membuat bean yang memiliki proses bisnis per session saja. Session bean ditujukan untuk menangani interaksi aplikasi client dari Entity Beans. Session Bean terdiri dari Beans Class itu sendiri, remote interface dan remote home interface. Bean class berisi deklarasi method yang dibperbolehkan untuk diakses oleh client, sedangkan remote home interface digunakan untuk pemanggilan/ invocation beans oleh client.

Terdapat dua jenis session beans yaitu statefull session beans dan stateless session bean. Statefull Session Beans menjaga assosiasi dengan client, jika client mengalami terminasi maka beans juga akan mengalami terminasi. Session beans sangat sesuai untuk digunakan pada keadaan seperti berikut :

Interaksi antar bean hanya dilakukan oleh client tertentu

Bean diperlukan untuk menyimpan informasi client selama proses interaksi beans dan client

Beans merupakan penengah antara beans dan client

Beans mengelolah alur kerjadari beberapa beans lainnya

Stateless Session Beans tidak menjaga asosiasi dengan client sehingga saat client memanggil , beans ini akan memberikan apa yang diinginkan oleh client sehingga tidak menjaga assosiasi dengan client, setelah selesai melayani client tertentu maka session bean ini dapat digunakan oleh client lainnya.Stateless Session Beans memungkinkan multi client, dan sangat sesuai digunakan pada kondisi sebegai berikut :

Beans tidak menyimpan informasi untuk client tertentu

Bean melakukan task yang umum untuk semua client, semisal task email untuk semua client

Beans hanya mengambil data dari database untuk beans tertentu untuk dipergunakan oleh client tertentu, tidak untuk melakukan pengupdatetan dan penghapusan

Berikut adalah contoh sebuah stateless Session Beans yang akan diterapkan pada sebuah aplikasi moneyConverter. Dimulai dengan remote home interface seperti berikut yang ditempatkan pada file MoneyConverterHome.java dalam file ini interface yang akan menggunakan method yang

Page 145: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

145

bernama MoneyConverter yang berada pada Beans Class MoneyConverterBean.java :

package contoh.session;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface MoneyConverterHome extends EJBHome { MoneyConverter create() throws RemoteException,

CreateException;}

Isi remote interface yang disimpan dalam file MoneyConverter.java mendeklarasikan Metode yang dapat digunakan oleh client pada Class JavaBeans adalah toDollar seperti berikut :

package contoh.session;import javax.ejb.EJBObject;import java.rmi.RemoteException;public interface MoneyConverter extends EJBObject {

public Double toDollar(Double rupiah) throws RemoteException;

}

Sedangkan isi Bean Classnya yang disimpan dalam file MoneyConverterBean.java adalah sebagai berikut berisi deklarasi metode secara lengkap dan parameter dan proses bisnis :

package contoh.session;

import javax.naming.*;import javax.ejb.SessionBean;import javax.ejb.SessionContext;import javax.rmi.PortableRemoteObject;import java.rmi.RemoteException;

public class MoneyConverterBean implements SessionBean {public MoneyConverterBean() {}

public Double toDollar(Double rupiah) throws RemoteException {

Context env = null;try {

env = getEnv();} catch (Exception ex) {}

Double dollar = rupiah * 10000; return dollar;

}

private Context getEnv() throws Exception {Context initial = null;try {

initial = new InitialContext();} catch (NamingException ex) {

throw new Exception(ex.getMessage());}Context env = null;try {

env = (Context) initial.lookup("java:comp/env");

} catch (NamingException ex) {throw new Exception(ex.getMessage());

}return env;

}public void ejbCreate() {}public void ejbRemove() {}public void ejbActivate() {}public void ejbPassivate() {}public void setSessionContext(SessionContext sc) {}

}

Pada bagian lain terdapat metode-metode yang yang harus ada walaupun tidak kosong. Berikut ini adalah program aplikasi client yang akan mengakses Metode tertentu pada paket EJB di Server, program client ini dibuat dengan nama file MoneyConverterClient.java dengan isi sebagai berikut :

import javax.naming.*;import javax.rmi.PortableRemoteObject;import contoh.session.MoneyConverter;import contoh.session.MoneyConverterHome;

public class MoneyConverterClient {public static void main(String[] args) {

Context jndiContext = null;

if (args.length < 1) {System.out.println("Usage:

java –jar" +"MoneyConverterClient.jar <jumlah

rupiah>");System.exit(1);

}

try {jndiContext = new

InitialContext();} catch (NamingException e) {

System.out.println(e.toString());System.exit(1);

}

Context env = null;try{

env = (Context)jndiContext.lookup("java:comp/env");

}catch (NamingException ex){

System.out.println(ex.toString());}

Object objref = null;try {

objref = env.lookup("ejb/MoneyConverter");

} catch (NamingException ex) {

System.out.println(ex.getMessage());}

Page 146: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

MoneyConverterHome home = null;try {

home = (MoneyConverterHome)

PortableRemoteObject.narrow(objref,

MoneyConverterHome.class);} catch (ClassCastException ex) {

System.out.println(ex.getMessage());}MoneyConverter handler = null;try {

handler = home.create();} catch (Exception ex) {

System.out.println(ex.getMessage());}

Double dollar = Double.parseDouble(args[0]);try {

dollar = handler.toDollar(dollar);

} catch (Exception ex) {

System.out.println(ex.getMessage());}

System.out.println("dolar : "+dollar);

}}

Hasil dari paket Client ini berisi class remote interface dan remote home interface dan class MoneyConverterClient yang akan menjadi pemanggil metode yang akan digunakan. Hasil eksekusi program client ini adalah sebagai berikut :

Entity BeansEntity Beans mereprentasikan dan

memanipulasi data yang persistent dari suatu aplikasi yang menggunakan view berorientasi objekyang biasanya disimpan dalam basisdata.pengaksesan data pada basisdata dengan menggunakan Entity Beans tetap menggunakan query SQL ataupun sedikit memodifikasi menjadi EJB QL (Enterprise javaBeans Query Languange)Setiap Entity Beans terhubung dengan satu tabel dalam database maupun hasil hubungan / join hanya pada BMPpada basisdata relational, setiap instance pada entity beans terasosiasi dengan sebuah

lainnya. Persisten berarti dapat dipergunakan secara terus menerus karena disimpan dalam sebuah basis data. Bean berisi bisnis proses (bean class), Remote interface berisikan deklarasi metode yang diperbolehkan diakses oleh klien, sedangkan remote home interface digunakan untuk pemanggilan bean oleh klien. Entity Bean digunakan jika memenuhi kondisi berikut :

Bean merupakan pengaksesan entitas basisdata bukan sebuah prosedur proses bisnis

Bean membutuhkan data yang persistent dan tersimpan dalam basisdata

Entity Bean digunakan untuk merepresentasikan business obyek. Contohnya, entity bean digunakan untuk merepresentasikan Product, Order, Student, Course, Employee, dan To Do. Entity Bean tersimpan di database, jika server mengalami crash dia akan survive. Terdapat dua strategi penyimpanan yaitu Bean Managed Persistence dan Container Managed Persistence. Entity Bean adalah di-share oleh banyak client dan transactional. Terlihat pada gambar dibawah ini tentang proses kerja entity beans sampe menghasilkan data :

Entity Beans yang berinteraksi dengan data dan penyimpanannya yaitu ada 2 cara memanage persistence :

Bean-Managed Persistence -> punya banyak kelemahan, tidak kompatible bila menggunakan storage yang berbeda, berguna dalam mengontrol operasi pada database.

Container-Managed Persistence -> tidak perlu melakukan implementasi-

Gambar 3. Struktur Entity Bean

Gambar 2. Hasil eksekusi program client moneyconverter.

Page 147: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

147

Pada Bean-Managed Persistence (BMP), kode bean berisi akses langsung ke basisdata (dengan menggunakan query SQL). BMP lebih cocok digunakan jika pengaksesan basisdata adalah per kolom dari sebuah record. Sedangkan jika dibutuhkan pengaksesan per record, lebih baik menggunakan Container Managed Persistence (CMP).

Penggunaan BMP sebaiknya dengan kondisi sebagai berikut :

Sistem yang akan dibuat tidak mendukung CMP

Dibutuhkan query yang sangat kompleks, yang tidak mungkin dilakukan oleh CMP misalnya untuk query join

Pada Container-Managed Persistence (BMP), EJB Container membangkitkan call terhadap akses basis data. Query tidak ditulis pada kode bean sehingga jika ingin melakukan perubahan query, kode bean tidak perlu diubah. Query untuk mengkases basisdaat pada CMP mempergunakan Enterprise JavaBeans Query Languange (EJB QL).

Pada dasarnya EJB QL hampir sama dengan query pada SQL, hanya ada beberap sintaks yang berbeda. Hal ini dikarenakan pada EJB Ql, record dianggap sebagai objek.Seperti misalnya pada SQL :

Select * from tbl_user wherenama=’<masukan>’

Maka pada EJB QL akan menjadi : Select object(u) from userCMP u where

u.nama=?1

?1 berarti pada EJB QL diatas akan diganti dengan parameter pertama dari method, misalnya method findbyNama(“ito”) maka pada EJB QL yang mengacu pada method findbyNama akan menjadi Select object(u) from userCMP u where u.nama=’ito’

Berikut adalah contoh membuat paket

Message driven BeansMessage Driven Beans adalah EJB yang

ditujukan untuk melakukan messaging. Ini biasanya digunakan untuk proses yang membutuhkan waktu lama, sehingga client yang memanggilnya tidak perlu menunggu sampai selesai untuk dapat melanjutkan pekerjaannya.

MessageDriven Bean digunakan untuk menyediakan layanan asynchronous messaging. Source Code dan Deployment Descriptor Untuk mengembangkan sebuah Enterprise Java Bean, dan wajib menuliskan source code untuk Home interface, Remote interface, dan bean

implementation. MessageDrive mempunyai fungsi dan karakteristik sebagai berikut :

Message-driven beans adalah komponen EJB khusus yang dapat menerima pesan JMS

JMS : API yang digunakan untuk mengirim pesan ke message-driven beans

Karakteristik Message Driven Beans adalah sebagai berikut :

Tidak memiliki home interface, local home interface, remote interface, atau local interface.

Memiliki business method yang tunggal dan dapat menerima tipe message apapun.

Tidak memiliki return value. Tidak dapat mengirim exception kembali ke

client. Tidak memiliki state. Dapat menjadi durable atau nondurable

subscribers

Adapun langkah – langkah untuk Mengembangkan Message-driven Beans yaitu :

Semantics Bean Implementation class ( dengan

catatan kalau ada space atau masih ada gunakan source codenya yaitu LogBean.java)

Dasar dari pembuatan message-driven beans :

- Implements javax.ejb.MessageDrivenBean interface

- Implements javax.jms.MessageListener interface

- Membuat method setMessageDrivenContext(..)

- Membuat method ejbCreate() tanpa parameter

- Membuat method onMessage(..)

- Membuat method ejbRemove()

Deployment Descriptor Client Program

PACKAGING, DEPLOYMENT DAN PROGRAM-PROGRAM CLIENT DALAM EJB

Package merupakan folder yang digunakan untuk me-manage file, class dan interface yang telah kita buat. Ini berfungsi untuk lebih memudahkan sebuah aplikasi yang kita buat yang biasanya terdiri dari puluhan/ratusan/ribuan/jutaan class dan interface yang sering digunakan.

Java platform juga menyediakan seperangkat class dan interface yang bisa kita manfaatkan di dalam aplikasi yang kita buat. Library ini sering juga diistilahkan sebagai Application Programming Interface (API). Ada beberapa library yang di sediakan oleh Java platform untuk keperluan pembuatan aplikasi, misalnya ada package java.awt yang menyediakan class dan

Page 148: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

148

interface untuk keperluan membangun GUI, java.io untuk keperluan input output, dan sebagainya.

Apabila kita akan mendeployment statelles session beans, ada beberapa file EJB yang paling yang bisa digunakan, antara lain :

Remote Interface Home Interface Remote Implementation Deployment Descriptor Standar Deployment Descriptor Container Aplikasi Client.

Untuk melakukan compilasi dalam satu file diperlukan file descriptor sebuah property runtime yang sangat sederhana dalam bean dengan menggunakan aplikasi tertentu. Pada versi EJB 1.0 merupakan sebuah program java.ejb dengan deployment untuk digunakan dalam java.io serialzable. Dari EJB versi 1.1 dan sebagainya, ini merupakan format yang digunakan dalam deployment description yang berdasarkan XML ( Extensible Markup Language ) . Untuk lebih jelasnya file tersebut akan terlihat pada lampiran berikut. Akan tetapi dalam menggunakan file tersebut jarang diperlukan untuk menentukan semua kemungkinan pada tag dan itu biasanya akan terjadi apabila suatu langkah deployment description dapat dilewati dengan melalui salah satu dari aplikasi EJB untuk pengembangan yang selanjutnya. Adapun contoh program sederhana sederhana dibawah ini:

Contoh program :<?xml version=”1.0”?><!DOCTYPE ej-jar PUBLIC ‘-//sun Microsystems, Inc.//DTDEnterprise javaBeans 2.0//EN’ ‘http://java.sun.com/dtd/ejb-

jar_2_0.dtd’><ejb-jar>

<enterprise-beans><session>

<ejb-name>helloBean</ejb-name><home>ejbs.hello.HelloHome</home><remote>ejbs.hello.Hello</remote><ejb-class>ejb.hello.HelloBean<ejb-class><session-type>stateless</session-type><transaction-type>Container</transaction-type>

</session></enterprise-beans>

<security-role><role-name>everyone</role-name>

</security-role><method-permission>

<role-name>everyone</role-name><method>

<ejb-name>everyone</role-name><method-name>*</method-name>

</method></method-permission><container-transaction>

<method><ejb-name.helloBean</ejb-name><method-name>*</method-name>

</method><trans-attribute>Required</trans-attribute>

</container-transaction></assembly-descriptor>

</ejb-jar>Untuk membuat koneksi client ke server logic EJB perlu

dibuat file java naming directory interface (JNDI) untuk memetakan lokasi dimana javabeans dan metode dalam objek javabeans tersebut berada dan bagaimana melakukan pengaksesan ke server tersebut. Untuk pengaksesan menggunakan Entity Bean

KESIMPULANKesimpulan dari hasil tulisan ini

adalah sebagai berikut :

4. JavaBeans merupakan objek java yang dapat digunakan dalam pengembangan aplikasi terdistribusi dimana property/method yang ada pada JavaBeans ini dapat dipanggil dari client dengan ,menggunakan mekanisme tertentu.

5. EJB adalah salah satu cara pengembangan aplikasi berskala Enterprise yang memungkinkan penyediaan akses pada metode/properti dari objek-objek javabeans yang dideploy pada EJB server logic tertentu sehingga dapat diakses menggunakan model Pemrograman Client/Server atau model Multi-Tier.

6. Pengembangan EJB dapat menggunakan ketiga kategori beans yang ada untuk membentuk aplikasi EJB yang tangguh.

DAFTAR PUSTAKA[26] M. Salahuddin.,Rosa A.S. 2006. J2EE dalam aplikasi

Enterprise.Penerbit Informatika,Bandung.

[27] Jan Graba. 2007. An Introduction to Network Programming with Java.Shellfield Hallam university, United Kingdom.

Page 149: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

149

PENGANTAR SERVLET DAN JSPToban T Pairunan

Politeknik Negeri Manado

[email protected]

Ari WidiastonoAMIK Jayapura

[email protected]

SofianAMIK Jayapura

[email protected]

ABSTRACTMakalah ini membahas dasar penggunaan Servlet dan JSP. servlet adalah program yang ditulis padaJava yang berjalan pada sisi web server. Hal ini dilaksanakan dalam Menanggapi klien (yaitu, browser) melalui HTTP dan menghasilkandokumen Servlets. JSP merupakan halaman yang menggabungkan HTML dengan scripting tag dan program java. Pada saat JSP dipanggil client melalui browser, JSP tersebut akan di kompile terlebih dahulu menjadi servlet, dan kemudian hasilnya dikembalikan ke client. Methode yang terdapat pada servlet adalah method service denganparameter berupa obect servletrequest dan servletrespon, dua type request yang paling umum adalah Get dan Post.

KeywordsServlet, JSP, XML, Apache Tomcat.

PENDAHULUAN

Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).Servlet merupakan salah satu bentuk aplikasi berbasis web yang dikembangkan dengan bahasa Java. Saat ini bahasa Java begitu luas penggunanya, selain gratis, bahasa ini juga memiliki beberapa keunggulan dan dukungan. Java bisa untuk membuat aplikasi yang platform independent (hardware maupun sistem operasinya), mendukung pembuatan aplikasi untuk berbagai jenis alat, mulai dari komputer besar sampai pada PC, Hand-held PC, PDA juga handphone. Selain itu aplikasi yang mampu dibuat dengan bahasa ini memang memiliki dukungan yang beragam. Aplikasi bisa merupakan aplikasi desktop yang independent, aplikasi desktop yang berkoneksi dengan jaringan, aplikasi web untuk client (applet), aplikasi Web pada sisi server (Servlet dan JSP) maupun aplikasi yang dijalankan

dari network (melalui file Java Network Launching Protocol/JNLP). JSP merupakan pengembangan dari Servlet karena sebenarnya saat diproses di server, file JSP diubah menjadi Servlet yang merupakan program Java yang berjalan di Server (semacam applet yang berjalan di server ). Sintaks dan penulisan JSP sesuai sintaks XML dan dapat memisahkan antara tampilan dan aplikasi pemrograman.

Diagram Alir Sistem

SERVLET

Kebutuhan akan web yang dinamis dapat diselesaikan dengan menggunakan servlets. Servlet adalah program yang ditulis di Java yang berjalan pada server Web. Hal ini dilaksanakan dalam Menanggapi klien (yaitu, browser) permintaan HTTP dan pembuatan dokumen Servlets.

Servlet mendefinisikan dua buah class abstract yangmengimplementasikan interface Servlet, yaitu classGenericServlet pada paket javax.servlet dan class HttpServlet pada paket javax.servlet.http. Contoh-contoh yang diberikan pada bagian ini diturunkan dari class HttpServlet, yang mendefinisikan kemampuan pemrosesan servlet untuk mewarisi fungsionalitas web server. Method utama yang terdapat pada setiap servlet adalah methot service, yang memiliki parameter berupa objek ServletRequest dan ServletResponse. Kedua objek ini menyediakan akses untuk input stream maupun output stream dan mengijinkan servlet untuk membaca data dari client dan mengirimkan data kembali ke client. Jika terdapat masalah selama eksekusi servlet, maka class ServletException atau IOException di passing untuk memberitahukan masalah yang terjadi.

Class HttpServlet akan melakukan override method service untuk membedakan antara request yang diterima web browser client. Dua tipe request yang paling umum digunakan adalah GET dan POST, yang sering disebut sebagai request method. Request GET digunakan untuk mendapatkan atau menerima informasi dari server yang berupa file

Page 150: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

150

HTML atau image. Sedangkan request POST digunakan untuk mengirimkan data ke server dalam bentuk HTML yang berisi data yang dimasukan oleh client. Method yang sering digunakan untuk memberikan respon terhadap request client adalah doGet dan doPost yang memiliki dua parameter, yaitu HttpServletRequest dan HttpServletResponse.

3. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.

Perangkat lunak Pendukung Servlet Tomcat, server open source yang sangat populer yang

dihasilkan oleh Apache Software Foundation. Tomcat adalah Web Server yang akan digunakan dalam makalahini dapat didownload di alamat http://tomcat.apache.org/whichversion.html

Internet explorer atau Mozilla firefox untuk mengakses aplikasi web.

Jcreator untuk membuat java class.

XML

XML (eXtensible Markup Language) adalah sebuah bahasa markah untuk mendeskripsikan data. XML merupakan turunan (subset) atau versi ringkas dari SGML (Standard Generalized Markup Language). SGML sendiri merupakan sebuah standar ISO untuk format dokumen. SGML tidak berisi berupa tag-tag siap pakai seperti halnya bahasa HTML, melainkan berupa aturan-aturan standar dalam pembuatan tag-tag format dokumen. SGML banyak dipakai untuk mengelola dokumen dalam jumlah besar, frekuensi revisi tinggi dan dibutuhkan dalam beragam format tampilan. SGML jarang dipakai karena sangat rumit dan kompleks. XML dibuat dengan konsep yang lebih sederhana dan ringkas, tujuannya agar bisa dipakai sebagai aplikasi di desktop dan jaringan Internet.

XML dengan cepat diadopsi sebagai standar untuk pertukaran data, khususnya untuk penggunaan lintas aplikasi dan platform. Kelebihan dari XML adalah karakteristiknya yang extensible dan platform independent. Berbeda dengan HTML, XML tidak mempunyai kosakata (berupa "tag") yang baku, sebaliknya dengan XML kita bebas merancang tag-tag sendiri, sesuai dengan kebutuhan

aplikasinya.

<?xml version="1.0" encoding="iso-8859-1"?><xsl:stylesheetversion="1.0"mlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match ='/'> <html> <head> <title>XML Saya yang Pertama</title> </head> <body> <p><xsl:value-of select="berita"/></p> </body> </html> </xsl:template> </xsl:stylesheet>

Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node-node itu adalah:

Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.

Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/> . Root node biasa juga disebut root element

Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.

Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup

Comment node adalah baris yang tidak dieksekusi oleh parser

Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0”

encoding=”iso-8859-1”?> bukanlah processing

instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.

NameSpace Node, node ini mewakili deklarasi namespace

Gambar 1. Diagram Hirarki XML

JSP

Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh USER menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang akan melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.

Gambar 2. Daur Hidup JSP

Page 151: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

151

Tujuan dari JSP adalah untuk lebihmenyederhanakan penulisan servlet. JSP sebelum dijalankan oleh server, akan dikompilasi terlebih dahulu menjadi servlet, meskipun proses ini tidak terlihat oleh kita.

Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web server. Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS atau Apache, sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu web server yang mendukungnya.

Agar bisa menjalankan file-file JSP yang berbasis Java, diperlukan web server yang mampu memproses Java, atau minimal JSP engine yang dapat terintegrasi dengan web server. Web Server adalah software untyk server yang menangani request melalui protokol HTTP yang digunakan oleh situs-situs web saat ini dalam menangani request file statik HTML, sepeti Apache dan Microsoft IIS. Web server sekarang sering “dibungkus” oleh Java Application Server sebagai HTTP Server.

Web Container

Web Container adalah services yang dijalankan oleh suatu Java Application Server hususnya untuk services yang compliance/kompatibel dengan Servlet dan JSP. Selain menjadi services oleh Java Application Server, Web Container dapat berdiri sendiri.

Contoh Web Container adalah Tomcat, ServletExec, Resin, Jrun, Blazix. Web Container juga dapat bekerja sama dengan web server, misalnya Tomcat dengan Apache, Jrun dengan IIS

Apache Tomcat

Apache Tomcat adalah web application server, yang mempunyai kemampuan sebagai Servlet container dan JSP container di mana Anda bisa mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang lumrahnya adalah berupa browser.

Java Virtual Machine

Java Virtual Machine adalah software yang berfungsi untuk menerjemahkan program Java supaya dapat dimengerti oleh komputer. Untuk memiliki Java Virtual Machine di komputer, maka perlu mendownload JDK (Java Development Kit) yang tersedia di http://java.sun.com karena untuk development diperlukan class-class API.

Sebelum menginstal Web Container sebagai prasyarat untuk menjalanka JSP, maka terlebih dulu harus menginstal Java Virtual Machine.

Langkah-langkah Instalasi ServletKarena kita akan menggunakan apache Tomcat, maka langkah yang perlu diikuti tentu saja adalah:

Gunakan Control Panel untuk mengatur dua variabel lingkungan tercantum di bawah ini. (jika anda tidak yakin tentang cara membuat lingkungan variabel, silakan lihat rincian langkah-langkah yang diberikan di bawah ini.)

a. JAVA_HOME. Hal ini harus terus path ke folder J2SE Anda. Sebagai contoh: C: \ J2SE5.0

b. CATALINA_HOME.Hal ini harus terus path ke folder Tomcat Anda. Sebagai contoh: C: \J2SE5.0 \ Tomcat5.5

Tambahkan file servlet-api.jar terhadap variabel CLASSPATH anda. (Rincian tentang bagaimana memodifikasi variabel lingkungan ikuti langkah-langkah) file ini akan di.<CATALINA_HOME> \ Umum \ lib. Sebagai contoh: C: \J2SE5.0 \ Tomcat5.5 \ common \ lib \servlet-api.jar.

Dalam folder Tomcat ada sebuah folder bernama bin. Tambahkan path ke folder ini untuk variabel PATH. (Sekali lagi, lihat petunjuk berikut langkah-langkah ini jika tidak yakin bagaimana perubahan pada variabel lingkungan) Langkah ini memudahkan akses ke file startup.bat dan shutdown.bat. Atau, tentu saja, dapat pindah ke dalam folder di atas sebelum menggunakan startup dan perintah shutdown.

Buka jendela command dan masukkan perintah berikut:startup. Empat baris output akan muncul di jendela dan perintah kedua jendela harus terbuka dan mulai mengisi dengan output. Ketika baris dimulai INFO: Server startup muncul di kedua jendela ini, server Tomcat berjalan.

Untuk melihat informasi tentang Tomcat, membuka jendela browser dan masukkan:

http://localhost:80808080 ini mengidentifikasi port pada mesin saat sebagai port yang di atasnya Tomcat akan berjalan. Jika halaman Tomcat Web muncul, instalasi telah sukses.

Untuk menghentikan Tomcat, masukkan perintah berikut ke dalam jendela perintah (pertama): Shutdown

Page 152: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

152

Pertama kali kita perlu mengintall tomcat setelah itu langkah selanjutnya adalah memindahkan folder webapps/axis dari dalam file distribusi axis ke direktori webapps milik Tomcat.Setelah itu, langkah yang sangat dianjurkan adalah menambahkan semua file .jar di dalam folder WEB-INF/lib milik Axis ke dalam CLASSPATH anda. Hal ini untuk memudahkan dalam proses kompilasi web service serta dalam penggunaan beberapa tools Axis nantinya.Berikutnya jalankan Tomcat, dan buka browser anda dan ketikkan http://localhost:8080/axis/ di location bar. Maka akan muncul tampilan berikut ini jika Axis belum terinstal dengan benar.

Instalasi Web Server Tomcat

a. Instal Web Server Tomcat sampai selesai b. Jalankan Web Server Tomcat dengan cara memilih menu

Start Tomcat dari pop up menu seperti pada gambar dan akan keluar tampilan seperti pada Gambar 3 Untuk menghentikan Web Server maka pilih menu Stop Tomcat.

Gambar 3. Menu untuk menjalankan Web Server Tomcat

Gambar 3.1 Tampilan Start Tomcat

c. Jalankan browser dan akses alamat http://localhost:8080. Bila instalasi web server Tomcat berhasil maka akan keluartampilan seperti pada gambar dibawah.

Gambar 3.2. Tampilan http://localhost 8080

Implementasi JSP dan Servlet

Servleta. Pembuatan Class Program Java

Buka Program Jcreator dan tulis list program yang akan dijalankan seperti langkah berikut:

1. Pilih File>New > Dan tulis Nama Class java seperti gambar berikut:

2. Pilih Lokasi untuk menempatkan class java yaitu di folder Classes

3. Klik Finish

Listing program java class FirstServlet siap dicompile untuk mendapatkan file class compiler, hasilnya dapat dicek di folder classes seperti pada tampilan gambar berikut:

Page 153: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

153

Pembuatan File XMLa. Buka Folder XML spt gambar berikut:

b. Ketik Nama Class Java dalam kode servlet dan servlet mapping

c. Lakukan Compile file dengan mengklik folder Built_in

Pembuatan File HTMLa. Buka editor Notepadb. Ketik Listing kode/ tag HTML seperti pada

Gambar

c. Simpan File dalam format html di Folder Root, sehingga hasilnya seperti pada gambar berikut:

d. Lakukan pengujian dengan mengklik foder tersebut sehingga tampilannya menjadi:

Pengujian Servletsa. Untuk menguji halaman web dan servlet terkait,

pertama kita perlu mengatur Tomcatberjalan. Hal ini dapat dilakukan baik dengan mengklik ganda file startup.bat (pada <CATALINA_HOME>\bin) atau dengan memasukkan perintah berikut ke MS DOS jendela perintah (asumsi bahwa startup.bat ada di PATH): Startup.

b. Empat baris output akan muncul di jendela perintah saat ini dan yang keduajendela command akan mulai mengisi dengan output. Ketika baris dimulaiINFO: Server startup muncul di jendela kedua, Tomcat sedang berjalan.

c. Dengan asumsi bahwa halaman awal web kami telah diberi nama FirstServlet.html, kitasekarang dapat membuka browser dan masukkanalamat berikut: http://localhost:8080/FirstServlet.html

Page 154: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

154

d. Gambar diatas menunjukkan awal halaman Web terlihat seperti di bawah browser Firefox. Setelah mengklik tombol halaman, servlet dieksekusi dan output yang ditampilkan seperti gambar berikut

JSP

Variable Type Tujuanrequest HttpServletRequest Permintaan Http

awalnya dikirimke server.

response HttpServletResponse Http respon permintaan.

session HttpSession Sesi objek yang terkait dengan permintaan di atas dan respon.

application ServletContext Memegang referensi ke obyek lain yang lebih dari satu pengguna dapat mengakses, seperti link database.

out JspWriter Obyek yang menulis ke output stream respon.

exception Throwable Berisi informasi tentang kesalahan runtime dan hanya tersedia pada halaman kesalahan.

pageContext PageContext Mengenkapsulasi konteks halaman.

config ServletConfig ServletConfig obyek untuk ini JSP.

page Object Referensi obyek dalam hal ini JSP.

Tabel 1. JSP implisit objek

<!-- Selection.jsp -->

<%

String currentProduct;currentProduct = request.getParameter("Product");if (currentProduct.equals("Checkout"))response.sendRedirect("Checkout.jsp");elsesession.setAttribute("currentProd",currentProduct);%>

<HTML><HEAD><TITLE><%= currentProduct %></TITLE></HEAD><BODY><CENTER><H1><FONT COLOR=Red><%= currentProduct %></FONT></H1><BR><BR><BR><FORM METHOD=POST ACTION="WeightX"><TABLE><TR><TD>Quantity required (kg)<INPUT TYPE='Text' NAME=Qty VALUE=''SIZE=5></TD></TR></TABLE><BR><BR><BR><TABLE><TR><TD><INPUT TYPE='Radio' NAME='Option'VALUE='Add' CHECKED><FONT COLOR=blue>Add to cart.</FONT></TD></TR><TR><TD><INPUT TYPE='Radio' NAME='Option'VALUE='Remove'><FONT COLOR=blue>Remove item from cart.</FONT></TD></TR><TR><TD><INPUT TYPE='Radio' NAME='Option'VALUE='Next'><FONT COLOR=blue>Choose next item.</FONT></TD></TR><TR><TD><INPUT TYPE='Radio' NAME='Option'VALUE='Checkout'><FONT COLOR=blue>Go to checkout.</FONT></TD>

Page 155: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

155

</TR></TABLE><BR><BR><BR><INPUT TYPE='Submit' VALUE='Submit'></FORM></CENTER></BODY></HTML>

Output :

<!-- Checkout.jsp -->

<%@ page import="java.util.Enumeration"import="java.text.DecimalFormat" %><%final float APPLES_PRICE = 1.45F;final float PEARS_PRICE = 1.75F;//In a real application, the above prices would be//retrieved from a database, of course.%>

<HTML><HEAD><TITLE>Checkout</TITLE></HEAD><BODY><BR><BR><BR><CENTER><H1><FONT COLOR=Red>Order List</FONT></H1><BR><BR><BR><TABLE BGCOLOR=Aqua BORDER=2><TR><TH>Item</TH><TH>Weight(kg)</TH><TH>Cost(£)</TH></TR>

<-! Sekarang menggunakan sesi objek implisit -><-! Untuk mengambil isi dari keranjang belanja ... -><%session.removeAttribute("currentProd");//(Removes "Checkout".)Enumeration prodNames = session.getAttributeNames();float totalCost = 0;

DecimalFormat costFormat =new DecimalFormat("00.00");int numProducts = 0;while (prodNames.hasMoreElements()){float wt=0,cost=0;String product = (String)prodNames.nextElement();String stringWt =(String)session.getAttribute(product);wt = Float.parseFloat(stringWt);if (product.equals("Apples"))cost = APPLES_PRICE * wt;else if (product.equals("Pears"))cost = PEARS_PRICE * wt;%><TR><TD><%= product %></TD><TD><%= wt %></TD><TD><%= costFormat.format(cost) %></TD></TR><%totalCost+=cost;numProducts++;}%><TR BGCOLOR=Yellow><%if (numProducts == 0){%><TD>*** No orders placed! ***</TD></TR><%}else{%><TR BGCOLOR=Yellow><TD></TD> <!-- Blank cell --><TD>Total cost:</TD><TD><%= costFormat.format(totalCost) %></TD></TR><%}%></TABLE></CENTER></BODY></HTML>

Output :

Page 156: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

156

KESIMPULAN

JSP merupakan perluasan dari servlet dan memiliki beberapa keunggulan. Yang pertama adalah bahwa kode yang ditulis untuk JSP relatif lebih ringkas. Yang kedua, proses deployment lebih mudah. Sebuah file JSP dapat diperlakukan sama seperti file HTML ketika dilakukan deployment. Dari segi pemakaian komponen JavaBeans, JSP relative lebih mudah melakukannya.

JSP menggabungkan kode Java dan content (teks statik, kode HTML, XML, kode lainnya seperti

skrip dan tag). Ini membuat content tidak perlu seluruhnya dihasilkan oleh program Java. Misalnya kita dapat langsung memakai tag-tag HTML dalam file JSP. Servlet seluruh content harus dihasilkan oleh program Java di dalam servlet sehingga kitatidak bisa memakai tag-tag HTML secara langsung tanpa kode Java. Namun dari sisi developer hal ini juga mengharuskan programmer Java dan programmer web (content) bekerja sama dengan baik sebab kedua macam kode (Java dan content) akan digabungkan

SARANDisarankan dalam pengembangan Servlet dan JSP seperti ini perlu diperhatikan model pengembangan selanjutnya bisa menggunakan aplikasi web server lain yang terbaru misalnya Apache versi terbaru.

REFERENSI[28] Http://Course.coreservlets.com/Course-Materials/csajsp2.html

[29] http://lecturer.eepis-its.edu/~yuliana/JSP/Bab%201%20-%20Pengenalan%20JSP.pdfHENDRA KUSMAYADI, EKO DARWIYANTO, Politeknik Telkom Bandung, 2009. XML dan WEB SERVICES.

[30] http://lecturer.ukdw.ac.id/budsus/webdb/JSP.pdf

[31] http://naeli.staff.gunadarma.ac.id/Downloads/files/16859/pengantar+xml.pdf

[32] http://tomcat.apache.org/whichversion.html

Page 157: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

ABSTRAKRemote Method Invocation atau RMI adalah teknologi java

yang memungkinkan programmer untuk mengembangkan objek terdistribusi yang dapat digunakan dalam jaringan komputer. Mekanisme RMI adalah dengan mempublikasikan interface dari objek pada layanan naming service agar dapat diakses oleh client

1. PendahuluanDalam sistem terdistribusi terkadang dibutuhkan kemampuan untuk dapat mengeksekusi metode dari objek-objek yang berada pada host lain. RMI (Remote Methode Invocation) menyediakan solusi yang bersifat \textit{platform-independent} untuk melakukan ini. Didalam RMI, detail-detail sistem jaringan yang dibutuhkan oleh sistem pemrograman stream dan socket tidak ada lagi, dan kenyataan bahwa sebuah objek terletak pada suatu lokasi remote hampir terlihat jelas oleh programmer java. Pada saat referensi dari sebuah objek remote telah didapatkan, metode-metode dalam objek tersebut dapat dipanggil dengan cara yang sama seperti objek-objek lokal. Dibalik proses, tentu saja RMI akan memanfaatkan penggunaan aliran-aliran byte untuk mentransfer data dan melakukan pemanggilan-pemanggilan metode, akan tetapi kesemua ini ditangani secara otomatis oleh infrastruktur RMI. RMI telah menjadi komponen inti java sejak rilis awal dari bahasa ini, tetapi juga telah mengalami perubahan-perubahan evolusioner dari spesifikasi original yang dimilikinya.

2. Proses Dasar RMISebuah sistem RMI terdiri atas program server yang

bertanggung jawab atas proses publikasi object dalam jaringan, dengan cara meregister interface dengan layanan naming service, dan program client yang akan menggunakan layanan naming service yang sama untuk mendapatkan referensi dari interfaceyang telah dipublikasikan oleh server.

Interface yang dipublikasikan oleh server menampung signature dari metode-metode yang akan disediakan oleh server untuk dapat digunakan oleh client.

Proses pada sisi client untuk mendapatkan referensi dari layanan naming service dilakukan dengan memanfaatkan sebuah objek stub, yang dapat diumpamakan sebagai sebuah gerbang dari objek remote. Pada sisi server juga akan terdapat gerbang lain, yaitu skeleton.

Pada saat program client memanggil sebuah metode dari object remote, akan terlihat seolah-olah metode

data primitif dan referensi yang mengimplementasikan interface serializable yang dapat digunakan sebagai parameter.

Proses serialisasi dari parameter-parameter ini disebut sebagai proses marshalling, dimana proses ini terjadi pada stub, dan sebaliknya, proses deserialisasi parameter disebut sebagai proses unmarshalling, terjadi pada skeleton. Setelah proses unmarshalling dilakukan, terakhir skeleton akan memanggil implementasi dari pemanggilan metode pada server.

Pengembangan selanjutnya dari teknologi RMI pada J2SE 1.2 tidak lagi menggunakan objek skeleton pada server, dan melakukan komunikasi secara langsung dengan remote reference layer. Diagram berikut masih dapat memberikan gambaran tentang sebuah sistem RMI :

Gambar 10 : Menggunakan RMI dalam proses pemanggilan metode pada objek remote

3. Detail ImplementasiPaket-paket yang digunakan dalam implementasi dari sebuah aplikasi client-server RMI adalah java.rmi, java.rmi.server, dan java.rmi.registry, namun hanya dua paket pertama yang harus digunakan secara eksplisit. Langkah-langkah dasar adalah sebagai berikut :

a) Membuat InterfaceDeklarasi dari interface harus meng-import paket-paket

java.rmi dan meng-extend interface Remote yang (sebagaimana Serializable) adalah sebuah interface penanda yang tidak memiliki metode. Sebagai contoh interface ini akan menyebutkan signature untuk metode getGreeting yang disediakan untuk client. Didalam metode ini harus dideklarasikan bahwa ia akan menghasilkan eksepsi RemoteException. Bentuk dari source code Hello.java adalah sebagai berikut :

b) Mendefinisikan class yang mengimplementasikan interface

Deklarasi class implementasi harus meng-importpaket-paket java.rmi dan java.rmi.server. Class ini juga harus meng-extend class RemoteObjectatau salah satu dari sub-sub classnya. Secara

Muh. Sadly SaidAMIK Catur Sakti

Jln. Drs. H. Abd. Silondae No. 109 A, Kendari, Sultra

[email protected]

Ottopianus MelloloPoliteknik Negeri ManadoJln. Kampus Politeknik Ds. Buha Mapanget, Manado

[email protected]

Hady SuhardiSTMIK Dipanegara

Jln. Perintis Kemerdekaan Km. 9 Makassar

[email protected]

Remote Method Invocation

import java.rmi.*;

public interface Hello extends Remote { public String getGreeting() throws RemoteException;}

Page 158: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

158

dideklarasikan sebelumnya, dengan memberikan bagian executable untuk metode interface tunggal yaitu getGreeting dilengkapi dengan eksepsi RemoteException yang akan dilemparkannya. Sebagai tambahan, harus disediakan konstruktor untuk objek implementasi dilengkapi dengan eksepsi RemoteExceptionyang akan dilemparkannya. Bentuk akhir dari HelloImpl.java adalah sebagai berikut :

c) Membuat proses serverProgram server bertanggung jawab atas pembuatan objek dari class diatas dan proses publikasi class tersebut terhadap layanan naming service yang disebut sebagai registry. Proses ini dilakukan dengan menggunakan metode statik rebind dari class Naming (yang terdapat pada paket java.rmi). Metode rebind menggunakan dua buah parameter antara lain : Sebuah string yang akan menyimpan nama

dari objek remote sebagai sebuah URL dengan protokol rmi. String ini juga menampung nama dari host yang menampung objek remote.

Sebuah referensi terhadap objek remote (sebagai argumen dari tipe Remote)

Metode ini akan membentuk koneksi antara nama dari objek dan referensinya. Client kemudian dapat menggunakan nama dari objek untuk mendapatkan referensi dari objek tersebut melalui registry. Secara default port yang akan digunakan adalah 1099, nomor port ini dapat diganti untuk disesuaikan dengan kebutuhan. Bentuk akhir dari source code HelloServer.java adalah sebagai berikut :

d) Membuat proses clientClient mendapatkan referensi dari objek remote melalui registry. Proses ini dilakukan dengan menggunakan metode lookup dari class Naming. Metode ini akan menggunakan sebuah argumen tunggal, yaitu URL yang sama dengan yang digunakan pada server pada proses binding antara referensi objek dan nama dari objek tersebut kedalam registry. Karena metode tersebut mengembalikan referensi Remote, maka referensi ini harus di-typecast menjadi referensi Hello. Setelah referensi telah didapatkan, referensi tersebut dapat digunakan untuk memanggil metode yang telah disediakan dalam interface. Bentuk dari source code HelloClient.java adalah sebagai berikut :

4. Kompilasi dan eksekusiProses kompilasi dan eksekusi program dilakukan sebagai berikut :

a) Compile seluruh file dengan perintah javac

Lakukan kompilasi terhadap seluruh source code yang telah dibuat sebelumnya dengan menggunakan perintah javac. Perintah ini cukup simple :

b) Compile class implementasi dengan compiler rmic

Compiler ini adalah salah satu utility yang telah disertakan dalam J2SE. Walaupun mungkin akan terlihat aneh untuk memiliki sebuah compiler yang beroperasi diatas sesuatu selain source code, compiler ini bekerja dengan file .class dari file implementasi yang telah di-generate pada tahap kompilasi diatas. Digunakan tanpa opsi baris perintah, compiler ini akan meng-generate file stub dan file skeleton. Namun, seperti yang telah disebutkan pada

import java.rmi.*;import java.rmi.server.*;

public class HelloImpl extends UnicastRemoteObjectimplements Hello {

public HelloImpl() throws RemoteException {

}

public String getGreeting() throws RemoteException { return ("Hello there!"); }

}

import java.rmi.*;

public class HelloServer {

private static final String HOST = "localhost";

public static void main(String[] args) throws Exception { HelloImpl temp = new HelloImpl(); String rmiObjectName = "rmi://" + HOST + "/Hello"; Naming.rebind(rmiObjectName,temp); System.out.println("Binding complete...\n"); }

}

import java.rmi.*;

public class HelloClient {

private static final String HOST = "localhost";

public static void main(String[] args) { try { Hello greeting = (Hello)Naming.lookup("rmi://" + HOST + "/Hello"); System.out.println("Message received: " + greeting.getGreeting()); } catch(ConnectException conEx) { System.out.println( "Unable to connect to server!"); System.exit(1); } catch(Exception ex) { ex.printStackTrace(); System.exit(1); } }

}

javac Hello.javajavac HelloImpl.javajavac HelloServer.javajavac HelloClient.java

Page 159: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

159

import java.rmi.*;import java.rmi.server.*; import java.util.Vector;

public class Bank1Impl extends UnicastRemoteObject implements Bank1 { private Vector<Account> acctInfo; public Bank1Impl(Vector<Account> acctVals) throws RemoteException { acctInfo = acctVals; } public Vector<Account> getBankAccounts() throws RemoteException { return acctInfo; }

}

public class Account implements java.io.Serializable {

private int acctNum;private String surname;private String firstNames;private double balance;

public Account(int acctNo, String sname, String fnames, double bal) { acctNum = acctNo; surname = sname; firstNames = fnames; balance = bal; }

....

}

bagian sebelumnya, java 2 tidak membutuhkan file skeleton. Jika java 2 sedang digunakan, maka opsi baris perintah -v1.2 harus disebutkan (seperti yang diperlihatkan dibawah), jadi hanya file stub yang akan dihasilkan.

Proses ini akan menghasilkan file HelloImpl_stub.class

c) Menjalankan Registry RMIRegistry RMI dapat dijalankan dengan menggunakan perintah berikut :

Pada saat perintah ini dieksekusi, satu-satunya indikasi bahwa sesuatu telah terjadi adalah perubahan pada title dari jendela command.

d) Menjalankan aplikasi serverDari jendela yang baru, jalankan aplikasi interpreter java :

e) Menjalankan aplikasi client

Sekali lagi, jalankan aplikasi interpreter java :

output pada saat program dijalankan adalah sebagai berikut :

Dikarenakan proses server dan registry RMI akan terus berjalan setelah proses client selesai, aplikasi-aplikasi ini harus ditutup dengan menekan tombol CTRL-C pada jendela command masing-masing.

5. Penggunaan RMIDalam aplikasi RMI yang nyata, beragam metode-metode dan mungkin banyak objek-objek akan digunakan. Dengan aplikasi-aplikasi dunia nyata seperti ini, terdapat 2 kemungkinan strategi yang dapat diadopsi.Sebagai contoh kita akan membuat sebuah aplikasi yang akan menyediakan objek akun bank bagi client-client yang terhubung, yang mana selanjutnya dapat memanipulasi objek-objek remote dengan memanggil metode-metode dari objek tersebut. Untuk tujuan

kemudahan, hanya 4 buah objek-objek akun yang akan dibuat dan pertimbangan-pertimbangan praktis yang berkaitan dengan keaman dari akun-akun ini akan diabaikan secara keseluruhan. Masing-masing dari kedua metode akan diimplementasikan secara bergantian.

Kedua metode dapat disebutkan sebagai berikut :

a) Metode 1Gunakan sebuah instance tunggal dari class implementasi untuk menyimpan instance-instance dari class yang mana metode-metodenya akan dipanggil secara remote. Pass Instance-instance dari class yang terakhir sebagai argumen-argumen dari konstruktor dari class implementasi.Tahap pertama yang harus dilakukan adalah membuat interface, dengan hasil akhir sebagai

berikut :

Selanjutnya interface diatas dapat diimplementasikan dalam sebuah class. Source code dari class adalah sebagai berikut :

rmic -v1.2 HelloImpl

rmiregistry

java HelloServer

java HelloClient

Message Received : Hello There !

import java.rmi.*;import java.util.Vector;

public interface Bank1 extends Remote { public Vector<Account> getBankAccounts() throws RemoteException}

Page 160: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

160

import java.rmi.*;import java.util.Vector;

public class Bank1Server {

private static final String HOST = "localhost";

public static void main(String[] args) throws Exception { Account[] account = { new Account(111111,"Smith","Fred James",112.58), new Account(222222,"Jones","Sally",507.85), new Account(234567,"White","Mary Jane",2345.00), new Account(666666,"Satan","Beelzebub",666.00)}; Vector<Account> acctDetails = new Vector<Account>(); for (int i=0; i<account.length; i++) acctDetails.add(account[i]); Bank1Impl temp = new Bank1Impl(acctDetails); String rmiObjectName = "rmi://" + HOST + "/Accounts"; Naming.rebind(rmiObjectName,temp); System.out.println("Binding complete...\n"); }

}

Metode getBankAccounts diatas akan mengembalikan Vector dari Account. Class Account akan dibutuhkan dalam aplkasi ini, source code dari class Account adalah sebagai berikut :

Proses server dari program adalah sebagai berikut :

Terakhir, proses client dari program adalah sebagai berikut :

Proses kompilasi dan eksekusi, kurang lebih sama dengan contoh sebelumnya.

b) Metode 2Gunakan class implementasi secara langsung untuk menyimpan data dan metode-metode yang dibutuhkan, membuat instance dari class ini, tanpa harus menggunakan class terpisah.Source code contoh dari interface adalah sebagai berikut :

Source code dari class implementasi adalah sebagai berikut :

Source code dari class server adalah sebagai berikut :

import java.rmi.*;import java.util.Vector;

public class Bank1Client {

private static final String HOST = "localhost";

public static void main(String[] args) { try { Bank1 temp = (Bank1)Naming.lookup( "rmi://" + HOST + "/Accounts"); Vector<Account> acctDetails = temp.getBankAccounts(); for (int i=0; i<acctDetails.size(); i++) {

Account acct = acctDetails.elementAt(i);System.out.println("\nAccount number: " +

acct.getAcctNum());System.out.println("Name: " + acct.getName());System.out.println("Balance: " +

acct.getBalance()); } } catch(ConnectException conEx) { System.out.println( "Unable to connect to server!"); System.exit(1); } catch(Exception ex) { ex.printStackTrace(); System.exit(1); } }

}

import java.rmi.*;

public interface Bank2 extends Remote {

public int getAcctNum()throws RemoteException; public String getName()throws RemoteException; public double getBalance()throws RemoteException; public double withdraw(double amount) throws RemoteException; public void deposit(double amount) throws RemoteException;

}

import java.rmi.*;import java.rmi.server.*;

public class Bank2Impl extends UnicastRemoteObject implements Bank2 {

private int acctNum;private String surname;

private String firstNames; private double balance;

public Bank2Impl(int acctNo, String sname, String fnames, double bal) throws RemoteException { acctNum = acctNo; surname = sname; firstNames = fnames; balance = bal; }

...

}

Page 161: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

161

source code dari program client adalah sebagai berikut :

Proses kompilasi dan eksekusi program memiliki metode yang sama dengan contoh sebelumnya.

6. DAFTAR PUSTAKA[1] Graba, Jan., 2007, An Introduction to Network

Programming With Java, Springer

import java.rmi.*;

public class Bank2Server { private static final String HOST = "localhost";

public static void main(String[] args) throws Exception { Bank2Impl[] account = { new Bank2Impl(111111,"Smith", "Fred James",112.58), new Bank2Impl(222222,"Jones","Sally",507.85), new Bank2Impl(234567,"White", "Mary Jane",2345.00), new Bank2Impl(666666,"Satan", "Beelzebub",666.00) }; for (int i=0; i<account.length; i++) { int acctNum = account[i].getAcctNum(); Naming.rebind("rmi://"+HOST+"/\textit{Account}" +acctNum, account[i]); } System.out.println("Binding complete...\n"); }

}

import java.rmi.*;

public class Bank2Client {

private static final String HOST = "localhost"; private static final int[] acctNum = {111111,222222,234567,666666};

public static void main(String[] args) { try { for (int i=0; i<acctNum.length; i++) {

Bank2 temp = (Bank2)Naming.lookup("rmi://" + HOST + "/Account" + acctNum[i]);

System.out.println("\nAccount number: " + temp.getAcctNum());

System.out.println("Name: " + temp.getName());System.out.println("Balance: " +

temp.getBalance()); } } catch(ConnectException conEx) { System.out.println( "Unable to connect to server!"); System.exit(1); } catch(Exception ex) { ex.printStackTrace(); System.exit(1); } }

}

Page 162: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

162

PCA

Page 163: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

163

ALGORITMA PENILAIAN SOFT SKILLS MAHASISWA MENGGUNAKAN METODE PRINCIPAL COMPONENT ANALYSIS (PCA)Masna Wati

Konsentrasi Teknik Informatika Program Studi Teknik Elektro

Program Pascasarjana Universitas Hasanuddin

[email protected]

Suci Rahma Dani Rachman

Konsentrasi Teknik Informatika Program Studi Teknik Elektro

Program Pascasarjana Universitas Hasanuddin

[email protected]

ABSTRAK

Soft skills merupakan seperangkat kemampuan yang mempengaruhi bagaimana kita berinteraksi dengan orang lain yang memuat komunikasi efektif, berpikir kreatif dan kritis, membangun tim, serta kemampuan lainnya yang terkait kapasitas kepribadian individu. Soft skills memberikan dampak terhadap kualitas manajemen seorang mahasiswa secara total, efektivitas institusional dan sinergi inovasi. Penilaian soft skills mahasiswa merupakan salah satu bidang penelitian yang penting, dan dewasa ini banyak aplikasi yang dapat menerapkannya, salah satunya Principal Components Analysis (PCA). PCA adalah teknik untuk membangun variabel-variabel baru yang merupakan kombinasi linear dari variabel-variabel asli dengan cara menghilangkan korelasi diantara variabel bebas atau yang biasa disebut dengan principal component. PCA terbukti dapat mereduksi variabel-variabel bebas yang saling berkorelasi sehingga menjadi lebih sederana.

Kata Kunci : Soft skills, Principal Component Analysis

1. Pendahuluan

Soft skills adalah seperangkat kemampuan yang mempengaruhi bagaimana kita berinteraksi dengan orang lain. Tujuan dari pelatihan soft skills adalah memberikan kesempatan kepada individu untuk untuk mempelajari perilaku baru dan meningkatkan hubungan antar pribadi dengan orang lain. Dari sisi organisasional, soft skills memberikan dampak terhadap kualitas manajemen seorang mahasiswa secara total, efektivitas institusional dan sinergi inovasi. Esensi soft skills adalah kesempatan. Lulusan memerlukan soft skills untuk membuka dan memanfaatkan kesempatan.

Sharma (2009), menyebutkan bahwa soft skills adalah seluruh aspek dari generic skills yang juga termasuk elemen-elemen kognitif yang berhubungan dengan non-academic skills. Ditambahkan pula bahwa, berdasarkan hasil penelitian, elemen soft skills yang diidentifikasi dan penting dikembangkan pada peserta didik di lembaga pendidikan tinggi, meliputi; Keterampilan Berkomunikasi (communicative skills), Keterampilan berpikir dan menyelesaikan masalah (thinking skills and Problem solving skills), Kekuatan kerja tim (team work force), Belajar sepanjang hayat dan pengelolaan informasi (life-long learning and Information management), Keterampilan wirausaha (entrepreneur skill), Etika, Moral dan Profesionalisme (ethics, moral and professionalism), dan Keterampilan Kepemimpinan (leadership skill). Ketujuh elemen tersebut terbagi lagi menjadi beberapa sub-skills.

Penilaian soft skills mahasiswa merupakan salah satu bidang penelitian yang penting, dan dewasa ini banyak aplikasi yang dapat menerapkannya. Melalui pengembangan suatu teknik seperti Principal Components Analysis (PCA).

Pada penulisan ini, parameter penilaian soft skills mahasiswa yang digunakan diambil dari elemen sub-skills yang dijelaskan oleh Sharma (2009). Mengingat sub-skills yang dimaksud jumlahnya sangat banyak, maka penulis membatasi dengan hanya mengambil beberapa elemen sub-skills tersebut yang kemudian akan menjadi variabel penilaian soft skills mahasiswa. Dari elemen-elemen tersebut, akan diteliti apakah terdapat korelasi antar variabel sehingga dengan menggunakan teknik PCA variabel-variabel tersebut dapat direduksi menjadi variabel-variabel yang lebih sederhana.

2. Principal Component Analysis2.1. Pengertian PCA

Principal Component Analysis (PCA) adalah sebuah teknik untuk membangun variabel-variabel baru yang merupakan kombinasi linear dari variabel-variabel asli. Jumlah maximum dari variabel-variabel baru ini akan sama dengan jumlah dari variabel lama, dan variabel-variabel baru ini tidak saling berkorelasi satu sama lain.

Prosedur PCA pada dasarnya adalah bertujuan untuk menyederhanakan variabel yang diamati dengan cara menyusutkan (mereduksi) dimensinya. Penyusutan dilakukan dengan melihat interdepedensi beberapa variabel yang dapat dijadikan satu sehingga ditemukan variabel-variabel faktor yang dominan atau penting untuk dianalisis lebih lanjut. Hal ini dilakukan dengan cara menghilangkan korelasi diantara variabel bebas melalui transformasi variabel bebas asal ke variabel baru yang tidak berkorelasi sama sekali atau yang biasa disebut dengan principal component.

2.2. Algoritma Metode PCA

Data masukan pada metode PCA dinyatakan dalam matriks X.

= ⋯⋮ ⋱ ⋮⋯

Page 164: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

164

Salah satu pendekatan yang digunakan dalam penskalaan input adalah dengan normalisasi, sehingga input ini selalu berada dalam rentang tertentu. Normalisasi dapat dilakukan dengan cara mengurangi nilai data dengan rataannya dan dibagi standar deviasinya.

= 1 ,

= 1 ( − )= ( − )/

Misalkan matriks sebagai berikut:

=Maka

= 1 , = + +3 = 1 , = + +3 = 1 , = + +3

Hasil dari normalisasi ini adalah suatu data dengan nilai rataan nol dan standar deviasi sama dengan satu.Dari matriks input tersebut, dihitung matriks kovarian S dengan menggunakan persamaan := ∗

Dimana adalah transpose matriks X.

= , sedemikian sehingga diperoleh

= ∗= + + + + + ++ + + + + ++ + + + + +

=Setelah diperoleh matriks kovarian ini, ditentukan nilai eigen,eigen vektor dan serta proporsi yang akan digunakan dalam PCA.

Vektor eigen dan nilai eigen dicari dengan menggunakan persamaan berikut :=Dimana, | − | = 0dengan adalah eigenvalue dan Q adalah eigenvector.Dari persamaan diatas dapat diperoleh

| − | = − 1 0 00 1 00 0 1 = − − − = 0( − )( − )( − ) + + − ( − ) − ( − ) − ( − ) = 0

Dengan menyelesaikan persamaan diatas akan diperoleh nilai , , yang merupakan nilai eigen (eigenvalue). Setelah nilai eigen diperoleh maka kita dapat menentukan vektor eigen matriks X tersebut dengan mensubtitusi tiap-tiap nilai eigen yang diperoleh. Untuk maka

= 0 00 00 0 = 0Sehingga akan diperoleh vektor eigen dari A yang bersesuaian dengan . Hal yang sama juga dilakukan untuk , , .Dari persamaan tersebut didapatkan nilai eigen yang terurut dari yang besar (largest point) hingga ke yang kecil (smallest point). Selanjutnya, mencari Feature atau Principal Component dengan mentransformasi data set ke dalam ruang eigen dengan menggunakan persamaan berikut:

= ( − )Setelah Principal Component diperoleh selanjutnya akan diamati proporsi varian yang dapat dijelaskan oleh masing-masing PC serta

variabel yang mendominasi masing-masing PC. Pengamatan ini dilakukan untuk menentukan berapa jumlah feature atau principal component yang dianggap cukup untuk mewakili data asli. Penentuan proporsi dari nilai yang diambil dapat dihitung dengan menggunakan (m) vektor eigen yang bersesuaian dengan (p) nilai eigen dengan persamaan berikut :

= [∑ ]∑

Proporsi ini berguna untuk menentukan besarnya komponen utama yang digunakan.

Page 165: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

165

3. Penilaian Soft skills Mahasiswa

Pada penulisan ini, akan dibahas mengenai penilaian soft skills mahasiswa dengan komponen penilaian sebagai berikut:

Tabel 1. Komponen penilaian Soft skills

No Komponen PenilaianSkor Penilaian

1 Kemampuan Berkomunikasi2 Kejujuran/Integritas3 Kemampuan Bekerja Sama4 Kemampuan Interpersonal5 Beretika6 Motovasi/Inisiatif7 Kemampuan Beradaptasi8 Daya Analitik9 Kemampuan Berorganisasi10 Berorientasi pada Detail11 Kepemimpinan12 Kepercayaan Diri13 Ramah

Berdasarkan asumsi, penilaian soft skills mahasiswa bergantung pada komponen-komponen Soft skills pada Tabel 1. Adapun bobot penilaian untuk tiap komponen sebagai berikut.

1 2 3 4 5 6 7 8 9 10

Kurang Sangat Baik

4. Implementasi PCA Pada Penilaian Soft Skills Mahasiswa

4.1 Pengujian Korelasi antar variabel

Untuk mengetahui komponen-komponen mana saja yang berpengaruh dan yang tidak berpengaruh perlu dilakukan analisis dengan mengunakan teknik PCA. Untuk itu dilakukan penilaian Soft skills mahasiswa dalam kelas A yang berjumlah 30 mahasiswa, dengan menggunakan komponen-komponen Soft skills pada Tabel 1. Data-data tersebut dinyatakan dalam Table 2.

Page 166: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

166

Table 2. Data Penilaian Soft skills Mahasiswa

No

Kemampuan

Berkomunikasi

Kejujuran/Integritas

Kemampuan

Bekerja Sama

Kemampuan

Interpersonal

BeretikaMotovasi/Inisiati

f

Kemampuan

Beradaptasi

Daya Analitik

Kemampuan Berorganisa

si

Berorientasi pada Detail

Kepemimpinan

Kepercayaan Diri

Ramah

1 7 8 8 6 8 7 9 7 8 7 9 7 9

2 6 7 8 7 7 6 8 6 7 7 7 6 7

3 8 9 7 6 9 6 8 6 7 7 7 8 9

4 9 9 7 7 9 7 7 7 8 8 9 9 9

5 4 8 7 7 8 5 7 7 7 7 7 5 8

6 5 7 6 8 7 7 6 9 7 9 7 5 8

7 6 7 7 9 8 7 7 9 6 9 7 6 8

8 7 6 5 7 6 9 5 7 5 7 4 7 6

9 5 8 7 6 8 7 6 6 7 6 7 7 8

10 9 9 8 8 8 6 8 8 6 8 6 4 8

11 6 4 9 7 4 6 9 7 7 8 7 6 5

12 9 5 9 6 5 5 8 7 6 8 6 9 5

13 3 9 5 6 8 6 6 6 6 6 6 3 8

14 5 7 6 7 8 7 6 6 7 6 7 5 8

15 4 7 5 6 7 8 5 6 6 6 6 4 7

16 7 7 5 5 7 9 6 5 4 5 4 7 7

17 6 8 7 6 8 8 7 5 6 4 6 6 9

18 4 8 3 8 7 8 4 7 8 6 8 4 8

19 3 4 8 9 5 8 7 9 9 9 9 3 6

20 6 4 9 9 4 9 8 9 9 9 9 6 4

21 8 5 8 6 4 7 8 7 7 7 7 8 4

22 9 7 7 8 6 6 7 8 8 8 8 9 5

23 6 6 6 7 6 7 6 7 7 7 7 7 6

24 5 6 5 6 6 5 5 7 6 7 6 5 6

25 2 6 5 8 6 7 4 8 7 7 7 3 6

26 6 6 7 3 7 8 7 5 3 8 4 6 8

27 1 6 6 4 7 8 6 5 3 5 3 3 8

28 6 8 5 5 7 6 6 4 5 5 6 6 7

29 7 6 7 7 6 6 7 7 7 5 6 8 6

30 9 6 9 7 6 6 8 6 8 6 8 9 7

Page 167: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

167

Dari data tersebut, kita ingin mengetahui apakah ada pelanggaran multikolinearitas yaitu ada variabel yang berkorelasi kuat dengan variabel lainnya. Jika terdapat variabel-variabel yang bersifat multikolinearitas atau dengan kata lain ada variabel yang saling bergantung dengan variabel lainnya maka akan ditanggulangi dengan menggunakakan teknik PCA.

Dengan menggunakan Software SPSS 17 diperoleh nilai-nilai korelasi antar variabel-variabel tersebut. Dari Tabel 3. menunjukkan bahwa terdapat beberapa variabel yang saling bekorelasi sangat kuat ataupun kuat. Korelasi antara “Kemampuan Berkomunikasi” dan “Kemampuan Bekerja Sama” menunjukkan angka sebesar 0.955, angka ini menunjukkan adanya korelasi yang sangat kuat. Begitu pun antara “Kejujuran/Integritas” dan “Beretika” menunjukkan angka 0.973 yang juga menunjukkan adanya korelasi yang sangat kuat. Dan seterusnya pada beberapa vairabel lainnya.

Dengan melakukan uji Hipotesis dapat diketahui apakah angka korelasi tersebut signifikan atau tidak. Dengan mengambil H0: Hubungan antara variabel tidak signifikan dan H1: Hubungan antara variabel signifikan maka kita dapat menarik kesimpulan. Pada Table 3., terlihat angka probabilitas hubungan antara “Kemampuan Bekomunikasi” dan “Kemampuan Bekerja Sama” sebesar 0.00 (0.00 < 0.01).

Jadi, dapat disimpulkan H0 ditolak dan H1 diteima artinya hubungan kedua variabel tesebut sangat kuat dan signifikan. Begitu pula pada beberapa variabel lainnya. Dengan adanya nilai korelasi yang tinggi tersebut maka kita dapat menduga adanya pelanggaran asumsi klasik multikolinearitas pada data tersebut.

.

Page 168: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

168

Tabel 3.Correlations

Kemampu

an Berkomunikasi

Kejujuran/Integritas

Kemampuan

Bekerja Sama

Kemampuan

Interpersonal

Beretika

Motivasi/Inisiatif

Kemampuan

Beradaptasi

Daya Analitik

Kemampuan

Berorganisasi

Berorientasi pada Detail

Kepemimpinan

Kepercayaan Diri Ramah

Kemampuan Berkomunikasi

Pearson Correlation

1 -.306 .955** .387* -.295

-.316 -.230 .305 .298 .500** .308 .411* -.265

Sig. (2-tailed) .100 .000 .035 .113 .089 .221 .102 .109 .005 .097 .024 .158

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kejujuran/Integritas

Pearson Correlation

-.306

1 -.328 .043 .973**

-.041 .868** -.292 -.152 -.260 -.050 -.049 .913**

Sig. (2-tailed) .100 .076 .821 .000 .828 .000 .118 .423 .166 .794 .797 .000

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kemampuan Bekerja Sama

Pearson Correlation

.955**

-.328 1 .392* -.319

-.255 -.251 .260 .341 .425* .361 .435* -.265

Sig. (2-tailed) .000 .076 .032 .086 .174 .181 .165 .065 .019 .050 .016 .157

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kemampuan Interpersonal

Pearson Correlation

.387*

.043 .392* 1 .016 -.187 -.098 -.083 .138 .095 .164 .964** -.104

Sig. (2-tailed) .035 .821 .032 .931 .323 .607 .661 .467 .618 .388 .000 .583

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Beretika Pearson Correlation

-.295

.973** -.319 .016 1 -.082 .892** -.321 -.193 -.273 -.076 -.088 .935**

Sig. (2-tailed) .113 .000 .086 .931 .668 .000 .084 .308 .145 .688 .644 .000

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Motivasi/Inisiatif

Pearson Correlation

-.316

-.041 -.255 -.187 -.082

1 -.044 -.016 -.168 -.073 -.177 -.202 .020

Sig. (2-tailed) .089 .828 .174 .323 .668 .818 .933 .376 .701 .349 .283 .915

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kemampuan Beradaptasi

Pearson Correlation

-.230

.868** -.251 -.098 .892**

-.044 1 -.368* -.188 -.300 -.083 -.173 .968**

Sig. (2-tailed) .221 .000 .181 .607 .000 .818 .045 .320 .107 .662 .362 .000

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Daya Analitik Pearson Correlation

.305 -.292 .260 -.083 -.321

-.016 -.368* 1 .607** .790** .552** -.080 -.343

Sig. (2-tailed) .102 .118 .165 .661 .084 .933 .045 .000 .000 .002 .674 .063

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kemampuan Berorganisasi

Pearson Correlation

.298 -.152 .341 .138 -.193

-.168 -.188 .607** 1 .376* .949** .177 -.207

Sig. (2-tailed) .109 .423 .065 .467 .308 .376 .320 .000 .041 .000 .350 .271

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Berorientasi pada Detail

Pearson Correlation

.500**

-.260 .425* .095 -.273

-.073 -.300 .790** .376* 1 .439* .042 -.280

Sig. (2-tailed) .005 .166 .019 .618 .145 .701 .107 .000 .041 .015 .827 .134

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kepemimpinan

Pearson Correlation

.308 -.050 .361 .164 -.076

-.177 -.083 .552** .949** .439* 1 .183 -.078

Sig. (2-tailed) .097 .794 .050 .388 .688 .349 .662 .002 .000 .015 .332 .683

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Kepercayaan Diri

Pearson Correlation

.411*

-.049 .435* .964** -.088

-.202 -.173 -.080 .177 .042 .183 1 -.186

Sig. (2-tailed) .024 .797 .016 .000 .644 .283 .362 .674 .350 .827 .332 .325

N 30 30 30 30 30 30 30 30 30 30 30 30 30

Ramah Pearson Correlation

-.265

.913** -.265 -.104 .935**

.020 .968** -.343 -.207 -.280 -.078 -.186 1

Sig. (2-tailed) .158 .000 .157 .583 .000 .915 .000 .063 .271 .134 .683 .325

Page 169: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

169

N 30 30 30 30 30 30 30 30 30 30 30 30 30

**. Correlation is significant at the 0.01 level (2-tailed).

*. Correlation is significant at the 0.05 level (2-tailed).

Page 170: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

170

4.2 Penanggulangan Multikolinearitas

Karena pada pengujian sebelumnya telah menunjukkan bahwa terdapat permasalahan multikolinearitas dalam data tersebut, maka dilakukan penanggulangan untuk mengatasi masalah multikolinearitas tersebut. Dalam hal ini kita menggunakan teknik Principal Component Analysis (PCA) untuk mengatasi multikolinearitas. Teknik PCA pada dasarnya bertujuan untuk menyederhanakan variabel yang diamati dengan cara menyusutkan (mereduksi) dimensinya. Hal ini dilakukan dengan cara menghilangkan korelasi diantara variabel bebas melalui transformasi variabel bebas asal ke variabel baru yang tidak berkorelasi sama sekali.

Dengan menggunakan Software SPSS 17, kita akan melakukan langkah-langkah algoritma PCA yang telah dijelaskan pada bagian 2.2 untuk mereduksi variabel – variabel bebas yang berkorelasi tinggi sehingga kita dapat menilai variabel mana saja yang benar – benar dianggap layak untuk dimasukkan dalam analisis selanjutnya.

Tabel 4.

KMO and Bartlett's Test

Kaiser-Meyer-Olkin Measure of Sampling Adequacy. .582

Bartlett's

Test of

Sphericity

Approx. Chi-Square 480.350

df 78

Sig. .000

Untuk melakukan penganalisaan dengan menggunakan analisis faktor ini, persyaratan yang harus dipenuhi ialah angka Measure of Sampling Adequacy (MSA) harus di atas 0.5, dengan menggunakan uji Kaiser-Meyer-Olkin dan Bartlett’s Test. Jika MSA yang diperoleh di atas 0.5 maka uji ini layak digunakan. Selanjutnya, Barlett Test digunakan untuk menguji apakah betul variabel-variabel bebas yang dilibatkan berkorelasi. Jika probabilitas (Sig) lebih kecil daripada 0.05 maka variabel dapat dianalisis lebih lanjut karena terdapat korelasi antarvariabel bebas dan sebaliknya jika probabilitas (sig) lebih besar daripada 0.05 maka variabel tidak dapat dianalisis lebih lanjut.

Berdasarkan hasil perhitungan pada Tabel 4 terlihat bahwa nilai KMO MSA sebesar 0.582. Nilai Chi-Square adalah 480.350, dengan derajat bebas sebesar 78 dan signifikansi 0.000. Nilai 0.582 berada di atas 0.5 dan nilai signifikansi 0.00 lebih kecil daripada 0.05, maka variabel dan data yang digunakan dapat terus dianalisis lebih lanjut dan terdapat kolerasi antarvariabel bebas.

Selanjutnya kita perhatikan bagian Anti-Image Correlation pada Tabel 5. Besarnya angka MSA ialah antara 0-1, dengan kriteria sebagai berikut:a. Jika MSA = 1 maka variabel tersebut dapat diprediksi tanpa kesalahan oleh variabel lainb. Jika MSA ≥ 0.05 maka variabel tersebut masih dapat diprediksi dan dapat dianalisis lebih lanjutc. Jika MSA < 0.05 maka variabel tersebut tidak dapat diprediksi dan tidak dapat dianalisis lebih lanjut sehingga variabel tersebut harus

dibuang atau dikeluarkan.

Page 171: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

171

Tabel 5.Anti-image Matrices

Kemampuan Berko

munikasi

Kejujuran/Integritas

Kemampuan

Bekerja Sama

Kemampuan

Interpersonal Beretika

Motivasi/Inisia

tif

Kemampuan

Beradaptasi

Daya Analitik

Kemampuan

Berorganisasi

Berorientasi pada

DetailKepemimpinan

Kepercayaan Diri Ramah

Anti-image Covariance

Kemampuan Berkomunikasi

.054 -.001 -.051 .000 -.003 .036 -.012 .003 -.005 -.025 .010 .000 .008

Kejujuran/Integritas

-.001 .041 .006 .008 -.026 -.021 .006 .010 -.010 -.014 .010 -.011 -.006

Kemampuan Bekerja Sama

-.051 .006 .056 .002 .003 -.019 .015 .004 .002 .013 -.006 -.004 -.011

Kemampuan Interpersonal

.000 .008 .002 .041 -.014 -.032 .001 .023 -.007 -.031 .007 -.040 .003

Beretika -.003 -.026 .003 -.014 .029 .049 .002 -.011 .006 .014 -.006 .013 -.007

Motivasi/Inisiatif .036 -.021 -.019 -.032 .049 .649 .037 -.018 -.006 .000 .015 .028 -.040

Kemampuan Beradaptasi

-.012 .006 .015 .001 .002 .037 .041 .021 -.014 -.011 .014 -.001 -.025

Daya Analitik .003 .010 .004 .023 -.011 -.018 .021 .130 -.044 -.105 .039 -.018 -.009

Kemampuan Berorganisasi

-.005 -.010 .002 -.007 .006 -.006 -.014 -.044 .034 .044 -.035 .007 .010

Berorientasi pada Detail

-.025 -.014 .013 -.031 .014 .000 -.011 -.105 .044 .126 -.046 .029 .007

Kepemimpinan .010 .010 -.006 .007 -.006 .015 .014 .039 -.035 -.046 .040 -.007 -.010

Kepercayaan Diri .000 -.011 -.004 -.040 .013 .028 -.001 -.018 .007 .029 -.007 .041 .000

Ramah .008 -.006 -.011 .003 -.007 -.040 -.025 -.009 .010 .007 -.010 .000 .021

Anti-image Correlation

Kemampuan Berkomunikasi

.644a -.028 -.934 -.010 -.072 .193 -.266 .037 -.121 -.300 .211 .008 .236

Kejujuran/Integritas

-.028 .749a .119 .197 -.762 -.132 .149 .133 -.278 -.199 .249 -.267 -.194

Kemampuan Bekerja Sama

-.934 .119 .649a .049 .079 -.098 .310 .044 .035 .154 -.137 -.092 -.332

Kemampuan Interpersonal

-.010 .197 .049 .474a -.390 -.195 .017 .307 -.175 -.426 .169 -.962 .097

Beretika -.072 -.762 .079 -.390 .709a .357 .066 -.172 .190 .232 -.169 .372 -.295

Motivasi/Inisiatif .193 -.132 -.098 -.195 .357 .415a .230 -.060 -.042 -.001 .091 .174 -.345

Kemampuan Beradaptasi

-.266 .149 .310 .017 .066 .230 .682a .291 -.385 -.157 .337 -.033 -.861

Daya Analitik .037 .133 .044 .307 -.172 -.060 .291 .524a -.665 -.821 .544 -.244 -.182

Kemampuan Berorganisasi

-.121 -.278 .035 -.175 .190 -.042 -.385 -.665 .443a .673 -.960 .175 .387

Berorientasi pada Detail

-.300 -.199 .154 -.426 .232 -.001 -.157 -.821 .673 .445a -.648 .409 .127

Kepemimpinan .211 .249 -.137 .169 -.169 .091 .337 .544 -.960 -.648 .452a -.184 -.361

Kepercayaan Diri .008 -.267 -.092 -.962 .372 .174 -.033 -.244 .175 .409 -.184 .502a -.019

Ramah .236 -.194 -.332 .097 -.295 -.345 -.861 -.182 .387 .127 -.361 -.019 .674a

a. Measures of Sampling Adequacy(MSA)

Page 172: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

172

Hasil analisis pada Tabel 5 menunjukkan nilai-nilai variabel yang diteliti sebagai berikut:a. Kemampuan Berkomunikasi = 0.644b. Kejujuran/Integritas = 0.749c. Kemampuan Bekerja Sama = 0.649d. Kemampuan Interpesonal = 0.474e. Beretika = 0.709f. Motivasi/Inisiatif = 0.415g. Kemampuan Beradaptasi = 0.682h. Daya analitik = 0.524i. Kemampuan Berorganisasi = 0.443j. Berorientasi pad Detail = 0.445k. Kepemimpinan = 0.452l. Kepercayaan Diri = 0.502m. Ramah = 0.674

Dari analisis di atas, maka variabel-variabel yang mempunyai MSA > 0.05 yaitu: Kemampuan Berkomunikasi, Kejujuran/Intergritas, Kemampuan Bekerja Sama, Beretika, Kemampuan Beradaptasi, Daya Analitik, Kepercayaan Diri dan Ramah.

Tabel 6.

Communalities

Initial Extraction

Kemampuan Berkomunikasi 1.000 .938

Kejujuran/Integritas 1.000 .935

Kemampuan Bekerja Sama 1.000 .872

Kemampuan Interpersonal 1.000 .917

Beretika 1.000 .955

Motivasi/Inisiatif 1.000 .271

Kemampuan Beradaptasi 1.000 .929

Daya Analitik 1.000 .798

Kemampuan Berorganisasi 1.000 .898

Berorientasi pada Detail 1.000 .672

Kepemimpinan 1.000 .904

Kepercayaan Diri 1.000 .957

Ramah 1.000 .961

Extraction Method: Principal Component Analysis.Communalities menunjukkan berapa varians yang dapat dijelaskan oleh faktor yang diekstrak (faktor yang terbentuk). Setiap variabel

berkorelasi dengan faktor-faktor yang terbentuk. Untuk variabel Kemampuan Berkomunikasi diperoleh nilai sebesar 0,938, artinya sekitar 93,8% variabel Kemampuan Berkomunikasi dapat dijelaskan oleh faktor yang terbentuk. Demikian halnya untuk variabel-variabel yang lain.

Tabel 7.

Total Variance Explained

Comp

onent

Initial Eigenvalues

Extraction Sums of Squared

Loadings

Total

% of

Variance

Cumulat

ive % Total

% of

Variance

Cumulat

ive %

1 4.972 38.250 38.250 4.972 38.250 38.250

2 2.795 21.500 59.749 2.795 21.500 59.749

3 2.117 16.288 76.037 2.117 16.288 76.037

4 1.124 8.643 84.680 1.124 8.643 84.680

5 .903 6.946 91.626

6 .680 5.231 96.857

7 .167 1.288 98.145

8 .118 .905 99.050

9 .048 .366 99.416

10 .030 .231 99.647

11 .022 .170 99.817

12 .013 .102 99.918

13 .011 .082 100.000

Extraction Method: Principal Component Analysis.

Page 173: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

173

Jika ada 13 variabel yang dilibatkan, maka akan ada 13 faktor (disebut juga component) yang diusulkan dalam analisis faktor. Setiap faktor mewakili variabel-variabel yang dianalisis. Kemampuan setiap faktor mewakili variabel-variabel yang dianalisis ditunjukkan olehbesarnya varians yang dijelaskan, yang disebut dengan eigenvalue. Varians yang dimaksud adalah varians variabel-variabel yang sudahdistandardisasi sehingga nilai rata-rata setiap variabel menjadi nol dan variansnya menjadi satu.

Eigenvalues menunjukkan kepentingan relatif masing-masing faktor dalam menghitung varians variabel yang dianalisis. Susunan eigenvalues selalu diurutkan dari yang terbesar sampai ke yang terkecil, dengan kriteria bahwa angka eigenvalues di bawah 1 tidak digunakan dalam menghitung jumlah faktor yang terbentuk.

Dari Tabel 7 di atas terlihat bahwa hanya empat faktor yang terbentuk, yaitu angka eigenvalues memiliki nilai di atas 1. Sedangkan untuk faktor lainnya, angka eigenvalues sudah di bawah 1. Sehingga proses factoring seharusnya berhenti pada empat faktor saja. Faktor 1 memiliki eigenvalue sebesar 4.972, artinya faktor 1 ini dapat menjelaskan 4.972 atau 38,250% dari total communalities.

Tabel 8.Component Matrixa

Component

1 2 3 4

Kemampuan Berkomunikasi .665 .448 -.199 -.505

Kejujuran/Integritas -.772 .567 .124 .036

Kemampuan Bekerja Sama .671 .440 -.215 -.427

Kemampuan Interpersonal .297 .553 -.645 .327

Beretika -.793 .559 .116 -.028

Motivasi/Inisiatif -.159 -.402 .129 .259

Kemampuan Beradaptasi -.788 .516 .146 -.146

Daya Analitik .624 .101 .631 -.007

Kemampuan Berorganisasi .561 .425 .493 .400

Berorientasi pada Detail .622 .216 .411 -.263

Kepemimpinan .495 .530 .506 .350

Kepercayaan Diri .364 .502 -.672 .348

Ramah -.807 .513 .174 -.126

Extraction Method: Principal Component Analysis.

a. 4 components extracted.

Tabel ini berisikan factor loading (nilai korelasi) antara variabel-variabel analisis dengan faktor yang terbentuk. Berdasarkan table di atas, terlihat bahwa ada empat faktor yang terbentuk dari variabel-variabel yang digunakan. Hal ini menunjukkan bahwa empat faktoradalah jumlah yang paling optimal untuk mereduksi ketiga belas variabel bebas tersebut.

Kita perlu mengannalisis lebih lanjut dengan cara melakukan proses analisis ulang dengan menggunakan variabel-variabel yang bernilai MSA > 0.05. Hasil yang diperoleh sebagai berikut:

KMO and Bartlett's Test

Kaiser-Meyer-Olkin Measure of Sampling Adequacy. .696

Bartlett's Test

of Sphericity

Approx. Chi-Square 288.223

df 28

Sig. .000

Page 174: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

174

Anti-image Matrices

Kemampuan Berkomunik

asiKejujuran/Integritas

Kemampuan Bekerja Sama Beretika

Kemampuan Beradaptasi

Daya Analitik

Kepercayaan Diri Ramah

Anti-image Covariance

Kemampuan Berkomunikasi .072 .000 -.066 -.008 -.021 -.049 .012 .017

Kejujuran/Integritas .000 .046 .006 -.033 .004 -.035 -.051 -.006

Kemampuan Bekerja Sama -.066 .006 .069 .008 .020 .019 -.050 -.019

Beretika -.008 -.033 .008 .039 .003 .018 .000 -.010

Kemampuan Beradaptasi -.021 .004 .020 .003 .053 .035 -.013 -.033

Daya Analitik -.049 -.035 .019 .018 .035 .695 .194 -.002

Kepercayaan Diri .012 -.051 -.050 .000 -.013 .194 .571 .041

Ramah .017 -.006 -.019 -.010 -.033 -.002 .041 .030

Anti-image Correlation

Kemampuan Berkomunikasi .550a -.008 -.938 -.152 -.344 -.218 .060 .371

Kejujuran/Integritas -.008 .786a .098 -.766 .073 -.197 -.312 -.171

Kemampuan Bekerja Sama -.938 .098 .544a .150 .328 .088 -.252 -.419

Beretika -.152 -.766 .150 .797a .077 .109 -.003 -.302

Kemampuan Beradaptasi -.344 .073 .328 .077 .742a .184 -.073 -.829

Daya Analitik -.218 -.197 .088 .109 .184 .721a .309 -.015

Kepercayaan Diri .060 -.312 -.252 -.003 -.073 .309 .547a .313

Ramah .371 -.171 -.419 -.302 -.829 -.015 .313 .707a

a. Measures of Sampling Adequacy(MSA)

Page 175: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Nilai KMO MSA untuk analisis yang kedua menjadi sebesar 0.696 dari yang semula 0.582. Nilai MSA mengalami kenaikan setelah variabel-variabel yang tidak memenuhi persyaratan dibuang. Berikut perbandingan nilai MSA proses awal dan proses kedua:

Variabel MSA Awal MSA LanjutKemampuan Berkomunikasi 0.644 0.550Kejujuran/Integritas 0.749 0.786Kemampuan Bekerja Sama 0.649 0.544Beretika 0.709 0.797Kemampuan Beradaptasi 0. 682 0.742Daya Analitik 0.524 0.721Kepercayaan Diri 0.502 0.547Ramah 0.674 0.707

Dari hasil analisis yang kita lakukan maka dapat disimpulkan bahwa variabel-variabel yang mempengaruhi penilaian Soft skills mahasiswa yaitu Kemampuan Berkomunikasi, Kejujuran/Integritas, Kemampuan Bekerja Sama, Beretika, Kemampuan Beradaptasi, Daya Analitik, Kepercayaan Diri dan Ramah.

Setelah kita mendapatkan faktor yang terbentuk melalui proses reduksi, maka kita perlu menarik persaman strukturalnya. Dengan persamannya tersebut, kita dapat menghitung pengaruh variabel bebas tersebut terhadap variabel bergantung untuk penilaian Soft skills mahasiswa secara manual. Untuk menghitung pengruh variable-variabel tersebut terhadap penilaian soft skills mahasiswa dapat digunakan teknik analisis jalur yang menggunakan model satu persamaan jalur. Berikut model diagram jalurnya.

Berdasarkan gambar diatas, dapat dibangun persamaan strukturalnya sebagai berikut:

= 1 + 2 + 3 + 4 + 5 + 6 + 6 + 7 + 8 +5. Kesimpulan

Berdasarkan hasil analisis, dapat disimpulkan bahwa metode Principal Component Analysis (PCA) terbukti dapat mengatasi masalah pelanggaran asumsi klasik multikolinearitas tanpa perlu membuang variabel bebas yang berkolinear tinggi. Sehingga setelah diperoleh variabel bebas baru dari hasil reduksi, kita dapat meramalkan pengaruh dari variabel bebas terhadap variabel tak beba. Dengan metode PCA, kita akan mendapatkan variabel bebas baru yang tidak berkorelasi, bebas satu sama lainnya, lebih sedikit jumlahnya daripada variabel asli, akan tetapi bisa menyerap sebagian besar informasi yang terkandung dalam variabel asli atau yang bisa memberikan kontribusi terhadap varian seluruh variabel yang kita miliki.

Daftar Pustaka

Ari Pujiati, Suhermin. Aplikasi PCA dalam Memonitor Kualitas Pelayanan.Hannawati, Anies dkk. Odor recognition dengan menggunakan principal Component analysis dan nearest neighbour classifier.

Universitas Kristen Petra. Surabaya.I Made Supartha Utama, dkk. Konsep Pengembangan Panduan Evaluasi Pengembangan Soft skills Mahasiswa Melalui Proses

Pembelajaran di Universitas Udayana. Universitas Udayana, Bali.Mahendra Bawono,Ganang. Penggunaan Praproses PCA Pada Algoritme VFI5. 2009. ITB, Bogor.Sarwono, Jonathan. Panduan Lengkap untuk Belajar Komputasi Statistik Menggunakan SPSS 16. 2009. Penerbit Andi, Yogyakarta.

PyX1

PyX2

PyX3

PyX4

PyX8

Y

Page 176: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

176

ALGORITMA PENILAIAN KINERJA BEBAN DOSEN MENGGUNAKAN METODE PRINCIPAL COMPONENT

ANALYSIS (PCA)Sukirman

Konsentrasi Teknik InformatikaProgram Studi Teknik Elektro

Pasca sarjana Universitas Hasanuddin

[email protected]

Athirah Gassing

Konsentrasi Teknik InformatikaProgram Studi Teknik Elektro

Pasca sarjana Universitas Hasanuddin

[email protected]

ABSTRAKDosen merupakan sumber daya atau unsur penunjang

penyelenggaraan program pendidikan. Dewasa ini, dosen merupakan unsur yang akan mempengaruhi proses pembelajaran karena fungsinya sangat strategis untuk meningkatkan kualitas sumber daya manusia (mahasiswa). Di berbagai universitas, telah diterapkan beberapa peraturan dan standar kinerja dosen untuk tetap menjamin mutu pendidikannya. Evaluasi kinerja beban dosen dengan mengidentifikasi, mengukur, melaporkan, menganalisis dan memberikan feedback atas kinerja dosen selama periode waktu tertentu.

Sistem yang telah didesain menerapkan metode principal component analysis (PCA) untuk mereduksi jumlah data yang berdimensi besar. Hasil reduksi ini akan menjadi input sistem pengenalan. Data yang dihasilkan dapat mempengaruhi kinerja beban dosen.Keyword: principal component analysis, dosen.

6. PendahuluanDosen adalah salah satu komponen esensial dalam suatu

sistem pendidikan di perguruan tinggi. Peran, tugas, dan tanggungjawab dosen sangat penting dalam mewujudkan tujuan pendidikan nasional, yaitu mencerdaskan kehidupan bangsa, meningkatkan kualitas manusia Indonesia, yang meliputi kualitas iman/takwa, akhlak mulia, dan penguasaan ilmu pengetahuan, teknologi, dan seni, serta mewujudkan masyarakat Indonesia yang maju, adil, makmur, dan beradab. Untuk melaksanakan fungsi, peran, dan kedudukan yang sangat strategis tersebut, diperlukan dosen yang profesional.

Penilaian kinerja beban dosen diklasifikasi menjadi berbagai macam kegunaan. Hal ini menunjang keingintahuan pihak dosen dan universitas tentang kinerja dosen untuk waktu tertentu. Penilaian terhadap kinerja dosen dengan tolak ukur kehadiran dan jumlah SKS yang diajarkan akan diolah dengan menggunakan principal component analysis (PCA) .

Tugas utama dosen adalah melaksanakan tridharma perguruan tinggi dengan beban kerja paling sedikit sepadan dengan 12 (dua belas) sks dan paling banyak 16 (enam belas) sks pada setiap semester sesuai dengan kualifikasi akademik. Sedangkan profesor atau guru besar adalah dosen dengan jabatan akademik tertinggi pada satuan pendidikan tinggi dan mempunyai tugas khusus menulis buku dan karya ilmiah serta menyebarkan luaskan gagasannya untuk mencerahkan masyarakat.

1.1 Rumusan MasalahBerdasarkan paparan yang telah dijelaskan di atas, maka

dapat dirumuskan masalah sebagai berikut : a. Apakah metode Principal Component Analysis (PCA) dapat

digunakan untuk mengatasi masalah pelanggaran asumsi klasik multikolinearitas tanpa perlu membuang variabel bebas yang berkolinear tinggi

b. Bagaimana prosedur kerja Principal Component Analysis(PCA) dalam penanggulangan masalah multikolinearitas variable dengan metode

1.2 Tujuan MasalahDari rumusan masalah di atas, maka dapat disimpulkan tujuan masalah sebagai berikut :

a. Membuktikan apakah metode Principal Component Analysis(PCA) dapat digunakan untuk mengatasi masalah pelanggaran asumsi klasik multikolinearitas tanpa perlu membuang variabel bebas yang berkolinear tinggi

b. Mengetahui prosedur kerja Principal Component Analysis(PCA) dalam penanggulangan masalah multikolinearitas variable dengan metode

7. Landasan Teori7.1. PengertianPrincipal Component Analysis

(PCA)Principal Component Analysis (PCA) adalah sebuah teknik

untuk membangun variabel-variabel baru yang merupakan kombinasi linear dari variabel-variabel asli. Jumlah maximum dari variabel-variabel baru ini akan sama dengan jumlah dari variabel lama, dan variabel-variabel baru ini tidak saling berkorelasi satu sama lain.

Prosedur PCA pada dasarnya adalah bertujuan untuk menyederhanakan variabel yang diamati dengan cara menyusutkan (mereduksi) dimensinya. Penyusutan dilakukan dengan melihat interdepedensi beberapa variabel yang dapat dijadikan satu sehingga ditemukan variabel-variabel faktor yang dominan atau penting untuk dianalisis lebih lanjut. Hal ini dilakukan dengan cara menghilangkan korelasi diantara variabel bebas melalui transformasi variabel bebas asal ke variabel baru yang tidak berkorelasi sama sekali atau yang biasa disebut dengan principal component.

Page 177: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

177

7.2. Algoritma Metode PCAData masukan pada metode PCA dinyatakan dalam matriks

X.

= ⋯⋮ ⋱ ⋮⋯Salah satu pendekatan yang digunakan dalam penskalaan

input adalah dengan normalisasi, sehingga input ini selalu berada dalam rentang tertentu. Normalisasi dapat dilakukan dengan cara mengurangi nilai data dengan rataannya dan dibagi standar deviasinya.

= 1 ,

= 1 ( − )= ( − )/

Misalkan matriks sebagai berikut:

=Maka

= 1 , = + +3 = 1 , = + +3 = 1 , = + +3

Hasil dari normalisasi ini adalah suatu data dengan nilai rataan nol dan standar deviasi sama dengan satu.

Dari matriks input tersebut, dihitung matriks kovarian S dengan menggunakan persamaan := ∗Dimana adalah transpose matriks X.

= , sedemikian sehingga diperoleh

= ∗= + + + + + ++ + + + + ++ + + + + +

=Setelah diperoleh matriks kovarian ini, ditentukan nilai

eigen,eigen vektor dan serta proporsi yang akan digunakan dalam PCA. Vektor eigen dan nilai eigen dicari dengan menggunakan persamaan berikut : =Dimana, | − | = 0dengan adalah eigenvalue dan Q adalah eigenvector.Dari persamaan diatas dapat diperoleh

| − | = − 1 0 00 1 00 0 1= − − − = 0

( − )( − )( − ) + + − ( − ) − ( − )− ( − ) = 0

Dengan menyelesaikan persamaan diatas akan diperoleh nilai , , yang merupakan nilai eigen (eigenvalue). Setelah nilai eigen diperoleh maka kita dapat menentukan vektor eigen matriks X tersebut dengan mensubtitusi tiap-tiap nilai eigen yang diperoleh. Untuk maka

= 0 00 00 0 = 0Sehingga akan diperoleh vektor eigen dari A yang

bersesuaian dengan . Hal yang sama juga dilakukan untuk , , .Dari persamaan tersebut didapatkan nilai eigen yang terurut

dari yang besar (largest point) hingga ke yang kecil (smallest point). Selanjutnya, mencari Feature atau Principal Componentdengan mentransformasi data set ke dalam ruang eigen dengan menggunakan persamaan berikut:

= ( − )Setelah Principal Component diperoleh selanjutnya akan

diamati proporsi varian yang dapat dijelaskan oleh masing-masing PC serta variabel yang mendominasi masing-masing PC. Pengamatan ini dilakukan untuk menentukan berapa jumlah feature atau principal component yang dianggap cukup untuk mewakili data asli. Penentuan proporsi dari nilai yang diambil dapat dihitung dengan menggunakan (m) vektor eigen yang bersesuaian dengan (p) nilai eigen dengan persamaan berikut :

= [∑ ]∑

Proporsi ini berguna untuk menentukan besarnya komponen utama yang digunakan.

2.3 Penilaian Kinerja Beban DosenPada penulisan ini, akan dibahas mengenai penilaian kinerja

beban dosen dengan komponen penilaian sebagai berikut:

Tabel 1. Komponen penilaian Kinerja Beban Dosen

No Komponen PenilaianSkor Penilaian

1 Jumlah SKS2 Jumlah Kehadiran3 Ketepatan Pengumpulan Soal Ujian4 Ketepatan Penginputan Nilai5 Kegiatan Penelitian Ilmiah6 Pengabdian Kepada Masyarakat

Berdasarkan asumsi, penilaian kinerja beban dosen bergantung pada komponen-komponen kinerja beban dosen pada Tabel 1. Adapun data penilaian untuk tiap komponen sebagai berikut.

Tabel 2. Daftar Bobot Variabel

Keterangan nilai

BOBOT NILAI VARIABELPengumpulan

SoalPengimputan

nilaiKegiatan

IlmiaPengapdian Masyarakat

Sangat Baik 4 4 4 4

Baik 3 3 3 3

Cukup 2 2 2 2

Kurang 1 1 1 1

8. Implementasi PCA Pada Penilaian Kinerja beban dosen

3.1 Pengujian Korelasi antar variabelUntuk mengetahui komponen-komponen mana saja yang

berpengaruh dan yang tidak berpengaruh perlu dilakukan analisis dengan mengunakan teknik PCA. Untuk itu dilakukan kinerja beban dosen dalam kelas A yang berjumlah 10 sample, dengan menggunakan komponen-komponen kinerja dosen pada Tabel 1. Data-data tersebut dinyatakan dalam Table 3.

Page 178: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

178

Table 3. Data Kinerja Beban Dosen

No SKS KehadiranPengumpulan

SoalPengumpulan

NilaiKegiatan Penelitian

Pengabdian Masyarakat

1 2 16 4 4 3 3

2 2 16 4 3 2 4

3 2 15 3 3 4 3

4 2 15 4 4 4 3

5 2 16 3 3 3 4

6 3 15 4 3 4 2

7 3 14 2 2 4 2

8 2 14 2 2 4 3

9 3 15 4 4 4 4

10 3 16 3 4 3 3

Dari data tersebut, kita ingin mengetahui apakah ada pelanggaran multikolinearitas yaitu ada variabel yang berkorelasi kuat dengan variabel lainnya. Jika terdapat variabel-variabel yang bersifat multikolinearitas atau dengan kata lain ada variabel yang saling bergantung dengan variabel lainnya maka akan ditanggulangi dengan menggunakakan teknik PCA.

Dengan menggunakan Software SPSS 17 diperoleh nilai-nilai korelasi antar variabel-variabel tersebut. Dari Tabel 4. menunjukkan bahwa terdapat beberapa variabel yang saling bekorelasi sangat kuat ataupun kuat. Korelasi antara “Jumlah SKS” dan “Kepercayaan Diri” menunjukkan angka sebesar 0.851, angka ini menunjukkan adanya korelasi yang sangat kuat. Begitu pun antar “Kejujuran/Integritas” dan “Beretika” menunjukkan angka 0.910 yang juga menunjukkan adanya korelasi yang sangat kuat. Dan seterusnya pada beberapa vairabel lainnya.

Dengan melakukan uji Hipotesis dapat diketahui apakah angka korelasi tersebut signifikan atau tidak. Dengan mengambil H0: Hubungan antara variabel tidak signifikan dan H1: Hubungan antara variabel signifikan maka kita dapat menarik kesimpulan. Pada Table 4. terlihat angka probabilitas hubungan antara “Kemampuan Bekomunikasi” dan “Kepercayaan Diri” sebesar 0.00 (0.00 < 0.01).

Jadi, dapat disimpulkan H0 ditolak dan H1 diteima artinya hubungan kedua variabel tesebut sangat kuat dan signifikan. Begitu pula pada beberapa variabel lainnya. Dengan adanya nilai korelasi yang tinggi tersebut maka kita dapat menduga adanya pelanggaran asumsi klasik multikolinearitas pada data tersebut..

Page 179: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

179

Tabel 4.Correlations

Jumlah SKS Jumlah Kehadiran

Pengumpulan Soal

UjianPenginputan

Nilai

Kegiatan Penelitian

Ilmiah

Pengabdian Kepada

Masyarakat

Jumlah SKS Pearson Correlation

1 -.218 -.052 .055 .304 -.408

Sig. (2-tailed) .545 .886 .881 .393 .242

N 10 10 10 10 10 10

Jumlah Kehadiran

Pearson Correlation

-.218 1 .582 .643* -.797** .535

Sig. (2-tailed) .545 .078 .045 .006 .111

N 10 10 10 10 10 10

Pengumpulan Soal Ujian

Pearson Correlation

-.052 .582 1 .753* -.286 .311

Sig. (2-tailed) .886 .078 .012 .423 .382

N 10 10 10 10 10 10

Penginputan Nilai

Pearson Correlation

.055 .643* .753* 1 -.199 .344

Sig. (2-tailed) .881 .045 .012 .581 .331

N 10 10 10 10 10 10

Kegiatan Penelitian Ilmiah

Pearson Correlation

.304 -.797** -.286 -.199 1 -.532

Sig. (2-tailed) .393 .006 .423 .581 .113

N 10 10 10 10 10 10

Pengabdian Kepada Masyarakat

Pearson Correlation

-.408 .535 .311 .344 -.532 1

Sig. (2-tailed) .242 .111 .382 .331 .113

N 10 10 10 10 10 10

*. Correlation is significant at the 0.05 level (2-tailed).

**. Correlation is significant at the 0.01 level (2-tailed).

Page 180: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

180

3.2 Penanggulangan MultikolinearitasKarena pada pengujian sebelumnya telah menunjukkan bahwa terdapat permasalahan multikolinearitas dalam data tersebut, maka

dilakukan penanggulangan untuk mengatasi masalah multikolinearitas tersebut. Dalam hal ini kita menggunakan teknik Principal Component Analysis (PCA) untuk mengatasi multikolinearitas. Teknik PCA pada dasarnya bertujuan untuk menyederhanakan variabel yang diamati dengan cara menyusutkan (mereduksi) dimensinya. Hal ini dilakukan dengan cara menghilangkan korelasi diantara variabel bebas melalui transformasi variabel bebas asal ke variabel baru yang tidak berkorelasi sama sekali.

Dengan menggunakan Software SPSS 17, kita akan melakukan langkah-langkah algoritma PCA yang telah dijelaskan pada bagian 2.2 untuk mereduksi variabel – variabel bebas yang berkorelasi tinggi sehingga kita dapat menilai variabel mana saja yang benar – benar dianggap layak untuk dimasukkan dalam analisis selanjutnya.

Tabel 5.

KMO and Bartlett's Test

Kaiser-Meyer-Olkin Measure of Sampling Adequacy. .583

Bartlett's Test

of Sphericity

Approx. Chi-Square 22.99

df 15

Sig. .084

Untuk melakukan penganalisaan dengan menggunakan analisis faktor ini, persyaratan yang harus dipenuhi ialah angka Measure of Sampling Adequacy (MSA) harus di atas 0.5, dengan menggunakan uji Kaiser-Meyer-Olkin dan Bartlett’s Test. Jika MSA yang diperoleh di atas 0.5 maka uji ini layak digunakan. Selanjutnya, Barlett Test digunakan untuk menguji apakah betul variabel-variabel bebas yang dilibatkan berkorelasi. Jika probabilitas (Sig) lebih kecil daripada 0.05 maka variabel dapat dianalisis lebih lanjut karena terdapat korelasi antarvariabel bebas dan sebaliknya jika probabilitas (sig) lebih besar daripada 0.05 maka variabel tidak dapat dianalisis lebih lanjut.

Berdasarkan hasil perhitungan pada Tabel 5 terlihat bahwa nilai KMO MSA sebesar 0.583. Nilai Chi-Square adalah 22.990, dengan derajat bebas sebesar 15 dan signifikansi 0.084. Nilai 0.590 berada di atas 0.5 dan nilai signifikansi 0.084 lebih kecil daripada 0.05, maka variabel dan data yang digunakan dapat terus dianalisis lebih lanjut dan terdapat kolerasi antarvariabel bebas.

Selanjutnya kita perhatikan bagian Anti-Image Correlation pada Tabel 6. Besarnya angka MSA ialah antara 0-1, dengan kriteria sebagai berikut:d. Jika MSA = 1 maka variabel tersebut dapat diprediksi tanpa kesalahan oleh variabel laine. Jika MSA ≥ 0.05 maka variabel tersebut masih dapat diprediksi dan dapat dianalisis lebih lanjutf. Jika MSA < 0.05 maka variabel tersebut tidak dapat diprediksi dan tidak dapat dianalisis lebih lanjut sehingga variabel tersebut harus

dibuang atau dikeluarkan.

Jumlah SKSJumlah

KehadiranPengumpulan Soal Ujian

Penginputan Nilai

Kegiatan Penelitian

Ilmiah

Pengabdian Kepada

Masyarakat

Anti-image Covariance

Jumlah SKS .760 .037 .053 -.099 .020 .241

Jumlah Kehadiran .037 .119 .000 -.108 .126 .020

Pengumpulan Soal Ujian .053 .000 .410 -.155 .026 .028

Penginputan Nilai -.099 -.108 -.155 .208 -.121 -.087

Kegiatan Penelitian Ilmiah .020 .126 .026 -.121 .180 .091

Pengabdian Kepada Masyarakat

.241 .020 .028 -.087 .091 .568

Anti-image Correlation

Jumlah SKS .583a .123 .095 -.248 .054 .367

Jumlah Kehadiran .123 .584a .000 -.685 .858 .076

Pengumpulan Soal Ujian .095 .000 .782a -.531 .095 .059

Penginputan Nilai -.248 -.685 -.531 .473a -.626 -.253

Kegiatan Penelitian Ilmiah .054 .858 .095 -.626 .481a .284

Pengabdian Kepada Masyarakat

.367 .076 .059 -.253 .284 .767a

a. Measures of Sampling Adequacy(MSA)

Page 181: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

181

Tabel 6Anti-image Matrices

Hasil analisis pada Tabel 6 menunjukkan nilai-nilai variabel yang diteliti sebagai berikut:

n. jumlah sks = 0.583o. Jumlah Kehadira = 0.584p. Pengumpulan soal Ujian = 0.782q. Pengimputan Nilai = 0.473r. Kegiatan Penelitian ilmia = 0.481s. Pengapdian Masyarakat = 0.767

Dari analisis di atas, maka variabel-variabel yang mempunyai MSA > 0.05 yaitu: Jumlah sks, Jumlah kehadiran, Pengumpulan soal Ujian, Pengumpulan Nilai, kegiatan Penelitian Ilmia, Pengapdian Masyarakat.

Tabel 7.

Communalities

Initial Extraction

Jumlah SKS 1.000 .630

Jumlah Kehadiran 1.000 .855

Pengumpulan Soal Ujian 1.000 .778

Penginputan Nilai 1.000 .861

Kegiatan Penelitian Ilmiah

1.000 .708

Pengabdian Kepada Masyarakat

1.000 .646

Extraction Method: Principal Component Analysis.

Communalities menunjukkan berapa varians yang dapat dijelaskan oleh factor yang diekstrak (factor yang terbentuk). Setiap variabel berkorelasi dengan faktor-faktor yang terbentuk.Untuk variabel Jumlah SKS diperoleh nilai sebesar 0,630, artinya sekitar 63% variabel jumlah SKS dapat dijelaskan oleh faktor yang terbentuk. Demikian halnya untuk variabel-variabel yang lain.

Tabel 8.Total Variance Explained

Component

Initial EigenvaluesExtraction Sums of Squared Loadings

Total

% of Varianc

e

Cumulative

% Total

% of Varianc

eCumulati

ve %

1 3.104 51.731 51.731

3.104 51.731 51.731

2 1.375 22.911 74.643

1.375 22.911 74.643

3 .719 11.985 86.627

4 .481 8.016 94.644

5 .258 4.308 98.951

6 .063 1.049 100.000

Extraction Method: Principal Component Analysis.

Jika ada 13 variabel yang dilibatkan, maka akan ada 13 faktor (disebut juga component) yang diusulkan dalam analisis factor. Setiap factor mewakili variable-variabel yang dianalisis. Kemampuan setiap factor mewakili variabel-variabel yangdianalisis ditunjukkan oleh besarnya varians yang dijelaskan, yang disebut dengan eigenvalue. Varians yang dimaksud adalah varians variabel-variabel yang sudah distandardisasi sehingganilai rata-rata setiap variabel menjadi nol dan variansnya menjadi satu.

Eigenvalues menunjukkan kepentingan relatif masing-masing factor dalam menghitung varians ketiga variabel yang dianalisis. Susunan eigenvalues selalu diurutkan dari yang terbesar sampai ke yang terkecil, dengan kriteria bahwa angka eigenvalues di bawah 1 tidak digunakan dalam menghitung jumlah faktor yangterbentuk.

Dari Tabel 8 di atas terlihat bahwa hanya empat factor yang terbentuk, yaitu angka eigenvalues memiliki nilai di atas 1. Sedangkan untuk faktor lainnya, angka eigenvalues sudah di bawah 1. Sehingga proses factoring seharusnya berhenti pada empat faktor saja. Faktor 1 memiliki eigenvalue sebesar 4.972, artinya faktor 1 ini dapat menjelaskan 3.104 atau 51,731% dari total communalities.

Tabel 9.

Component Matrixa

Component

1 2

Jumlah SKS -.343 .716

Jumlah Kehadiran .924 .013

Pengumpulan Soal Ujian .731 .494

Penginputan Nilai .723 .582

Kegiatan Penelitian Ilmiah -.749 .384

Pengabdian Kepada

Masyarakat

.717 -.364

Extraction Method: Principal Component Analysis.

a. 2 components extracted.Tabel ini berisikan factor loading (nilai korelasi) antara

variabel-variabel analisis dengan faktor yang terbentuk. Berdasarkan di atas, terlihat bahwa ada empat faktor yang terbentuk dari variabel-variabel yang digunakan. Hal ini menunjukkan bahwa empat faktor adalah jumlah yang paling optimal untuk mereduksi ketiga belas variabel bebas tersebut.

Kita perlu mengannalisis lebih lanjut dengan cara melakukan proses analisis ulang dengan menggunakan variabel-variabel yang bernilai MSA > 0.05. Hasil yang diperoleh sebagai berikut:

Tabel 10.

KMO and Bartlett's Test

Kaiser-Meyer-Olkin Measure of Sampling Adequacy. .619

Bartlett's

Test of

Sphericity

Approx. Chi-Square 6.437

df 6

Sig. .376

Page 182: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

182

Tabel 11.Anti-image Matrices

Jumlah SKSJumlah

KehadiranPengumpulan

Soal Ujian

Pengabdian Kepada

Masyarakat

Anti-image Covariance Jumlah SKS .825 .034 -.074 .255

Jumlah Kehadiran .034 .522 -.304 -.233

Pengumpulan Soal Ujian -.074 -.304 .655 -.023

Pengabdian Kepada Masyarakat

.255 -.233 -.023 .624

Anti-image Correlation Jumlah SKS .610a .052 -.101 .355

Jumlah Kehadiran .052 .605a -.519 -.409

Pengumpulan Soal Ujian -.101 -.519 .609a -.036

Pengabdian Kepada Masyarakat

.355 -.409 -.036 .651a

a. Measures of Sampling Adequacy(MSA)

Nilai KMO MSA untuk analisis yang kedua menjadi sebesar 0.619 dari yang semula 0.583. Nilai MSA mengalami kenaikan setelah 182ariable-variabel yang tidak memenuhi persyaratan dibuang. Berikut perbandingan nilai MSA proses awal dan proses kedua:

Tabel 12. Daftar Variabel Kinerja Beban DosenVariabel MSA Awal MSA LanjutJumlah SKSJumlah KehadiranPengumpulan Soal UjianPenginputan NilaiKegiatan PenelitianPengabdian Masyarakat

Dari hasil analisis yang kita lakukan maka dapat disimpulkan bahwa variabel-variabel yang mempengaruhi penilaian kinerja beban dosen yaitu jumlah SKS, jumlah kehadiran, pengumpulan soal ujian, penginputan nilai, kegiatan penelitian, dan pengabdian masyarakat.

Setelah kita mendapatkan faktor yang terbentuk melalui proses reduksi, maka kita perlu menarik persaman strukturalnya. Dengan persamannya tersebut, kita dapat menghitung pengaruh variabel bebas tersebut terhadap variabel bergantung penilaian kinerja beban dosen secara manual.

9. KesimpulanBerdasarkan hasil analisis, dapat disimpulkan sebagai berikut :1. Metode Principal Component Analysis (PCA) terbukti dapat

mengatasi masalah pelanggaran asumsi klasik multikolinearitas tanpa perlu membuang variabel bebas yang berkolinear tinggi. Sehingga setelah diperoleh variabel bebas baru dari hasil reduksi, kita dapat meramalkan pengaruh dari variabel bebas terhadap variabel tak beba. Dengan metode PCA, kita akan mendapatkan variabel bebas baru yang tidak berkorelasi, bebas satu sama lainnya, lebih sedikit jumlahnya daripada variabel asli, akan tetapi bisa menyerap sebagian besar informasi yang terkandung dalam variabel asli atau yang bisa memberikan kontribusi terhadap varian seluruh variable yang kita miliki.

2. Dalam mengatasi masalah pelanggaran asumsi klasik multikolinearitas dalam PCA ada 4 tahapan yang di gunaka yaitu mencari nilai rata-rata,nilai covariance, eigenvalue dan eigenvector, dan feature principal component.

Daftar PustakaAri Pujiati, Suhermin. Aplikasi PCA dalam Memonitor Kualitas

Pelayanan.Hannawati, Anies dkk. Odor recognition dengan menggunakan

principal Component analysis dan nearest neighbour classifier. Universitas Kristen Petra. Surabaya.

Mahendra Bawono,Ganang. Penggunaan Praproses PCA Pada Algoritme VFI5. 2009. ITB, Bogor.

Soemantri. 2008. Principal Component Analysis (PCA) Sebagai Salah Satu Metode Untuk Mengatasi Masalah Multikolinearitas. Universitas Padjajaran, Bandun

Page 183: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

183

PSO

Page 184: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

184

OPTIMASI WAKTU PEMBANGUNAN PERUMAHAN SUATU TIPE RUMAH MENGGUNAKAN ALGORITMA

PARTICLE SWARM OPTIMIZATION

Irmawati PangerangTeknik Informatika Universtitas HasanuddinJln. Perintis Kemerdekaan Km.11 Makassar

[email protected]

Syamsu AlamTeknik Informatika Universtitas HasanuddinJln. Perintis Kemerdekaan Km.11 Makassar

[email protected]

ABSTRAK

Kebutuhan akan suatu teknik untuk memperoleh kecepatan dalam menyelesaikan suatu masalah adalah sesuatu yang sangat penting. Hal tersebut dapat dilihat pada berbagai bentuk masalah dewasa ini seperti misalnya masalah pembangunan perumahan. Yang tentunya memerlukan suatu teknik untuk dapat mengoptimalkan proses pembangunan tersebut, dimana bukan hanya mempengaruhi waktu yang diperlukan untuk membangun tapi juga mempengaruhi biaya secara keseluruhan.

Dalam konteks optimasi multivariabel, kawanan diasumsikan mempunyai ukuran tertentu atau tetap dengan setiap partikel posisi awalnya terletak di suatu lokasi yang acak dalam ruang multidimensi. Setiap partikel bergerak dalam ruang/space tertentu dan mengingat posisi terbaik yang pernah dilalui. Setiappartikel menyampaikan informasi atau posisi bagusnya kepada partikel yang lain dan menyesuaikan posisi dan kecepatan masing-masing berdasarkan informasi yang diterima mengenai posisi yang bagus tersebut. Sebagai contoh, misalnya perilaku burung-burung dalam dalam kawanan burung.

Kata kunci : particle swarm optimization

1. PENDAHULUAN

Keberhasilan pembangunan di Indonesia selama beberapa

dasawarsa terakhir telah meletakkan dasar-dasar pembangunan di

segala bidang yang akan dilaksanakan pada tahun-tahun

berikutnya. Salah satu akibatnya adalah adanya konsekuensi

dalam hal penyediaan lahan perumahan serta kecepatan

pembangunan perumahan tersebut yang tidak dapat dielakkan

akibat pertumbuhan jumlah penduduk yang sangat pesat

Optimasi dalam proses pembangunan suatu perumahan

merupakan hal yang sangat penting. Ada beberapa faktor yang

akan dipengaruhi secara langsung apabila masalah ini tidak

tertangani dengan baik, diantaranya faktor lamanya

pembangunan, biaya pembangunan secara keseluruhan dan tentu

saja kredibilitas pengembang atau developer dalam menyediakan

perumahan sesuai dengan kontrak waktu yang telah disepakati.

Pada dasarnya, latar belakang dari pembuatan makalah ini

adalah bagaimana cara untuk menerapkan algoritma Particle

Swarm Optimization untuk mencari nilai optimal kecepatan

pembangunan perumahan suatu tipe rumah.

Hal lain penyebab perlunya optimisasi adalah untuk

memungkinkan keuntungan sebesar-besarnya bagi pengembang

atau developer tanpa mengesampingkan kelayakan huni bagi

masyarakat. Sebab dengan keuntungan yang besar bagi

developer, secara tidak langsung membuka peluang bagi proyek-

proyek lainnya untuk dilaksanakan dan juga memberikan energi

posistif bagi pengembang lainnya. Semakin banyak proyek

perumahan yang terlaksana, semakin memperluas kesempatan

kerja bagi banyak orang.

Berbicara mengenai Particle Swarm Optimization (PSO)

yaitu berbicara mengenai kerumunan atau gerombolan partikel,

secara nyata dapat terlihat pada contoh kerumunan orang dalam

membangun perumahan dalam hal ini pekerja pembangunan.

Untuk itu, pada paper ini ditampilkan mencari nilai optimal

pembangunan perumahan suatu tipe rumah dengan menggunakan

metode Particle Swarm Optimization (PSO).

2. LANDASAN TEORI PARTICLE SWARM

OPTIMIZATION

Terinspirasi oleh perilaku sekelompok burung yang terbang

dan bergerak mencari makanan, Dr. Erberhart dan Dr. Kennedy di

tahun 1995 mencetuskan Particle Swarm Optimization (PSO).

Tidak begitu jauh berbeda dengan teknik komputasi evolusioner

yang telah ada, GA (genetic algorithms). PSO terinisialisasi

bersama sebuah populasi dari sebuah solusi acak dan pencarian

nilai optimal dengan cara meng-update generasi.

Swarm intelligence mempelajari perilaku kolektif dari agen

dalam suatu kelompok saat berinteraksi dengan lingkungannya.

Tidak ada kontrol terpusat yang mengatur para agen tadi,

melainkan semua agen atau beberapa agen menjadi bergantung

pada struktur dari agen-agen tetangganya yang berdekatan dan

pada desain algoritma yang ekivalen, lalu agen-agen tadi saling

bertukar informasi untuk kemudian bekerjasama dan

menghasilkan suatu perilaku berkelompok.

Untuk lebih mudahnya, diumpamakan pada sekelompok

burung yang terbang secara acak atau random untuk mencari

makanan di suatu area. Hanya ada satu buah makanan pada area

itu yang dicari. Semua burung (agen) tidak tahu dimana letak

makanan itu. Tetapi mereka tahu seberapa jauh makanan itu

dalam tiap-tiap iterasinya. Jadi, apa strategi terbaiknya untuk

menemukan makanan tadi? Yang efektif adalah mengikuti burung

(agen) yang terdekat dengan makanan. Dalam PSO, kumpulan

partikel (disebut juga “swarm”) bergerak mengelilingi dalam

Page 185: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

185

search space mencari solusi terbaik untuk suatu permasalahan

optimasi.

Namun, meskipun setiap burung mempunyai keterbatasan

dalam hal kecerdasan, biasanya ia akan mengikuti kebiasaan

(rule) seperti berikut :

1. Seekor burung tidak berada terlalu dekat dengan burung

yang lain

2. Burung tersebut akan mengarahkan terbangnya ke arah rata-

rata keseluruhan burung.

3. Akan memposisikan diri dengan rata-rata posisi burung yang

lain dengan menjaga sehingga jarak antar burung dalam

kawanan itu tidak terlalu jauh

Semua partikel memiliki kecepatan masing-masing yang

mengarahkan partikel tersebut kearah mereka bergerak.

Kecepatan ini terpengaruh oleh posisi dari partikel yang memiliki

fitness terbaik dan tiap-tiap fitness partikel itu sendiri. Fitness

yang dimaksud adalah seberapa baik partikel itu perform. Jika

diandaikan pada sekelompok burung, yaitu seberapa dekat burung

kepada sumber makanan yang dicari, dalam algoritma optimasi

ini menunjukkan kedekatan partikel kepada optimal.

PSO belajar dari sebuah skenario yang ada dan

menggunakannya untuk memecahkan permasalahan optimasi.

Dalam PSO, tiap-tiap solusi tunggal diumpamakan sebagai

“burung” dalam suatu ruang pencarian. Ini yang dikenal dengan

sebutan partikel. Semua partikel memiliki nilai fitness (solusi

terbaik) yang semuanya dievaluasi oleh fungsi fitness agar

menjadi optimal. Selain itu, semua partikel juga memiliki

kecepatan. Partikel- partikel itu terbang melalui ruang

permasalahan dengan cara mengikuti partikel yang memiliki nilai

optimal.

Terdapat tiga jenis nilai(value) dalam PSO, yaitu:

1. pbest, yaitu solusi terbaik (fitness) yang telah dimiliki (nilai

fitness juga tersimpan).

2. gbest, merupakan nilai terbaik yang dikandung pada setiap

partikel dalam populasi. Dalam setiap iterasinya, tiap-tiap

partikel diupdate berdasarkan dua nilai diatas yang disebut

juga nilai“terbaik” .

3. lbest, yakni ketika partikel ambil bagian dalam suatu

populasi sebagai tetangga secara topologi.

Pada intinya PSO adalah membahas potensi pergerakan

setiap anggota populasi yang berdasarkan pada metoda optimasi

dan setiap potensi penyelesaian mencapai pergerakan optimum

dari sebuah partikel. Dalam suatu dimensi ruang partikel

sebanyak himpunan ruang anggota, misalkan N permasalahan

sebuah partikel dipresentasi sebagai berikut :

X=[x1,x2,…..xN]

Artinya, pergerakan dalam kerumunan potensi populasi

tersebut setiap anggota populasi kerumunan mempunyai potensi

pergerakan masing-masing dimana setiap x adalah angota

populasi. Setiap partikel memiliki keadaan berupa posisi awal,

potensi kecepatan dan nilai awal objeknya yang dapat diuji

dengan menggunakan sebuah fungsi objek. Fungsi kecepatan

sebagai berikut :

Vi (t+1) =w * vi(t) + c1 * r1* (pBLS – Pi(t)) + c2*r2 *

pBGS - Pi(t))

Rumus ini dibacanya Fungsi kecepatan v pada parameter fungsi v

di t+1 dapat dihitung dengan nilai keadaan nilai w dikalikan

dengan fungsi awal iterasi v pada t ditambah dengan nilai c1

dikalikan r1 dikalikan niliai pBLS dikurangi fungsi posisi niliai p

awal iterasi ke I pada nilia t iterasi dijumlah dengan c2 dikalikan

r2 dikalikan nilai pBGS dikurangi nilai fungsi p ke I pada nilai t .

Jadi nilai posisi iterasi ke i pada fungsi p selalu berubah dan

setiap iterasi nilia p tidak sama untuk mencapai iterasi ke i

berikutnya.

Lambang “i” disini adalah banyaknya iterasi atau

pengulangan dari pergerakan swarm yang dilakukan hinga

mencapai nilai goal yang dituju. Pengulangan inilah yang akan

memberikan perubahan nilai fungsi kecepatan v sehingga

mencapai mencapai nilai optimum.

Sekarang kita tentukan jarak pergerakan partikel dari awal

untuk menentukan capain tujuan. Pergerakan setiap partikel dapat

dilihat sebagai koordinat dua dimensi.

Nilai c1 dan c2 sebagai data training yang harus dikenali

oleh mesin. Nilai c1 adalah nilai kognitif ini adalah nilai

pengetahuan awal dari setiap partikel untuk membaca situasi

sosial lingkungannya, mana yang paling mudah baginya untuk

mencapai hindaran kerumumnan dan untuk mencapai goal yang

paling cepat. Sedangkan Nilai c2 adalah nilai keadaan awal dari

interaksi partikel terhasil interaksi sosial partikel yang lain

sebagai kerumunan person yang menjadi hambatan.

Perubahan nilai posisi p dapat dihitung dengan rumus :

Pi(t+1) = Pi(t) +vi(t+1)

Jadi masukan nilai posisi p ke iterasi I berikutnya kedalam fungsi

v(t+1) sebelumnya.

Arti lambang dalam rumus :

t itu adalah nilai potensi partikel himpunan partikel swarm

yang menjadi populasinya. Ini tergantung dari simulasi yang

akan dibuat

Vi adalah kecepatan awal pada saat nilai (i – P) atau

kecepatan pada posisi awal

w adalah bobot dari partikel pada awal pergerakan

sebelumnya

c1 dan c2 adalah nilai parameter kognitif dan sosial yang

mempengarahui keadaaan nilai.

Page 186: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

186

pBLS yaitu posisi terbaik partikel yang sudah tercapai

sebelumnya

pBGS adalah posisi terbaik secara keseluruhan yang dapat

dicapai oleh partikel swarm.

r1 dan r2 adalah bilangan random yang akan distribusikan.

Setelah nilai kecepatan tercapai dalam pengulangan pergerakan

swarm tercapai maka setiap partikel dalam populasi swarm dapat

ditentukan nilai posisi terbaru setiap partilenya sebagai berikut :

Pi(t+1) =Pi(t) + vi(t+1)

Hasil dari pengulangan penentuan yang selalu diupdate ini akan

mempengaruhi menentukan nilai pBLS dan pBGS untuk

mengetahui posisi yang terbaik

3. ANALISIS DAN PEMBAHASAN

Tujuan akhir dari penelitian ini membuat simulasi mencari

nilai optimal pembangunan perumahan suatu tipe rumah dimana

populasi pekerja merupakan kerumunan yang bergerak menuju

suatu tujuan yang hendak dicapai. Dalam tipe rumah terdapat

jumlah rumah. Pada pergerakan pekerja/partikel, penulis akan

menggunakan PSO agar pergerakan mencapai optimal.

Paramenter yang dibutuhkan dalam penyelesaian algoritma ini

adalah :

a. Pekerja (partikel-partikel)

Populasi ini merupakan kumpulan dari partikel- partikel

yang nantinya akan menuju ke suatu titik dalam hal ini tipe

suatu rumah.

b. Tipe rumah

Tipe rumah merupakan sebuah interaksi sosial yang menjadi

proses pengerjaan yang yang harus dilakukan oleh pekerja

(partikel) dan merupakan target menuju penyelesaian. Untuk

tipe rumah rumah yang berbeda maka waktu pengerjaan juga

akan berbeda, tapi juga bergantung jumlah pekerja yang

digunakan.

c. Maksimum Iterasi

Merupakan jumlah maksimum itarasi pengerjaan. Sehingga

semakin tinggi iterasinya, maka semakin optimal hasil yang

dicapai atau semakin cepat waktu yang dibutuhkan untuk

menyelesaikan perumahan tersebut.

d. Jumlah Rumah

Semakin banyak jumlah rumah yang akan dibangun tentu

akan memperlambat proses penyelesaian. Untuk itu harus

diimbangi dengan jumlah partikel dan banyaknya iterasi.

Secara sederhana Optimasi terbaik dari simulasi ini dapat

terlihat pada gambar berikut :

Dalam penelitian ini penulis baru menentukan input

parameternya yang nantinya akan digunakan untuk menentukan

kecepatan pembangunan dari partikel dengan menggunakan

rumus :

Vi (t+1) = w * vi(t) + c1 * r1* (pBLS – Pi(t)) + c2*r2 * pBGS -

Pi (t))

Nilai-nilai dari komponen dapat diberikan sebagai berikut:

w = 8

pBLS = 66,04455127

pGBS = 11,39308395

c1 = 1

c2 = 21

t = 3 (iterasi maksimum)

r = (nilai random)

Vi = 0 (iterasi awal)

Jika simulasi dengan input diatas dibahasakan, maka dapat

dijelaskan sebagai berikut:

Dengan input :

Jumlah partikel/pekerja = 8

Tipe rumah yang akan dibangun adalah tipe 21

Jumlah rumah yang akan dibangun = 1

Maksimum iterasi yang digunakan = 8

Dan jika sistem dijalankan maka akan diperoleh output sebagai

berikut:

Kecepatan optimal untuk membangun rumah tipe 21 sebanyak 1

rumah dengan jumlah pekerja 8 orang adalah 11,39308395 hari,

dengan kecepatan optimal per satu pekerja adalah 66,04455127

hari. Dengan kata lain, apabila rumah tersebut hanya dikerjakan

oleh satu orang maka pengerjaan rumah tersebut akan selesai

dalam waktu 66,04455127 hari.

Setelah melakukan iterasi awal (pertama), kita dapat

meneruskan pengulangan pergerakan atau iterasi berikutnya

Page 187: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

187

hingga menemukan nilai yang optimal dengan menggunakan

rumus-rumus yang sudah ada tersebut tapi dengan input nilai

yang berbeda yaitu berdasarkan nilai-nilai yang diperoleh dari

iterasi sebelumnya. Banyaknya pengulangan (iterasi) tergantung

dari keinginan pengguna sehingga diperoleh optimal kecepatan

pembangunan perumahan suatu tipe rumah.

Kondisi optimal dapat diketahui dengan cara melihat hasil

simulasi sistem dengan input tertentu. Suatu keadaan optimal

ditandai dengan posisi partikel-partikel yang saling berdekatan.

Semakin dekat posisi partikel satu sama lain, maka semakin

optimal-lah sistem tersebut.

Tabel Analisis, Optimasi waktu pembangunan Tipe rumah 21

yang beriterasi 3

Kecepatan O ptimal

Per Pekerja

1 5 74.05965573 167.5904441

2 10 12.4573846 93.92707353

3 15 12.95535487 68.66575411

4 20 5.91637599 73.98469393

5 25 4.78445333 14.35744846

Kecepatan O ptimalJumlah PekerjaNO

0

50

100

150

200

1 2 3 4 5

Jumlah Pekerja

Kecepatan Optimal

Kecepatan Optimal Per Pekerja

4. KESIMPULAN

Particle Swarm Optimization (PSO) merupakan suatu

paradigma optimasi yang diperuntukkan di bidang komputasi

yang sering digunakan para peneliti untuk memecahkan suatu

masalah. Kemampuan PSO dalam menjangkau posisi yang

optimum ternyata memungkinkan PSO-secara otomatis-

menggenerate path (jalur) yang non- deterministic dari suatu

objek pada posisi spesifik tertentu ke posisi lainnya. Dengan

hanya menggunakan iterasi yang pas maka kondisi optimal dapat

diperoleh dengan memperhatikan hasil simulasi dalam hal ini

didapatkan posisi partikel berdekatan satu sama lain

DAFTAR PUSTAKA

http://www.mae.ufl.edu/haftka/stropt/Lectures/PSO_introduction.pdfhttp://digilib.its.ac.id/detil.php?id=12432&q=particle%20swarmhttp://en.wikipedia.org/wiki/Particle_swarm_optimization

Page 188: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

188

Penentuan Trayek Angkutan Kota Terbaik Menggunakan Particle Swarm Optimation

AnnahP2700210035

Teknik Elektro, UNHASJl. Perintis Kemerdekaan KM 10

[email protected]

Andi FitriatiP2700210042

Teknik Elektro, UNHASJl. Perintis Kemerdekaan KM 10

[email protected]

ABSTRAK

Particle Swarm Optimation (PSO) merupakan salah satu algoritma optimasi yang bisa diaplikasikan untuk menentukan rute angkutan kota yang terbaik dari beberapa rute yang diberlakukan pada masing-masing peta pergerakan pada satu titik tarikan. Pada dasarnya PSO cocok digunakan pada pencarian satu titik tujuan dari beberapa titik yang berbeda dengan kecepatan particle yang berbeda. Namun dalam hal penentuan rute angkutan kota, modifikasi perlu dilakukan untuk diaplikasikan ke obyek simulasi, karena dalam pencarian rute terbaik, kecepatan particle dianggap konstan.

Kata kunci : Particle Swarm Optimation, Trayek Angkutan Kota.

PENDAHULUAN2.1. Latar Belakang

Simulasi pencarian rute angkutan kota yang terbaik merupakan suatu proses yang dilakukan untuk mencari rute angkutan kota sesuai dengan peta pergerakan agar memperoleh jarak yang minimal dengan hasil maksimal. Pencarian ini dimulai dari suatu titik pusat pergerakan, menuju titik-titik bangkitan penumpang hingga kembali lagi ke titik awal pusat pergerakan dengan parameter parameter yang ada. Dari data parameter akan diperoleh hasil yang selanjutnya akan menentukan rute yang mana yang menjadi global best dengan fungsi yang optimum.

Algoritma particle swarm digunakan pada penentuan rute terbaik, dengan menganggap kecepatan particlenya konstan. Dalam konteks optimasi multi variable, particle akan diletakkan sedemikian rupa pada titik titik peta pergerakan. Setiap particle diasumsikan mempunyai jarak tempuh dan load faktor penumpang. Berdasarkan kedua parameter inilah akan ditentukan global best dari rute angkutan kota yang diinginkan.

2.2. Rumusan MasalahSesuai dengan latar belakang di atas, maka ditemukan suatu rumusan masalah yakni bagaimana

menggunakan particle swarm optimation untuk mencari rute optimum berdasarkan jarak dan load faktor penumpang.

1.3. Tujuan dan Manfaat Penulisan makalah ini bertujuan untuk menciptakan sistem penentuan trayek yang dapat menghasilkan keuntungan yang optimal dengan aksesibilitas yang baik, pergerakan yang lebih efisien, sehingga penyedia angkutan umum dan pengguna jasa angkutan umum sama-sama diuntungkan.

1.4. Batasan Masalah Dalam makalah ini, masalah akan difokuskan pada rute optimum pada suatu trayek pada di peta bangkitan yang diinginkan, yang berlaku di kota Makassar dengan satu titik pusat pergerakan, yakni Makassar MALL (Sentral), dengan parameter pembanding jarak tempuh, waktu tempuh, penggunaan BBM dan bangkitan penumpang menggunakan particle swarm optimation.

Page 189: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Nilai optimum dari suatu kondisi atau fungsi adalah nilai telebih baik, dilihat dari error yang lebih kecil dalam waktu yang lebih singkat. Bisa juga dimaksudkan memaksimumkan keuntungadalam waktu bersamaan meminimumkan biaya.

Ada banyak sekali metode komputasi yang telah ditemukan untuk mencari solusi optimum dari suatu permasalahan. Berbagai metode itu dapat dikatakan lebih baik dibandingkan dengan metode yang lain jika metode tersebut memberikan solusi yang lebih akurat dalam wDalam makalah ini, kami akan membahas salah satu motode tersebut, yakni Particle Swarm.

2.3. Deskripsi Masalah Sebelum menjelaskan lebih jauh tentang hubungan particle swarm dengan penentuan trayek, akan dijelaskan terlebih dahuluangkutan umum. Pada dasarnya angkutan umum merupakan komponen sistem transportasi. Konsep transportasi didasarkan pada adanyaperjalanan (trip) antara asal (origin) dan tujuan (kegiatan yang terpisah untuk melakukan kegiatan perorangan atau kelompok dalam masyarakat. Perjalanan dilakukan melalui suatulintasan tertentu yang menghubungkan asal dan tujuan, serta menggunakan kendaraan atau alat angkut dengan kecepatan Berdasarkan Direktorat Jendral Perhubungan Darat (SK 687/AJ.206/DRJD/2002), jaringan trayek adalah kumpulan trayek yang menjadi satu kesatuan pelayanan angkutan orang. Faktor yang digunakan sebagai pertimbangan dalam menerapkan jaringan trsebagai berikut :1. Pola Tata Guna Lahan Pelayanan angkutan umum diusahakan mampu menyediakan aksesibilitas yang baik. Untuk memenuhi hal itu, lintasan trayek

angkutan umum diusahakan melewati tata guna tanah dengan potensi permintaan yangpotensial menjadi tujuan berpergian diusahakan menjadi prioritas pelayanan.

2. Pola Pergerakan Penumpang Angkutan Umum Rute angkutan umum yang baik adalah arah yang mengikuti pergerakan penumpang angkutan sehingga tercipta pergerakan yang lebih

efisien. Trayek angkutan umum harus dirancang sesuai dengan pola pergerakan penduduk yang terjadi, sehingga transfer moda yanterjadi pada saat penumpang mengadakan perjalanan dengan angkutan umum yang diminimumkan.

3. Kepadatan Penduduk Salah satu faktor yang menjadi prioritas pelayanan angkutan umum adalah wilayah dengan kepadatan penduduk yang tinggi, yang

pada umumnya merupakan wilayah yang mempunyai potensi permintaan yang tinggi. Trayek angkutan umum yang ada diusahakan sedekat mungkin menjangkau wilayah itu.

4. Daerah Pelayanan Pelayanan angkutan umum, selain memperhatikan wilayah

Hal itu sesuai dengan konsep pemerataan pelayanan terhadap penyediaan fasilitas angkutan umum. 5. Karakteristik Jaringan Jalan Kondisi jaringan jalan akan menentukan pola pelayanan trayek angkutan umum.

klasifikasi, fungsi, lebar jalan dan tipe operasi jalan. Berdasarkan kriteria tersebut diatas, akan ditentukan rute rute angkutan kota yang terbaik sesuai peta pergerakannya dengan pertimbangan jarak tempuh, dan perolehan hasil yang optimal.

2.2. Particle Swarm Particle swarm pertama kali dikemukakan oleh Kennedy (Psikolog sosial) dan Eberhart (Insinyur Mesin) pada tahun 1995. Particle swarm adalah salah satu algoritma paling populer dalam swarm intelegence yang dimaknai sebagai “Kepintaran kolektif yang muncul dari kumpulan sederhana”. Particle swarm optimization, terinspirasi oleh perilaku sosial binatang yang hidup berkelompok. Metode ini memperhatikan bagaimana sifattujuan mereka. Setiap individu selanjutnya disebut “particle”, memiliki tingkat intelektual yang rendah, namun jika mereka bekerja sama akan menghasilkan suatu hasil yang optimum. Pada particle swarm :1. Sejumlah particle diletakkan pada daerah pencarian dari suatu permasalahan atau fungsi objektif.2. Selanjutnya setiap particle menghitung nilai fungsi obyektif sebagai posisi mereka pada ruang pencarian.3. Setiap particle kemudian akan bergerak dalam ruang pencari

dan posisi terbaik dari satu atau lebih particle yang lain.4. Iterasi selanjutnya dilakukan setelah semua particle bergerak, akibatnya, sebagai suatu kumpulan, semua particle akan berger

menuju nilai optimum dari suatu fungsi objektif.5. Setiap particle dalam particle swarm dibangun atar tiga buah vektor, dalam ruang dimensi

pencarian . Tiga vektor ini adalah posisi particle6. Penyelesaian hanya dapat dilakukan jika particle Sifat dan struktur komunikasi antar particle pada particle swarm adalah :1. Semua particle tertarik mendekati satu sumber (tujuan).

2. Semua particle menyimpan memori akan posisi terdekat mereka dengan tujuan tersebut

2. DASAR TEORINilai optimum dari suatu kondisi atau fungsi adalah nilai terbaik dari fungsi tersebut. Terbaik dalam hal ini dapat berupa solusi yang

lebih baik, dilihat dari error yang lebih kecil dalam waktu yang lebih singkat. Bisa juga dimaksudkan memaksimumkan keuntunga

a banyak sekali metode komputasi yang telah ditemukan untuk mencari solusi optimum dari suatu permasalahan. Berbagai metode itu dapat dikatakan lebih baik dibandingkan dengan metode yang lain jika metode tersebut memberikan solusi yang lebih akurat dalam waktu yang lebih singkat. Dalam makalah ini, kami akan membahas salah satu motode tersebut, yakni Particle Swarm.

Sebelum menjelaskan lebih jauh tentang hubungan particle swarm dengan penentuan trayek, akan dijelaskan terlebih dahuluangkutan umum. Pada dasarnya angkutan umum merupakan komponen sistem transportasi. Konsep transportasi didasarkan pada adanya

) dan tujuan (destination). Sedang perjalanan adalah pergerakan orang dan barang antkegiatan yang terpisah untuk melakukan kegiatan perorangan atau kelompok dalam masyarakat. Perjalanan dilakukan melalui suatulintasan tertentu yang menghubungkan asal dan tujuan, serta menggunakan kendaraan atau alat angkut dengan kecepatan

Berdasarkan Direktorat Jendral Perhubungan Darat (SK 687/AJ.206/DRJD/2002), jaringan trayek adalah kumpulan trayek yang menjadi satu kesatuan pelayanan angkutan orang. Faktor yang digunakan sebagai pertimbangan dalam menerapkan jaringan tr

Pelayanan angkutan umum diusahakan mampu menyediakan aksesibilitas yang baik. Untuk memenuhi hal itu, lintasan trayek angkutan umum diusahakan melewati tata guna tanah dengan potensi permintaan yang tinggi. Demikian juga lokasipotensial menjadi tujuan berpergian diusahakan menjadi prioritas pelayanan. Pola Pergerakan Penumpang Angkutan Umum Rute angkutan umum yang baik adalah arah yang mengikuti pergerakan penumpang angkutan sehingga tercipta pergerakan yang lebihefisien. Trayek angkutan umum harus dirancang sesuai dengan pola pergerakan penduduk yang terjadi, sehingga transfer moda yan

jadi pada saat penumpang mengadakan perjalanan dengan angkutan umum yang diminimumkan.

Salah satu faktor yang menjadi prioritas pelayanan angkutan umum adalah wilayah dengan kepadatan penduduk yang tinggi, yang merupakan wilayah yang mempunyai potensi permintaan yang tinggi. Trayek angkutan umum yang ada diusahakan

Pelayanan angkutan umum, selain memperhatikan wilayah-wilayah potensial pelayanan, juga menjangkau semua wilayah yang ada. Hal itu sesuai dengan konsep pemerataan pelayanan terhadap penyediaan fasilitas angkutan umum.

Kondisi jaringan jalan akan menentukan pola pelayanan trayek angkutan umum. Karakteristik angkutan jalan meliputi konfigurasi, klasifikasi, fungsi, lebar jalan dan tipe operasi jalan.Berdasarkan kriteria tersebut diatas, akan ditentukan rute rute angkutan kota yang terbaik sesuai peta pergerakannya dengan

tempuh, dan perolehan hasil yang optimal.

Particle swarm pertama kali dikemukakan oleh Kennedy (Psikolog sosial) dan Eberhart (Insinyur Mesin) pada tahun 1995. Particle swarm adalah salah satu algoritma paling populer dalam swarm

telegence yang dimaknai sebagai “Kepintaran kolektif yang muncul dari kumpulan

Particle swarm optimization, terinspirasi oleh perilaku sosial binatang yang hidup berkelompok. Metode ini memperhatikan bagaimana sifat-sifat individu dalam kelompok sehingga mereka mencapai tujuan mereka. Setiap individu selanjutnya disebut “particle”, memiliki tingkat intelektual yang rendah, namun jika mereka bekerja sama akan menghasilkan suatu hasil yang optimum.

lah particle diletakkan pada daerah pencarian dari suatu permasalahan atau fungsi objektif.Selanjutnya setiap particle menghitung nilai fungsi obyektif sebagai posisi mereka pada ruang pencarian.Setiap particle kemudian akan bergerak dalam ruang pencarian dengan menggabungkan memori mereka tentang posisi terbaik mereka dan posisi terbaik dari satu atau lebih particle yang lain.Iterasi selanjutnya dilakukan setelah semua particle bergerak, akibatnya, sebagai suatu kumpulan, semua particle akan bergermenuju nilai optimum dari suatu fungsi objektif.Setiap particle dalam particle swarm dibangun atar tiga buah vektor, dalam ruang dimensi –D, dimana D adalah dimensi dari ruang

particle vektor x(i), posisi terbaik masing-masing vektor p(i), dan kecepatan particle dapat berinteraksi dengan particle lain.

pada particle swarm adalah :sumber (tujuan).

menyimpan memori akan posisi terdekat mereka dengan tujuan tersebut

rbaik dari fungsi tersebut. Terbaik dalam hal ini dapat berupa solusi yang lebih baik, dilihat dari error yang lebih kecil dalam waktu yang lebih singkat. Bisa juga dimaksudkan memaksimumkan keuntungan dan

a banyak sekali metode komputasi yang telah ditemukan untuk mencari solusi optimum dari suatu permasalahan. Berbagai metode itu dapat dikatakan lebih baik dibandingkan dengan metode

aktu yang lebih singkat. Dalam makalah ini, kami akan membahas salah satu motode tersebut, yakni Particle Swarm.

Sebelum menjelaskan lebih jauh tentang hubungan particle swarm dengan penentuan trayek, akan dijelaskan terlebih dahulu tentang angkutan umum. Pada dasarnya angkutan umum merupakan komponen sistem transportasi. Konsep transportasi didasarkan pada adanya

). Sedang perjalanan adalah pergerakan orang dan barang antara dua tempat kegiatan yang terpisah untuk melakukan kegiatan perorangan atau kelompok dalam masyarakat. Perjalanan dilakukan melalui suatulintasan tertentu yang menghubungkan asal dan tujuan, serta menggunakan kendaraan atau alat angkut dengan kecepatan tertentu.

Berdasarkan Direktorat Jendral Perhubungan Darat (SK 687/AJ.206/DRJD/2002), jaringan trayek adalah kumpulan trayek yang menjadi satu kesatuan pelayanan angkutan orang. Faktor yang digunakan sebagai pertimbangan dalam menerapkan jaringan trayek adalah

Pelayanan angkutan umum diusahakan mampu menyediakan aksesibilitas yang baik. Untuk memenuhi hal itu, lintasan trayek tinggi. Demikian juga lokasi-lokasi yang

Rute angkutan umum yang baik adalah arah yang mengikuti pergerakan penumpang angkutan sehingga tercipta pergerakan yang lebihefisien. Trayek angkutan umum harus dirancang sesuai dengan pola pergerakan penduduk yang terjadi, sehingga transfer moda yang

Salah satu faktor yang menjadi prioritas pelayanan angkutan umum adalah wilayah dengan kepadatan penduduk yang tinggi, yang merupakan wilayah yang mempunyai potensi permintaan yang tinggi. Trayek angkutan umum yang ada diusahakan

, juga menjangkau semua wilayah yang ada.

Karakteristik angkutan jalan meliputi konfigurasi,

Berdasarkan kriteria tersebut diatas, akan ditentukan rute rute angkutan kota yang terbaik sesuai peta pergerakannya dengan

Particle swarm pertama kali dikemukakan oleh Kennedy (Psikolog sosial) dan Eberhart (Insinyur Mesin) pada tahun 1995. Particle swarm adalah salah satu algoritma paling populer dalam swarm

telegence yang dimaknai sebagai “Kepintaran kolektif yang muncul dari kumpulan particle

Particle swarm optimization, terinspirasi oleh perilaku sosial binatang yang hidup berkelompok. du dalam kelompok sehingga mereka mencapai

tujuan mereka. Setiap individu selanjutnya disebut “particle”, memiliki tingkat intelektual yang rendah,

an dengan menggabungkan memori mereka tentang posisi terbaik mereka

Iterasi selanjutnya dilakukan setelah semua particle bergerak, akibatnya, sebagai suatu kumpulan, semua particle akan bergerak

D, dimana D adalah dimensi dari ruang dan kecepatan particle v(i).

Page 190: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

190

Skema dasar dari particle swarm optimation dapat dinyatakan sebagai himpunan dari vektor yang arah pergerakannya berada pada daerah sekitar posisi terbaik dari particle tersebut dan dari posisi terbaik dari beberapa particle lainnya. Ada topologi tetangga yang berbeda yang digunakan untuk mengidentifikasi particle mana yang dapat mempengaruhi particle lain dalam kelompok. Yang paling sering di pakai adalah local best dan global best. Pada global best, arah pergerakan setiap aprtikel dipengaruhi oleh satu particle yang menjadi particle terbaik dari seuruh kumpulan particle. Diasumsikan pastikel global best akan konvergen lebih cepat sehingga semua particle yang lain juga akan tertarik menuju daerah terbaik dari ruang pencarian. Namun terbaik keseluruhan dapat membuat particle particle terperangkap dalam optimum lokal.

Sedang dalam local best, semua particle akan dipengaruhi oleh tetangga sekitar mereka dengan jumlah yang lebih sedikit, biasanya berhubungan dengan 2 tetangga kanan dan kirinya (ring lattice). Local best biasanya akan lambat konvergen, namun dapat menebak optimum global yang lebih baik.

Jadi ciri khas dari particle swarm optimation adalah pengaturan kecepatan particle secara heuristik dan probabilistik. Jika suatu particle memiliki kecepatan yang konstan maka jika jejak posisi suatu particle divisualisasikan akan membentuk garis lurus. Dengan adanya faktor eksternal yang membelokkan garis tersebut yang kemudian menggerakkan particle dalam ruang pencarian maka diharapkan particle dapat mengarah, mendekati, dan pada akhirnya mencapai titik optimal. faktor eksternal yang dimaksud antara lain posisi terbaik yang pernah dikunjungi suatu particle, posisi terbaik seluruh particle (diasumsikan setiap particle mengetahui posisi terbaik setiap particle lainnya), serta faktor kreativitas untuk melakukan eksplorasi.

3. HASIL DAN PEMBAHASAN Desain dari Penelitian ini dibagi menjadi beberapa tahapan pengerjaan yaitu formulasi masalah berdasarkan metode particle swarm, decoding berdasarkan aturan particle swarm, perancangan algoritma, penulisan script pada VB6 dan penulisan hasil. Script terlebih dahulu di uji coba yaitu dengan cara disimulasikan dengan random sample yang telah disiapkan. Sample tersebut adalah sample berdasarkan survey sementara.

3.1. Model Matematika Untuk Trayek Angkutan Kota Pada makalah ini akan dibahas mengenai metode particle swarm yang akan digunakan untuk menentukan trayek optimum yang berlaku di kota makassar. Untuk masalah pengaturan trayek dijelaskan berikut.

Diberikan satu titik pusat tarikan, yang mana titik ini akan menjadi awal dan akhir dari pergerakan particle. Angkutan umum sejumlah N akan di sebar pada titik-titik sekitar pusat tarikan untuk bergerak ke daerah-daerah bangkitan penumpang.

Berdasarkan SK 687/AJ.206/DRJD/2002 tentang trayek, maka particle akan diberikan beberapa rute pergerakan sesuai dengan peta pergerakan. Untuk satu peta pergerakan, akan diberikan 3 titik lokasi, yakni … .

Keuntungan yang diperolah angkutan umum akan dibandingkan dengan biaya yang dikeluarkan. Biaya ini tergantung juga pada jarak yang dilalui, karena berpengaruh pada penggunaan BBM dan bangkitan penumpang. Untuk menghitung keuntungan digunakan rumus :

Hasil Bersih = Hasil kotor – Biaya,

Yang mana :Hasil kotor = Hasil pendapatan tanpa memperhitungkan biaya operasi.Biaya = Biaya yang dikeluarkan untuk operasional

Dalam perhitungan biaya, hanya dua biaya tetap yang akan dihitung, yakni biaya pemakaian BBM dan biaya retribusi. Perhitungan biaya BBM sesuai data dari Departemen Perhubungan :

Pemakaian BBM rata-rata = 1 Liter / 7 KM

Sedang retribusi ditentukan sejumlah Rp. 2000 sekali putaran. Jadi fungsi matematikanya dituliskan sebagai berikut :

f(x) = minimum jarak & maksimum hasil

3.2. Framework PSO untuk memecahkan masalah Trayek Algoritma PSO akan dimulai dengan menginisialisasi segerombolan particle (angkutan umum) yang diikuti dengan serangkaian langkah-langkah iterasi untuk memindahkan particle (angkutan umum) terhadap posisi terbaik. Perlu dicatat bahwa PSO dalam kasus ini mencari rute terbaik, yang memenuhi kriteria yang telah ditetapkan sebelumnya dengan cara :1. Menentukan titik titik sebaran sesuai peta2. Menetapkan daftar priotitas penumpang pada dimensi (titik2) yang sesuai

Page 191: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

191

Membuat rute berdasar pada daftar prioritas. Rute ini akan terus diperbaiki, sehingga diperoleh rute maksimal. Hal ini dapat digambarkan seperti berikut :

Gambar 1. PSO Flowchart Untuk Trayek Angkot

3.3. Algorima PSO untuk masalah Trayek Untuk masalah optimasi trayek angkutan, algoritmanya sebagai berikut :1. Inisialisasi particle Angkutan Umum (N) sebagai populasi, buatlah particle Ni dengan posisi random Xi dalam range Xmin – Xmax,

kecepatan Vi = 0, Personal Best Pi = Xi, dimana i = 1…N, dan set iterasi t = 1. Dalam kasus ini ditentukan ada 4 particle untuk setiap posisi peta bangkitan, dengan satu titik tarikan.

2. Menghitung posisi setiap agen berdasarkan fungsi obyektif f(x). Dimisalkan untuk kasus ini, f(x) = min jarak maks penghasilan

3. Posisi personal terbaik adalah posisi masing-masing angkutan kota, sedang global bestnya adalah posisi angkutan kota dengan rute terpendek.

4. Ditentukan kecepatan awal Vi = 0 ….. VN = 0, selanjutnya kecepatan ditentukan konstan.5. Tentukan bangkitan penumpang di sepanjang rute yang dilalui.6. Mengevaluasi nilai setiap rute, dengan rumus sebagai berikut :

Hasil Bersih = Hasil kotor – Biaya

8. Update posisi, apakah sudah sesuai fungsi yang diinginkan? Jika tidak, ulangi pada iterasi i = 2. Jika ditemukan rute yang lebih baik, update posisi ke rute yang terbaik. Langkah ini akan terus diulangi hingga diperoleh maksimum fungsi yang diinginkan.

3.4. Analisa Hasil

Page 192: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Tabel 1. Perbandingan beberapa rute angkutan kota Pada makalah ini, diambil sample rute untuk trayek SMA 5, yang hasilnya terlihat pada table 1 diatas, dengan analisa sebagai berikut :1. Inisialisasi particle Angkutan Umum (N) sebagai populasi, buatlah particle N

kecepatan Vi = 0, Personal Best Pi = Xi, dimana i = 1…N, dan set iterasi t = 1. Dalam kasus ini ditentukan ada 4 posisi peta bangkitan, dengan satu titik tarikan.

2. Menghitung posisi setiap agen berdasarkan fungsi obyektif Dimisalkan untuk kasus ini, f(x) = min jarak

Jumlah angkutan umum untuk setiap peta bangkitan adalah N = 3. Posisi secara random :Mobil 1 Rute 1 (0) = 14,5 (jarak tempuh )Mobil 2 Rute 1 (0) = 15,5Mobil 3 Rute 1 (0) = 15

3. Posisi personal terbaik adalah posisi masingterpendek, yakni mobil 1 dengan jarak tempuh 14,5 KM.

4. Ditentukan kecepatan awal V1 = 0, V2 = 0, V5. Tentukan bangkitan penumpang di sepanjang rute di dasarkan pada survey sementara.

Mobil 1 Rute 1 (0) = 18Mobil 2 Rute 1 (0) = 19Mobil 3 Rute 1 (0) = 21

6. Ditentukan biaya transportasi per penumpang Rp. 3000 dan biaya lain lain mencakup biaya retribusi percyle sebesar Rp.2000. Penggunaan BBM per KM = 0,143 L. Harga BBM per Liter = Rp. 4500.

7. Mengevaluasi nilai setiap rute, dengan rumus sebagai berikut :

Mobil 1Hasil kotor Mobil 1 = bangkitan penumpang * biaya transport

= 18 * 3000 = Rp 54.000Biaya BBM = jarak tempuh * BBM per KM * Harga BBM Lt = 14,5 * 0,143 * 4500 = Rp 9330,75Biaya = Biaya BBM + Retribusi = 9330,75 + 2000 = 11330,75Jadi diperoleh :Hasil Bersih = 54000 – 11330,75 = Rp 42669,25.Perhitungan selanjutnya untuk mobil 2 dan 3 sama, sehingga fungsinya dituliskan sebagai berikut :f1 = f(14,5) = Rp. 42669,25f2 = f(15,5)= Rp. 45025,75f3 = f(15) = Rp. 51347,5

8. Update posisi, Global bestnya tidak mendekati fungsi penghasilan.

9. Apakah ada alternatif yang mendekati fungsi? Jika ada, ulangi dengan iterasi i = 2 dan kecepatan selanjutnya konstan = 40 KM per jam, dengan rute baru sesuai dengan peta pergerakan. Mulai dari langkah 2. Hitung global bestnya. Jika ditemukan rute yang lebih baik, update posisi ke rute yang terbaik. Langkah ini akan terus diulangi hingga diperoleh maksmendekati.

Dari hasil simulasi (data sample terlampir), setiap rute pada tiap iterasi tidak selamanya memenuhi goal yang diinginkan yakni f(x) = minimum jarak & maksimum penghasilan, pengulangan.

Tabel 2. Hasil PSO Untuk Trayek Angkot

Tabel 1. Perbandingan beberapa rute angkutan kotaPada makalah ini, diambil sample rute untuk trayek SMA 5, yang hasilnya terlihat pada table 1

diatas, dengan analisa sebagai berikut :Angkutan Umum (N) sebagai populasi, buatlah particle Ni dengan posisi random Xi

dimana i = 1…N, dan set iterasi t = 1. Dalam kasus ini ditentukan ada 4 posisi peta bangkitan, dengan satu titik tarikan.Menghitung posisi setiap agen berdasarkan fungsi obyektif f(x).

min jarak maks penghasilan

Jumlah angkutan umum untuk setiap peta bangkitan adalah N = 3. Posisi secara random :

personal terbaik adalah posisi masing-masing angkutan kota, sedang global bestnya adalah posisi angkutan kota dengan rute terpendek, yakni mobil 1 dengan jarak tempuh 14,5 KM.

, V3 = 0, selanjutnya kecepatan ditentukan konstant V1 = 40, V2 = Tentukan bangkitan penumpang di sepanjang rute di dasarkan pada survey sementara.

transportasi per penumpang Rp. 3000 dan biaya lain lain mencakup biaya retribusi percyle sebesar Rp.2000. Penggunaan BBM per KM = 0,143 L. Harga BBM per Liter = Rp. 4500.

, dengan rumus sebagai berikut :Hasil Bersih = Hasil kotor – Biaya

Hasil kotor Mobil 1 = bangkitan penumpang * biaya transport

= 18 * 3000 = Rp 54.000Biaya BBM = jarak tempuh * BBM per KM * Harga BBM Lt

= 14,5 * 0,143 * 4500 = Rp 9330,75Biaya BBM + Retribusi = 9330,75 + 2000

11330,75 = Rp 42669,25.Perhitungan selanjutnya untuk mobil 2 dan 3 sama, sehingga fungsinya dituliskan sebagai berikut :

= Rp. 42669,25

8. Update posisi, Global bestnya tidak mendekati fungsi f(x) = minimum jarak & maksimum

Apakah ada alternatif yang mendekati fungsi? Jika ada, ulangi dengan iterasi i = 2 dan kecepatan selanjutnya konstan = 40 KM per jam, dengan rute baru sesuai dengan peta pergerakan. Mulai dari langkah 2. Hitung global bestnya. Jika ditemukan rute yang lebih baik, update posisi ke rute yang terbaik. Langkah ini akan terus diulangi hingga diperoleh maksimum fungsi yang paling tidak

Dari hasil simulasi (data sample terlampir), setiap rute pada tiap iterasi tidak selamanya memenuhi f(x) = minimum jarak & maksimum penghasilan, sehingga dilakukan

Tabel 2. Hasil PSO Untuk Trayek Angkot

Pada makalah ini, diambil sample rute untuk trayek SMA 5, yang hasilnya terlihat pada table 1

dalam range Xmin – Xmax, dimana i = 1…N, dan set iterasi t = 1. Dalam kasus ini ditentukan ada 4 particle untuk setiap

Jumlah angkutan umum untuk setiap peta bangkitan adalah N = 3. Posisi secara random :

masing angkutan kota, sedang global bestnya adalah posisi angkutan kota dengan rute

= 40, V3 = 40

transportasi per penumpang Rp. 3000 dan biaya lain lain mencakup biaya retribusi percyle sebesar Rp.2000.

Perhitungan selanjutnya untuk mobil 2 dan 3 sama, sehingga fungsinya dituliskan sebagai berikut :

f(x) = minimum jarak & maksimum

Apakah ada alternatif yang mendekati fungsi? Jika ada, ulangi dengan iterasi i = 2 dan kecepatan selanjutnya konstan = 40 KM per jam, dengan rute baru sesuai dengan peta pergerakan. Mulai dari langkah 2. Hitung global bestnya. Jika ditemukan rute yang lebih baik, update posisi ke rute yang

imum fungsi yang paling tidak

Dari hasil simulasi (data sample terlampir), setiap rute pada tiap iterasi tidak selamanya memenuhi sehingga dilakukan

Page 193: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

193

4. PENUTUP4.1. Kesimpulan Particle Swarm Optimation untuk pencarian optimum trayek sesuai peta pergerakan telah selesai dilakukan, dan dari hasil pengujian sistem dapat ditarik kesimpulan bahwa :1. Penggunaan particle swarm optimation untuk pencarian optimum trayek dapat dilakukan, dan setiap

iterasi belum tentu didapatkan hasil yang optimal, hingga diperlukan pengulangan.2. Dari hasil pengujian diperoleh bahwa penggunaan kecepatan untuk kasus ini tidak berpengaruh,

sehingga dibutuhkan parameter jarak dan bangkitan penumpang.3. Bangkitan penumpang sepanjang rute dan jarak yang dilalui sangat mempengaruhi untuk

memperoleh hasil yang maksimum.

4.2. Saran Untuk pengembangan lebih lanjut, Particle Swarm Optimation untuk trayek perlu dipertimbangkan untuk menggunakan kecepatan yang berubah-ubah dan tetap memperhitungkan load faktor penumpang dan jarak.

5. DAFTAR PUSTAKA

[33] Marco A. Montes de Oca (2007), Particle Swarm Optimation, Université Libré de Bruxelles.

[34] Anhar Rismunawan (2009), Human Friendly Arm Robot Using Interactive Particle Swarm Optimation, Inatitute Teknologi Sepuluh November, Surabaya.

[35] Anthony Carlisle & Gerry Dozier ( 1993), Adapting Particle Swarm Optimization to Dynamic Environments, Huntingdon College & Auburn University.

[36] Hugo Jair Escalante, Manuel Montes, Luis Enrique Sucar (2003), Particle Swarm Model Selection

[37] Ricardo Poli (2007), An Analysis of Publications on Particle Swarm Optimisation Applications, University of Essex, UK.

[38] Russel Eberhart & James Kennedy, A New Optimizer Using Particle Swarm Theory, Purdue School of Engineering and Technology, Indianapolis

[39] Günther M. FOIDL (2009), Particle swarm optimization for function optimization, Austria.

[40] Shahrzad Amini, Hassan Javanshir & Reza Tavakkoli-Moghaddam, A PSO Approach For Solving VRVTW With Real Case Study, Deparment of Industrial Engineering, Islamic Azad University – South Tehran Branch, Tehran, Iran.

[41] Departemen Perhubungan RI, Keputusan Direktur Jendral Perhubungan Darat SK. 687/AJ.206/DRJD/2002 Tentang Pedoman Teknis Penyelenggaraan Angkutan Penumpang Umum Di Wilayah Perkotaan Dalam Trayek Tetap dan Teratur.

Page 194: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

194

SISTEMTERDISTRIBUSI

Page 195: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

195

Implementasi Simple Object Access Protocol untuk Sistem Terdistribusi

Meylanie OlivyaJurusan Teknik Elektro, Program Pasca Sarjana, Universitas Hasanuddin

Jl. Perintis Kemerdekaan, Km. 10 Makassar, Indonesia

[email protected]

Makalah ini merupakan suatu studi tentang protokol pengiriman pesan, Simple Object Access Protocol (SOAP), dalam Web Services. SOAP merupakan protokol sederhana yang dapat mengakses obyek melalui jaringan. Pesan SOAP disusun berdasarkan struktur XML, dan ditransmisikan melalui HTTP. Dalam makalah ini juga akan dipaparkan suatu contoh kasus yang dapat menjelaskan mengenai SOAP.

Kata KunciSistem Terdistribusi, SOAP, Web Services

PENDAHULUANKetika Software Developer ingin menciptakan suatu Web Services, mereka mengandalkan pada pemanggilan metode dalam menyediakan fungsionalitas yang dibutuhkan. Metode-metode yang dapat diakses dipaketkan ke dalam sebuah obyek yang dapat digunakan oleh sistem maupun developer yang berbeda.

Pada umumnya, pemanggilan obyek hanya dapat dilakukan antar platform yang sama. Obyek yang dibuat pada satu platform tidak selalu mudah diakses oleh perangkat lunak pada platform yang berbeda. Di samping itu, pemanggilan metode dari suatu obyek terdistribusi melalui Internet akan sulit dilakukan. Obyek tersebut membutuhkan port khusus untuk mengirim data. Namun, umumnya firewall perusahaan menutup semua port kecuali port 80, port standar untuk HTTP, untuk menghindari resiko keamanan.

Solusi dari permasalahan di atas adalah sebuah protokol independent yang dapatmemanggil metode yang berlokasi pada sistem terdistribusi yang berbeda dan sebuah port yang dapat digunakan di seluruh jaringan Internet. Protokol tersebut adalah SOAP.

SOAPSOAP adalah suatu protokol sederhana yang memungkinkan pengguna untuk mengakses sebuah obyek antar jaringan dengan platform yang berbeda. SOAP merupakan upaya standarisasi teknologi infrastruktur untuk komputerisasi terdistribusi XML antar platform.

Pada dasarnya, SOAP adalah protokol XML-based yang sederhana. SOAP berperan

sebagai protokol komunikasi client-serveryang mengirim dan menerima informasi "di atas" HTTP. Data dikirim dan diterima dalam format XML yang khusus yang dirancang untuk SOAP. SOAP serupa dengan protokol XMLRPC kecuali bahwa SOAP lebih cocok digunakan untuk menangani data kompleks yang dikirim antar client dan server. Dengan kata lain, SOAP adalah protokol untuk mengakses Web Service.

Prinsip Kerja SOAPPada prinsipnya, peran SOAP di dalam teknologi web service adalah sebagai protokol pemaketan untuk pesan-pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya.

Prinsip kerja SOAP adalah sebagai berikut:

Pesan-pesan terkirim ataupun yang dikembalikan mudah dimengerti SOAP berbasis pada struktur XML untuk

memanggil sebuah metode() dan mengirimkan parameter metodenya. SOAP juga berbasis struktur XML untuk

mengirim kembali nilai dari isi pesan yang di request.SOAP berbasis struktur XML untuk

mengembalikan nilai error (fault) jika penyedia layanan tidak dapat mengeksekusi metode yang diminta.

Kekurangan SOAPAda beberapa hal yang tidak terdapat pada SOAP, yaitu:

Spesifikasi SOAP tidak mendefinisikan bagaimana requestor serta responder mengirim dan menerima pesan.Spesifikasi SOAP tidak mendefinisikan

bagaimana sebuah pesan, ketika diterima, akan membentuk instansiasi obyek dan mengeksekusi metode. Implementasi pengiriman dan penerimaan

pesan diserahkan pada software developer dan software vendor.

Pesan SOAPSebuah pesan SOAP merupakan dokumen XML biasa yang mengandung elemen-elemen berikut ini:

Page 196: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

196

Elemen envelope yang mengidentifikasi dokumen XML sebagai pesan SOAP Elemen header yang mengandung informasi

header Elemen body yang mengandung informasi call

dan response Elemen fault yang mengandung informasi error

dan status

Semua elemen di atas dideklarasikan dalam suatu namespace untuk SOAP envelope. Elemen header dan fault bersifat optional.

Berikut adalah beberapa aturan syntax penting dalam SOAP:

Suatu pesan SOAP HARUS dikodekan menggunakan XML Suatu pesan SOAP HARUS menggunakan

namespace SOAP Envelope Suatu pesan SOAP TIDAK BOLEH

mengandung referensi DTD Suatu pesan SOAP TIDAK BOLEH

mengandung instruksi pemrosesan XML

Elemen SOAPPada Gambar 1 berikut ini menunjukkan kerangka pesan SOAP untuk SOAP versi 1.1 yang direkomendasikan oleh World Wide Web Consortium (W3C).

Gambar 1. Kerangka pesan SOAP versi 1.1

SOAP EnvelopeElemen SOAP Envelope adalah elemen dasar dari sebuah pesan SOAP. Elemen ini menandakan bahwa dokumen XML merupakan sebuah pesan SOAP. String xmlns:soap pada Gambar 1 menunjukkan namespace yangmendefinisikan envelope sebagai SOAP envelope. SOAP HeaderElemen SOAP Header mengandung informasi khusus (seperti otentikasi, pembayaran, dsb) yang berkaitan dengan pesan SOAP. Elemen header selalu ditempatkan pada elemen child dari Envelope. Apabila pada Header terdapat elemen child, maka elemen tersebut harus memiliki namespace yang layak.

SOAP mendefinisikan tiga atribut dalam namespace-nya. Ketiga atribut tersebut adalah mustUnderstand, actor, and encodingStyle. Atribut-atribut ini menunjukkan bagaimana penerima memproses pesan SOAP.

Atribut mustUnderstandAtribut mustUnderstand dari SOAP dapat digunakan untuk mengindikasikan apakah elemen child dari header wajib atau tidak untuk diproses oleh penerima. Jika atributmustUnderstand bernilai 1, maka penerima harusmengenali elemen tersebut. Jika penerima tidak mengenali elemen tersebut, maka akan terjadi kesalahan ketika memproses header. Contoh penggunaan atribut ini ditunjukkan oleh Gambar 2.

Gambar 2. Contoh pesan SOAP dengan atribut mustUnderstand

Atribut actorPesan SOAP dapat bepergian dari satu pengirim ke satu penerima melalui beberapa endpoint sepanjang jalur pesan. Walaupun demikian, tidak semua bagian dari pesan SOAP dimaksudkanuntuk endpoint utama, namun dapat jugadimaksudkan untuk satu atau lebih endpoint yang berada pada jalur pesan. Atribut actor digunakan untuk mengalamatkan elemen header pada endpoint tertentu.

Atribut encodingStyleAtribut encodingStyle berperan untuk mendefinisikan tipe data yang digunakan di dalam dokumen. Atribut ini dapat muncul pada elemen SOAP mana saja, dan dipergunakan untuk isi dan semua elemen child.

SOAP BodyElemen SOAP body mengandung pesan inti yang dimaksudkan untuk endpoint utama. Gambar 3 berikut ini menunjukkan sebuah pesan SOAP untuk meminta harga appel. Elemen ns2:GetPrice dan ns2:Item adalah elemen khusus aplikasi dan bukan merupakan bagian dari SOAP namespace.

<?xml version="1.0"?><S:Envelope

xmlns:S=" http://schemas.xmlsoap/soap/envelope">

<soap:Header><ns2:Trans

xmlns:ns2="http://www.w3schools.com/transaction/” S:mustUnderstand="1">234

<?xml version="1.0"?><S:Envelope

xmlns:S="http://schemas.xmlsoap/soap/envelope">

<S:Header>........

</S:Header><S:Body>

........<S:Fault>

Page 197: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

197

Gambar 3. Contoh SOAP Request

SOAP FaultElemen SOAP fault memuat informasi status dan error dari pesan SOAP. Pada umumnya digunakan untuk mengindikasikan pesan yang error. Jika elemen fault muncul dalam pesan, elemen tersebut harus ditempatkan pada elemen child dari elemen Body dan hanya dapat muncul sekali dalam pesan SOAP. Elemen fault terdiri dari sub elemen berikut ini:

Tabel 1. Daftar Sub elemen fault

Sub elemen

Keterangan

<faultcode>

Kode untuk mengidentifikasi kesalahan

<faultstring>

Penjelasan mengenai kesalahan yang terjadi

<faultactor>

Informasi tentang siapa yang menyebabkan kesalahan itu terjadi

<detail> Memuat informasi error application-specific yang berkaitan dengan elemen Body

Nilai faultcode berikut ini harus digunakan ketika mendeskripsikan kesalahan:

Tabel 2. Daftar nilai faultcode

Error KeteranganVersionMismatch Ditemukan namespace yang

tidak valid pada elemen SOAP Envelope

MustUnderstand Elemen child dari Header, dengan atribut mustUnderstand bernilai "1", tidak dapat dipahami

Client Pesan tidak dibentuk dengan baik atau terdapat informasi

yang tidak benar

Server Terdapat masalah dengan server sehingga pesan tidak dapat diproses

ImplementasiContoh Kasus

Pada makalah ini, diambil contoh kasus dimana sebuah aplikasi MySoftware ingin mencari judul buku yang tersedia di dalam sebuah web services MyBukuService. Pada MyBukuService, disediakan dua metode yang dapat dipanggil, yaitu getBuku() dan cariBuku(). Metode getBuku() berfungsi untuk mendapatkan data semua judul buku beserta informasinya yang terdapat di dalam database MyBukuService. Sedangkan metode cariBuku() berfungsi untuk mendapatkan informasi buku berdasarkan pencarian judul buku.

MyBukuService dibuat dalam bahasa pemrograman Java, jdk 1.6, dengan menggunakan IDE NetBeans 6.9.1, GlassFish 3 sebagai servernya, dan MySQL untuk membuat databasenya. NetBeans berperan sebagai virtual mesin untuk server maupun client. Selain itu, NetBeans juga memiliki tool untuk menguji apakah web services dapat berfungsi dengan menampilkan SOAP request dan SOAP response.

Database bukukuDatabase dibuat dengan nama bukuku. Database bukuku memiliki 1 tabel dengan nama tabel_buku yang berisi informasi buku yang dapat diakses. Gambar 4 menunjukkan isi dari tabel_buku.

Koneksi ke DatabaseAgar dapat diakses oleh web services, koneksi ke database harus dibangun. Berikut adalah skrip untuk koneksi ke database....... try { DriverManager.registerDriver(new com.mysql.jdbc.Driver()); } catch (SQLException e) { throw new NestedException("Error driver : " + e.getMessage(), e, 0); }

Gambar 4. Isi tabel_buku

<?xml version="1.0"?><S:Envelope

xmlns:S="schemas.xmlsoap/soap/envelope ">

<S:Body><ns2:GetPrice

xmlns:ns2="http://service.MyStore/prices">

Page 198: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

198

try { connection = DriverManager.getConnection("jdbc:mysql://" + hostName + ":3306/" + dbName + "?user=" + userName + "&password=" + passWord); } catch (Exception e) { throw new NestedException("Error connection : " + e.getMessage(), e, 0); }......

Kelas BukuKelas Buku berfungsi untuk merepresentasikan isi dari tabel tabel_buku. Kelas ini juga akan menjadi struktur XML dalam MyBukuService. Kelas ini hanya berisi 2 jenis metode yaitu get() dan set() untuk setiap field yang terdapat dalam tabel_buku.

Metode getBuku() dan cariBuku()Agar suatu metode dapat dipanggil, metode tersebut harus tersedia pada web service sebagai web service operation. Berikut adalah skripnya.......

@WebMethod(operationName = "getBuku")

public List<Buku> getBuku() {

List<Buku> listBuku = new ArrayList<Buku>();

DataBase db = new DataBase();

try {

String sql = "select * from tabel_buku";

PreparedStatement ps =

db.getConnection().prepareStatement(sql);

ResultSet rs = ps.executeQuery();

while (rs.next()) {

Buku buku = new Buku();

buku.setErrorMessage("");

buku.setNoBuku(rs.getInt("no_buku"));

buku.setJudul(rs.getString("judul"));

buku.setPenulis(rs.getString("penulis"));

buku.setPenerbit(rs.getString("penerbit"));

buku.setTahun(rs.getString("tahun"));

listBuku.add(buku);

}

return listBuku;

} catch (Exception e) {

Buku buku = new Buku();

buku.setErrorMessage(e.getMessage());

listBuku.add(buku);

return listBuku;

} finally {

db.closeConnection();

db = null;

}

}

@WebMethod(operationName = "cariBuku")

public List<Buku> cariBuku(@WebParam(name =

"judulBuku") final String judulBuku) {

List<Buku> listBuku = new ArrayList<Buku>();

DataBase db = new DataBase();

try {

String sql =

"select * from tabel_buku where judul like ?";

PreparedStatement ps =

db.getConnection().prepareStatement(sql);

ps.setString(1, "%" + judulBuku + "%");

ResultSet rs = ps.executeQuery();

while (rs.next()) {

Buku buku = new Buku();

buku.setErrorMessage("");

buku.setNoBuku(rs.getInt("no_buku"));

buku.setJudul(rs.getString("judul"));

buku.setPenulis(rs.getString("penulis"));

buku.setPenerbit(rs.getString("penerbit"));

buku.setTahun(rs.getString("tahun"));

listBuku.add(buku);

}

return listBuku;

} catch (Exception e) {

Buku buku = new Buku();

buku.setErrorMessage(e.getMessage());

listBuku.add(buku);

return listBuku;

} finally {

db.closeConnection();

db = null;

}

}

......

Hasil dan PembahasanSetelah seluruh kelas yang dibutuhkan dibuat, MyBukuService kemudian di-deploy. Hal ini akan mengaktifkan server dan mengkoneksikan web services ke database. Kemudian, langkah selanjutnya adalah mengetes web services. Gambar 5 menunjukkan tampilan awal dari pengetesan MyBukuService.

Pada Gambar 5, terdapat dua metode yang dapat diakses, yaitu getBuku() dan cariBuku(). WSDL

Gambar 5. MyBukuService tester

Page 199: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

199

atau Web Services Description Language, adalah struktur XML yang berisi penjelasan mengenai web services.SOAP RequestMisalnya suatu aplikasi MySoftware ingin mengetahui informasi mengenai sebuah buku, maka informasi tersebut dapat diperoleh dengan memanggil metode cariBuku dan mengirim parameter berupa judul buku yang akan dicari. Gambar 6 menunjukkan SOAP request untuk pencarian buku.

SOAP ResponseKetika server menerima SOAP request, server memproses permintaan tersebut. Jika buku yang dicari tersedia, maka server mengirim SOAP response yang berisi informasi mengenai buku tersebut. SOAP response sebagai jawaban SOAP request sebelumnya ditunjukkan pada Gambar 7.

cariBukuResponse() adalah metode yang dibentuk sebagai jawaban dari cariBuku() yang diminta. Sedangkan nilai adalah informasi yang diminta berdasarkan metode yang dipanggil dan parameter yang dikirimkan.

KesimpulanMasih banyak hal tentang SOAP yang dapat dipelajari, walaupun demikian, mengetahui sedikit hal tentang SOAP dapat memberikan manfaat yang besar. SOAP sangat bermanfaat untuk sistem terdistribusi. Pengembang aplikasi dapat dengan mudah mengandalkan aplikasi yang dibuat oleh pengembang lainnya, demi mengembangkan suatu sistem terdistribusi yang lebih baik.

Kekurangannya adalah bahwa dalam spesifikasinya, SOAP tidak mendefinisikan

bagaimana requestor serta responder mengirim dan menerima pesan. Spesifikasi SOAP tidak mendefinisikan bagaimana sebuah pesan, ketika diterima, akan membentuk instansiasi obyek dan mengeksekusi metode. Hal ini dapat menjadi acuan untuk penelitian selanjutnya mengenai SOAP.

Ucapan Terima KasihSaya mengucapkan terima kasih kepada Bapak Dr. Armin Lawi, M. Eng. atas saran dan waktunya.

Saya juga mengucapkan terima kasih kepada Ibu Marlinda Sanglise dan Ibu Nurnaningsih atas bantuannya dalam mengerjakan penelitian ini.

REFERENSI[42] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A.,

Mendelsohn, N., Nielsen, H. F. Thatte, S., dan Winer, D. 2000. Simple Object Access Protocol (SOAP) 1.1. W3C Note 08 May 2000. Inc. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

[43] Englander, R. 2002. Java and SOAP. O’Reilly.

[44] Graham, S., Davis, D., Simeonov, S., Daniels, G., Brittenham, P., Nakamura, Y., Fremantle, P., König, D., dan Zentner, C. 2004. Building Web Services with Java, Second Edition. Sams Publishing.

[45] Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J., Nielsen, H.F., Karmarkar, A., dan Lafon, Y. 2007. SOAP Version 1.2 Part 1 : Messaging Framework (Second Edition). W3C Recommendation 27 April 2007. http://www.w3.org/TR/2007/REC-soap12-part1-20070427/

[46] Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J., Nielsen, H.F., Karmarkar, A., dan Lafon, Y. 2007. SOAP Version 1.2 Part 2 : Adjuncts (Second Edition). W3C recommendation 27 April 2007.http://www.w3.org/TR/2007/REC-soap12-part2-20070427/

[47] Mitra, N. dan Lafon, Y. 2007. SOAP Version 1.2 Part 0 : Primer Second Edition. 2007. W3C Recommendation 27 April 2007. http://www.w3.org/TR/2007/REC-soap12-part0-20070427/

[48] Snell, J. 2001. Programming Web Services with SOAP. O’Reilly.

[49] SOAP Tutorial. http://www.w3schools.com/soap/default.a

Gambar 7. SOAP response pencarian

meto

nilai

Gambar 6. SOAP request pencarian

meto

paramet

Page 200: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

KONSEP MULTITHREADING DAN MULTIPLEXINGSISTEM TERDISTRIBUSI

Yusuf AnshoriUniversitas Tadulako, Palu

[email protected]

ABSTRAK

Multithreading merupakan cara pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen. Thread adalah aliran kontrol yang melalui sebuah program danthread berbagi memori dengan thread lain yang dibuat oleh aplikasi yang sama.Sedangakan proses adalah memiliki alokasi memori yang terpisah waktu eksekusi proses yang berbeda tidak bersamaan (antrian proses). Thread merupakan waktu eksekusi beberapa thread yang bersamaan menggunakan lebih dari satu thread pada waktu bersamaan disebut multithreading

Dengan adanya thread dapat mengurangi kemungkinan server terjadi crash saat banyak client mengakses server dalam waktu yang bersamaan. Multithreaded dapat membagi tugas antara alokasi koneksi dengan pemrosesan setiap koneksi. New Iinput Output (NIO) menggunakan multiplexing (penanganan beberapa sambungan secara bersamaan oleh entitas tunggal). Hal ini didasarkan pada penggunaan selector (entitas tunggal) untuk memantau koneksi baru dan transmisi data dari koneksi yang ada. Selector digunakan untuk memantau kejadian, artinya, daripada memiliki thread terpisah yang dialokasikan untuk setiap koneksi, lebih baik memiliki satu thread (atau lebih) untuk memantau beberapa saluran sekaligus.

Kata Kunci : Thread, Multithreading, NIO

I. PENDAHULUAN

Saat ini hampir semua program melakukan lebih dari satu tugas pada waktu yang sama (bersamaan). Sebagai contoh;aplikasi client/server dengan program servernya kadang-kadang harus memproses kebutuhan beberapa ratus klien pada waktu yang sama.

Beberapa tahun yang lalu, setiap client yang terhubung ke server akan menyebabkan proses baru di server. Masalah yang timbul adalah blok memori harus disisihkan untuk

akan terhenti (ratusan, bahkan ribuan klien mencoba untuk mengakses layanan server secara bersamaan.

masalah ini adalah dengan menggunakan “threadpenggunaan thread tidak dapat menjamin bahwa server dapat mengurangi kemungkinan hal itu terjadi saat banyak client mengakses server dalam waktu yang bersamaan.

II. HASIL DAN PEMBAHASAN

2.1.

melalui sebuah program. Tidak seperti prosethreadterpisah, namun dengan yang sama.

program akan memiliki setidaknya satu threadVirtual Machinedijalankan. program dimulai dan berakhir ketika ‘berakhir. Menggunakan lebih dari satu disebut

sama masingatau waktu kuantum untuk di eksekusi pada prosesor. Ketika kuantum habis, pertama dihentikan dan dalam antrian akan dieksekusi prosesor, dan seterusnyaperhatian yang lebih mendesak daripada yang lain, maka prioritas lebih tinggi (memungkinkan terjadi).

2.2.

MULTITHREADING DAN MULTIPLEXING UNTUK APLIKASI SISTEM TERDISTRIBUSI

GafrunSTMIK Catur Sakti, Kendari

[email protected] terhenti (crash), karena mungkin ratusan, bahkan ribuan klien mencoba untuk mengakses layanan server secara bersamaan.

Sebuah cara signifikan mengurangi masalah ini adalah dengan menggunakan thread”, bukan proses. Meskipun

penggunaan thread tidak dapat menjamin bahwa server tidak akan crash, namun thread dapat mengurangi kemungkinan hal itu terjadi saat banyak client mengakses server dalam waktu yang bersamaan.

II. HASIL DAN PEMBAHASAN

2.1. Thread

Thread adalah aliran kontrol yang melalui sebuah program. Tidak seperti proses, thread tidak memiliki alokasi memori yang terpisah, namun thread dapat berbagi memori dengan thread lain yang dibuat oleh aplikasi yang sama.

Pada pemrograman Java, masing-masing program akan memiliki setidaknya satu thread yang dibuat secara otomatis oleh Java Virtual Machine (JVM) ketika program dijalankan. Thread dibuat ketika ‘main’program dimulai dan berakhir ketika ‘main’ berakhir. Menggunakan lebih dari satu threaddisebut multithreading.

Pada PC, thread dengan prioritas yang sama masing-masing diberi waktu yang sama atau waktu kuantum untuk di eksekusi pada prosesor. Ketika kuantum habis, threadpertama dihentikan dan thread berikutnya dalam antrian akan dieksekusi prosesor, dan seterusnya. Jika ada thread membutuhkan perhatian yang lebih mendesak daripada yang lain, maka thread tersebut dapat diberi prioritas lebih tinggi (pre-emptionmemungkinkan terjadi).

2.2. Menggunakan Threads di Java

Runnable, yang hanya memiliki satu metode: run. Ada dua metmenciptakan class thread:

a) membuat class

b) membuat classdan menentukan secara eksplisit implements Runnable

Jika class aplikasi sudah memiliki superclass (selain Obbukanlah pilihan, karena Java tidak mendukung multiple inheritance

2.3. Extending the Thread Class

Method run menentukan tindakan yang akan di eksekusi oleh thread. Seperti run tidak dapat dipanggil secara langsung. Program memanggil method dari class Thread), yang kemudian secara otomatis dijalankan.

Class Thread memiliki tujuh konstruktor, dua yang paling umum adalah:

a) Thread ()b) Thread (String <name>)

Jika perintah yang pertama digunakan, sistem ini menghasilkan nama dimana n adalah bilangan bulat mulai dari nol dan meningkatkan nilai untuk thread selanjutnya. Jadi, jika tiga thread diciptakan melalui konstruktor pertama, maka thread akan memiliki nama ThreadThread-2 dan metode untuk mengambil nama.

Contoh:Thread firstThread = new Thread();Thread secondThread = new Thread("namedThread");System.out.println(firstThread.getName());System.out.println(secondThread.getName());

Output dari baris di atas akan menjadi:Thread-0namedThread

Metode “sleepmembuat jeda threadselama beberapa milidetik. Perintah ini menunda pelaksanaan memungkinkan thread

Gambar 1. Ilustrasi Thread

UNTUK APLIKASI

, yang hanya memiliki satu metode: . Ada dua metode dasar untuk

menciptakan class thread:

yang extends Thread;

yang tidak extends Threaddan menentukan secara eksplisit implements Runnable.

aplikasi sudah memiliki (selain Obyek), meng-Thread

ihan, karena Java tidak multiple inheritance.

Extending the Thread Class

menentukan tindakan yang akan di eksekusi oleh thread. Seperti main,

tidak dapat dipanggil secara langsung. Program memanggil method start (diwarisi dari class Thread), yang kemudian secara otomatis dijalankan.

Class Thread memiliki tujuh konstruktor, dua yang paling umum adalah:

Thread (String <name>)

Jika perintah yang pertama digunakan, sistem ini menghasilkan nama Thread-n,

adalah bilangan bulat mulai dari nol dan meningkatkan nilai untuk thread selanjutnya. Jadi, jika tiga thread diciptakan melalui konstruktor pertama, maka thread akan memiliki nama Thread-0, Thread-1 dan

2 dan metode getName digunakan k mengambil nama.

Thread firstThread = new Thread();Thread secondThread = new Thread("namedThread");System.out.println(firstThread.getName())

System.out.println(secondThread.getNam

Output dari baris di atas akan menjadi:

sleep” digunakan untuk thread untuk jumlah tertentu

selama beberapa milidetik. Perintah ini menunda pelaksanaan thread dan

thread lainnya dieksekusi.

Page 201: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

sendiri. Secara khusus, metode ini dapat digunakan oleh thread lain untuk 'membangunkan' thread lain yang ‘tidur’ sebelum waktu tidur thread habis. Metode sleep akan memeriksa exception(InterruptedException) jika thread lain memanggil metode interrupt dan InterruptedException harus di panggil dari dalam blok try yang menangkap exception ini.

Dalam program contoh, masing-masing dari kedua thread itu melakukan tugas yang sama, yang berarti bahwa masing-masing dapat dibuat dari class Thread yang sama dan memanfaatkan method run persis sama.

Dalam prakteknya, setiap thread akan melakukan tugas yang berbeda. Jika kita ingin thread untuk melaksanakan tindakan yang berbeda, maka kita harus membuat sebuah class terpisah untuk masing-masing thread(masing-masing dengan metode yang dijalankan sendiri).

2.4. Implementasi Interface Runnable

Langkah pertama yaitu membuat classaplikasi yang secara eksplisit mengimplementasikan Runnable interface. Kemudian untuk membuat Thread, harus meng-instantiate obyek class Runnable dan mem-'bungkus'-nya dalam sebuah objek Thread. Hal ini dilakukan untuk menciptakan sebuah obyek Thread dan melewati obyek Runnable sebagai argumen ke konstruktor Thread. (Ingat bahwa class Thread memiliki tujuh konstruktor.) Ada dua Thread konstruktor yang memungkinkan kita untuk melakukan hal ini:

a) Thread (<object> Runnable) b) Thread (<object> Runnable, <name>

String)

Ketika salah satu dari konstruktor digunakan, obyek Thread menggunakan metode run objek Runnable di tempat (kosong) metodenya sendiri.

dinamis dengan menggunakan operator baru di argumen konstruktor Thread, seperti ditunjukkan pada contoh berikut.

2.5. Multithreaded Servers

Ada persoalan mendasar dan penting yang terkait dengan semua program server yaitu :

a) Program server hanya dapat menangani satu koneksi pada satu waktu.

Ada dua solusi yang mungkin:

a) menggunakan non-blocking server;

b) menggunakan multithreaded server.

Sebelum J2SE 1.4, tidak ada ketentuan khusus untuk non-blocking I/O di Java, sehingga pilihan multithreaded adalah satu-satunya pilihan bagi programmer Java. Pengenalan non-blocking I/O dalam J2SE 1.4 adalah kemajuan besar untuk programmer Java untuk jaringan.

Teknik multithreaded memiliki beberapa manfaat yang signifikan:

1. Bersih, karena membagi tugas antara alokasi koneksi dengan pemrosesan setiap koneksi;

2. Handal, karena masalah dengan satu koneksi tidak akan mempengaruhi koneksi lainnya.

Teknik dasar melibatkan dua tahap proses:

1. Thread utama mengalokasikan threadindividu untuk mempersilahkan klien masuk;

2. Thread yang dialokasikan untuk setiap klien bertugas menangani semua interaksi antara klien dan server (melalui thread, method run).

Karena setiap thread bertanggung jawab untuk menangani semua dialog dengan klien, thread utama bisa 'lupa' tentang klien karena thread telah dialokasikan untuk itu. Untuk setiap thread penanganan-klien yang dibuat, thread utama harus memastikan bahwa penanganan klien thread dilewatkan referensi ke socket yang dibuka untuk klien terkait. Pemisahan tanggung Jawab berarti bahwa, jika terjadi masalah dengan koneksi ke klien tertentu, itu tidak berpengaruh pada koneksi ke klien lain dan tidak hilangnya layanan umum.

2.6. Locking dan Deadlock

Menulis program multithreaded tidak mudah dan masalah utama disebabkan oleh

Untuk update singkatnya, setiap threadharus melengkapi operasi: membaca nilai sumsaat ini, membuat copy dari sum, tambahkan sum yang sesuai untuk menyalin dan kemudian menuliskan nilai baru kembali.

Nilai akhir dari dua operasi update harus47 (=23+5+19). Namun, jika kedua thread membaca sebelum terjadi proses menulis, maka satu update akan menimpa yang lain dan hasilnya adalah 28 (= 23+5) atau 42 (= 23+19). Masalahnya adalah bahwa sub-operasi dari dua update mungkin tumpang tindih satu sama lain.

Untuk menghindari masalah ini di Java, dapat menggunakan thread untuk mendapatkan kunci obyek yang akan diperbarui. Hanya thread yang telah memperoleh kunci yang bisa mengupdateobyek. Setiap thread (update) lain harus menunggu sampai kunci telah dilepaskan. Setelah thread pertama selesai memperbarui, thread pertama harus melepaskan kunci, membuatnya tersedia untuk thread lainnya.

Salah satu kemungkinan terburuk dengan sistem ini adalah kebuntuan (deadlock) yang mungkin terjadi. Perhatikan contoh diilustrasikan pada Gambar 4.

Thread1 memiliki kunci pada res1, tetapi perlu untuk mendapatkan kunci pada res2 untuk menyelesaikan pengolahannya (Sehingga dapat melepaskan kunci pada res1). Pada saat yang sama, thread2 memiliki kunci pada res2, tetapi perlu untuk mendapatkan kunci pada res1 untuk menyelesaikan pengolahannya. Karena thread1 dan thread2 memprosesnya secara bersamaan, maka terjadilah kebuntuan (deadlock).

Gambar 4. Sebuah ilustrasi kebuntuan (deadlock).

Gambar 3. Dua thread mencoba memperbarui variabel yang sama pada waktu bersamaan.

Gambar 2. Output dari program ThreadShowName

Page 202: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

public synchronized void updateSum(int amount) { sum+=amount; }

Jika sum tidak terkunci ketika metode di atas dipanggil, maka kunci sum diperoleh dan mencegah thread lain melaksanakan updateSum. Semua thread yang mencoba untuk memanggil metode ini harus menunggu. Setelah metode selesai dieksekusi, kunci akan dilepaskan dan tersedia untuk thread lain. Jika sebuah objek memiliki lebih dari satu metode dan di sinkronkan, maka hanya satu thread yang aktif pada waktu tertentu.Untuk meningkatkan efisiensi thread dan membantu menghindari deadlock, berikut metode yang digunakan:

a) wait();b) notify();c) notifyAll().

Jika sebuah thread menjalankan metode synchronized, maka metode lain harus menunggu sampai metode tersebut selesai dijalankan. Metode ini melepaskan penguncian terhadap thread di obyek bersama dan memungkinkan thread lain untuk mendapatkan kunci. Sebuah panggilan untuk wait dapat menyebabkan suatu InterruptedException yang harus ditangkap atau dibuang.

Ketika metode synchronized selesai dijalankan, panggilan dapat dilakukan untuk notify, dan membangunkan sebuah thread yang dalam keadaan menunggu. Karena tidak ada cara menentukan thread mana yang harus dibangunkan, cara ini hanya benar-benar tepat jika hanya ada satu thread yang menunggu. Jika semua thread menunggu kunci pada objek tertentu dan harus dibangunkan, maka dapat digunakan metode notifyAll.

Metode wait, notify dan notifyAllhanya dapat dipanggil ketika thread saat ini mengunci objek (misalnya, dari dalam metode synchronized atau dari dalam metode yang telah dipanggil oleh metode synchronized). Jika salah satu metode ini dipanggil dari tempat lain, IllegalMonitorStateExceptionakan dibangkitkan.

Pada contoh ekstrem yang lain, konsumen tidak harus diperbolehkan untuk mengkonsumsi bila tidak ada apa-apa untuk dikonsumsi (yaitu, ketika tingkat resource telah mencapai nol). Jadi, jika tingkat resource di nol maka metode takeOne dieksekusi, menunggu dipanggil dari dalam loop yang terus menerus memeriksa bahwa level masih nol.

2.8 Non-Blocking Servers

Sebelum J2SE 1.4. programmermensimulasikan non-bloking I/O dengan menggunakan metode available dari class InputStream. Tanda untuk metode ini adalah int available() throws IOException

Objek InputStream terpasang di koneksi jaringan, metode ini mengembalikan jumlah byte yang diterima melalui koneksi (dan sekarang dalam memori), tetapi belum dibaca. Dalam rangka untuk mensimulasikan non-blocking I/O, bisa dibuat koneksi yang terpisah (pada port yang sama) untuk setiap klien yang masuk dan berulang kali klien 'polling' pada gilirannya, menggunakan metode yang tersedia untuk memeriksa data pada masing-masing sambungan. Namun metode ini kurang baik digunakan.

J2SE 1.4 memperkenalkan New Input/Output API, sering disingkat NIO API yang terdapat pada paket java.nio dan beberapa sub-paket, yang palingterkenal di antaranya adalah java.nio.channels. NIO memanfaatkan konsep channel. Pada dasarnya, daripada berorientasi byte seperti Java stream, channel-berorientasi blok. Ini berarti bahwa data dapat ditransfer dalam blok besar, bukan sebagai byte individual.

Setiap channel terkait dengan buffer, yang menyediakan tempat penyimpanan data yang dituliskan ke channel atau membaca dari channel tertentu. Hal ini bahkan dimungkinkan untuk menggunakan buffer langsung, dan menghindari penggunaan Java buffer sedapat mungkin sehingga menyebabkan kecepatan keuntungan lebih besar.

Mekanisme untuk menangani beberapa klien. NIO menggunakan multiplexing(penanganan beberapa sambungan secara bersamaan oleh entitas tunggal). Hal ini didasarkan pada penggunaan selector (entitas tunggal) untuk memantau koneksi baru dan transmisi data dari koneksi yang ada. channel dapat dipakai pada mode blocking atau mode non-blocking, tetapi saat ini akan menggunakan mode non-blocking.

Penggunaan selector untuk memantau peristiwa berarti bahwa, daripada memiliki thread terpisah yang dialokasikan untuk setiap koneksi, lebih baik memiliki satu thread (atau lebih) untuk memantau beberapa saluran sekaligus. Hal ini untuk menghindari masalah seperti batas sistem operasi, deadlock dan pelanggaran keamanan thread yang mungkin terjadi dengan satu thread per satu koneksi.Meskipun pendekatan multiplexingmenawarkan keuntungan yang signifikanselama satu multithreaded, pelaksanaannya sangat kompleks. Namun, sebagian besar asli class I/O, pada kenyataannya, telah didesain ulang untuk menggunakan channel sebagai mekanisme yang mendasari, yang berarti bahwa pengembang dapat menuai beberapa manfaat dari NIO tanpa mengubah program mereka. Jika kecepatan yang lebih besar diperlukan, akan diperlukan untuk menggunakan NIO langsung.

III. KESIMPULAN

Dengan adanya thread dapat mengurangi kemungkinan server terjadi crash saat banyak client mengakses server dalam waktu yang bersamaan. Multithreaded dapat membagi tugas antara alokasi koneksi dengan pemrosesan setiap koneksi. Handal, karena masalah dengan satu koneksi tidak akan mempengaruhi koneksi lainnya.

REFERENSI

Gambar 6. Output dari dua ConsumerClientsterhubung ke ResourceServer

Gambar 5. Contoh output dari ResourceServer(dengan dua klien menghubungkan).

Page 203: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

203

[2] http://kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch11s02.html

Page 204: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

204

Implementasi Common Object Request Broker

Architectureuntuk Aplikasi Terdistribusi

Komang AryasaSa

lkin LutfiA

smawaty azisSTMIK Dipanegara Makassar

STMIK Tidore Mandiri

Univ. Hasanuddin [email protected]

[email protected]

[email protected]

ABSTRACTArsitektur aplikasi terdistribusi yang memodelkan semua fungsionalitas sistem dalam bentuk obyek memberikan banyak fleksibilitas. Fleksibilitas di dapat dengan pendefinisian komponen antarmuka yang menjelaskan layanan dalam komponen serta bagaimana pemanfaatannnya. CORBA menyediakan framework untuk membangun dan menjalankan aplikasi terdistribusi. menjelaskan langkah membangun aplikasi terdistribusi beserta contoh dengan CORBA dan java.

1. PendahuluanDalam membangun suatu aplikasi, terkadang di dapatkan situasi tanpa pilihan bahwa aplikasi harus terdistribusi dikarenakan alasan :- Data yang digunakan aplikasi berada pada

beberapa lokasi berlainan.- Komputasi dilakukan secara terdistribusi.- Pengguna aplikasi berada pada lokasi yang

berlainan.Beberapa aplikasi harus dijalankan pada beberapa komputer dikarenakan data yang dibutuhkan oleh aplikasi harus berada di beberapa komputer untuk alasan administrasi dan kepemilikan data tersebut.

2. CORBA2.1. Definisi

CORBA (Common Object Request Broker Architecture) adalah suatu standard untuk sistem objek oriented terdistribusi yang dikembangkan oleh OMG (Object Management Group), CORBA bukan implementasi spesifik, namun spesifikasi untuk menciptakan dan menggunakandidistribusikan objek. Implementasi individu spesifikasi ini merupakan ORB (Object Request Broker) dan ada beberapa implementasi seperti saat ini tersedia di pasar. CORBA menggunakan bahasa khususyang disebut Interface Definition Language (IDL) untuk mendefinisikan interface tersebut. Meskipun bahasa ini memiliki

kesamaan sintaksis ke C + +, bukan merupakan pemrograman full-blown .Setiap ORB menyediakan akses ke obyek perangkat lunak tertentu dalam bahasa pemrograman, dimana ORB harus menyediakan suatu pemetaan dari IDL ke bahasa target. Pemetaan saat tertentu termasuk untuk Java, C + +, C, Smalltalk, COBOL dan Ada.

Gambar 2.1 : Ilustrasi Salah Satu Metode Berbagai Obyek Terdistribusi antara Client dan Server CORBA

2.2 Struktur suatu Spesifikasi Java IDLUntuk menjaga agar CORBA bebas vendor dan bebas penggunaan bahasa, harus ada perantara antara server CORBA sebagai contoh dengan C++ dengan sebagai contoh client CORBA dengan Java. Perantara tersebut adalah IDL. Metode-metode yang berhubungan dan property didukung oleh obyek dikumpulkan bersama dalam sebuah IDL. IDL yang telah didefinisikan di kompile menjadi bahasa pemrograman yang diinginkan dengan kompiler yang tersedia. Misal, Java/IDL kompiler terdapat pada Visigenic Visibroker untuk ORB Java atau Java 2 ORB yang terdapat dalam Sun’s JDK 2 SDK, C++/IDL kompiler terdapat dalam Visigenic Visibroker untuk ORB C++. CORBA mendefinisikan IIOP (Internet Inter-ORB Protocol) untuk mengatur bagaimana objek berkomunikasi melalui jaringan. IIOP merupakan open protocol yang berjalan diatas TCP/IP. Pada Java, CORBA merupakan pelengkap untuk menyediakan framework distribusi objek, services pendukung framework itu, dan kemampuan antar operasi dengan bahasa pemrograman lainnya. CORBA untuk client-server menggunakan protokol IIOP (Internet InterORB Protocol) untuk komunikasi antara server dan klien.

Gambar 2.2 Remote ketika klien dan server menggunakan ORB yang berbeda.

3. Proses Java IDL

Dalam Java IDL compiler yang menerjemahkan IDL programmer ke dalam Java konstruksi, menurut pemetaan IDL-to-Java. Sebelum J2SE 1.3, ini kompilator dipanggil idltojava dan tersedia sebagai sebuah download yang terpisah. Pada J2SE 1.3, compiler disebut idlj dan merupakan bagian dari download Java inti. Stub dan skelaton (dan sejumlah file lain) yang dihasilkan oleh kompilator idlj untuk setiap jenis objek yang ditentukan pada file. IDL. Setelah file-file ini telah dihasilkan, file implementasi Java dapat ditulis, disusun dan dihubungkan dengan idlj file yang dihasilkan dan pustaka ORB untuk membuat server objek, setelah program klien (s) dapat ditulis untuk mengakses layanan yang disediakan.

Meskipun kedua kalimat sebelumnya meringkas prosedur dasar, ada beberapa langkah yang diperlukan untuk membuat klien CORBA / aplikasi server. Langkah-langkah ini tercantum di bawah ini.1. Gunakan idlj compiler untuk

mengkompilasi file di atas, menghasilkan sampai enam file untuk setiap interface didefinisikan.

2.Masing-masing mengimplementasikan antarmuka sebagai ‘servant’.

3. Buat server (incorporating servants).4. Kompilasi server dan file idlj-dihasilkan.5. Buat klien.6. Kompilasi klien.7. Jalankan aplikasi.

Contoh Aplikasi ini hanya menampilkan salam untuk setiap klien yang menggunakan antarmuka yang sesuai terdaftar dengan Java IDL ORB untuk memanggil yang terkait metoda pelaksanaan di server. Langkah-langkah akan diberi nomor seperti di atas

1. Membuat file IDL.File akan disebut Hello.idl dan akan

terus modul yang disebut Simple CORBA Example. Modul ini akan berisi sebuah antarmuka tunggal yang disebut Hello bahwa memegang tanda tangan untuk get Greeting operasi. Isi file ini akan ditampilkan di bawah ini:module HelloApp { interface Hello {

string sayHello();};

};

2. Kompilasi file IDL.Default compiler idlj untuk

menghasilkan hanya binding sisi-klien. Untuk bervariasi ini standar perilaku, opsi-f dapat digunakan. Hal ini diikuti oleh salah satu dari tiga mungkin penspesifikasi: klien, server dan semua. Jika klien dan server harus dijalankan pada mesin yang sama, maka semua sesuai dan baris perintah berikut harus masukkan:

idlj-fall Hello.idl

Hal ini menyebabkan sub-direktori dengan nama yang sama sebagai modul yaitu, (SimpleCORBAExample) yang akan dibuat, memegang enam file tercantum di bawah ini.

• Hello.javaBerisi versi Java interface IDL kami. Ia meluas antarmuka HelloOperations

Page 205: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

205

[Lihat di bawah], serta org.omg.CORBA.Object (menyediakan standar CORBA fungsionalitas objek) dan org.omg.CORBA.portable.IDLEntity.

• HelloHelper.javaMenyediakan fungsi tambahan, khususnya metode sempit yang diperlukan untuk cor Obyek CORBA referensi ke Halo referensi.

• HelloHolder.javaMemiliki anggota contoh umum dari tipe Hello. Apakah ada keluar atau inout argumen (yang CORBA memungkinkan, tetapi tidak mudah diterapkan ke Java), file ini juga akan memberikan operasi bagi mereka.

• HelloOperations.javaBerisi tanda tangan metode Java untuk semua operasi dalam file IDL kami. Dalam hal ini aplikasi, berisi getGreeting metode tunggal.

• HelloImplBase.javaSebuah kelas abstrak yang terdiri dari kerangka server. Ini menyediakan CORBA dasar fungsionalitas untuk server dan mengimplementasikan antarmuka Hello. Setiap hamba (Implementasi interface) yang kita ciptakan untuk layanan ini harus memperluas HelloImplBase.

• HelloStub.javaIni adalah rintisan klien, menyediakan fungsi CORBA untuk klien. Seperti HelloImplBase.java, Ia mengimplementasikan antarmuka Hello. Sebelum J2SE 1.3, metode tanda tangan akan telah ditetapkan dalam Hello.java, tetapi yang sekarang disimpan dalam HelloOperations.java.

3. Membuat File Server yang terdiri dari : HelloImpl.Java

import HelloApp.*;import org.omg.CORBA.*;class HelloImpl extends HelloPOA {

private ORB orb;public HelloImpl(ORB

orb) {this.orb = orb;}

public String sayHello() { return "\nHello world!!\n"; }}

HelloServer.javaimport HelloApp.*;import org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage.*;import org.omg.CORBA.*;import org.omg.PortableServer.*;import org.omg.PortableServer.POA;public class HelloServer { public static void main(String args[]) { try { ORB orb = ORB.init(args, null); HelloImpl impl = new HelloImpl(orb);

POA rootpoa = POAHelper.narrow (orb.resolve_initial_references("RootPOA")); rootpoa.the_POAManager().activate(); org.omg.CORBA.Object ref = rootpoa.servant_to_reference(impl); Hello href = HelloHelper.narrow(ref); org.omg.CORBA.Object objRef =orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); String name = "Hello"; NameComponent path[] = ncRef.to_name( name ); ncRef.rebind(path, href); System.out.println("HelloServer siappp grak..."); orb.run(); } catch (Exception e) { System.out.println("Ada kesalahan sistem!");} }}

HelloClient.javaimport HelloApp.*;import org.omg.CosNaming.*;import org.omg.CORBA.*;class HelloClient{ public static void main(String args[]){ try{ ORB orb = ORB.init(args, null); org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("Hello", ""); NameComponent path[] = {nc}; Hello helloRef = HelloHelper.narrow( ncRef.resolve(path)); System.out.println(helloRef.sayHello()); } catch(Exception e) { System.out.println("ERROR : " + e);}}

}

4. Menjalankan aplikasi Client Server

Jalankan kompiler IDL-to-Java (idlj) pada file .idl untuk membuat stub dan skeletons dengan perintah (jika perintah tidak dikenali, set path ke jdk):

idlj -fall Hello.idl

dari proses kompilasi diatas akan menghasilkan file sebagai berikut: HelloPOA.java, _HelloStub.java, Hello.java, HelloHelper.java, HelloHolder.java dan

HelloOperation.java pada sebuah Direktori Bernama HelloApp

Compilasi Semua Fila yang ada pada Direktori HelloApp dengan Perintah :

javac HelloApp/*.java

Compilasi File berikut dengan perintah:

javac HelloImpl.javajavac HelloServer.javajavac HelloClient.java

Jalankan naming service untuk membuka server ORB dengan perintah :

tnameserv -ORBInitialPort 50000 .Jalankan aplikasi server dan client

dengan perintah : java HelloServer -ORBInitialPort 50000 java HelloClient -ORBInitialPort

50000

5. Implementasi Kompilasi Idl

Kompilasi file java yang terdapat pada direktori HelloApp

Kompilasi file HelloImpl, HelloServer dan HelloClient

Page 206: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

206

Membuka port ORB

Jalankan aplikasi HelloServer

Jalankan aplikasi HelloClient

6. Kesimpulan

CORBA (Common Object Request Broker Architecture) adalah suatu standard untuk sistem objek oriented terdistribusi yang dikembangkan oleh OMG (Object Management Group), Meskipun bahasa ini memiliki kesamaan sintaksis C ++, tetapi CORBA bukan merupakan bahasa pemrograman, namun CORBA dapat di implementasikan ke berbagai bahasa pemrograman.7. ReferensiGraba Jan, BA, PGCE, MSc.2007. An Introduction to Network Programming with Java. British Library:Inggris

Page 207: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

207

WEB SERVICE

Page 208: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

DISCOVERING WEB SERVICEAndi Yulia MuniarUniversitas Hasanuddin

Makassar, Indonesia

[email protected]

Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain waplatform, sistem operasi, maupun bahasa compiler.Web Service dibangun pada landasan protocol XML. Untuk pertukaran pesan mungkin digunakan SOAP, XML-RPC. Untuk menggambarkan service digunakan WSDL. Untuk pencarian service (discovering web service) digunakan UDDI.Dalam laporan ini kami akan memaparkan mengenai WSDL dan UDDI dalam menggambarkan, mempublikasikan, dan menemukan web service.

KeywordsWeb service, XML, WSDL, SOAP, UDDI.

PENDAHULUANSaat ini, dua teknologi paling populer yang digunakan pada Internet adalah eWorld Wide Web. Pada beberapa tahun yang akan dating, kita mungkin melihat teknologi internet lain yang sangat penting : “Web Service”.

Konsep komunikasi antar program apl ikasi sesungguhnya bukan baru. Beberapa terapannya sudah dilakukan sebelumnya :

Sun RPC (1985) C O R B A ( 1 9 9 2 ) DCE / RPC (19 93 ) M ic ro so f t CO M (1 99 3 ) M i c r o s o f t D C O M ( 1 9 9 6 ) Java RMI (1996)

Method yang dimiliki suatu class yang

DISCOVERING WEB SERVICEAndi Ismail AkbarSTMIK Tidore Mandiri

[email protected]

Yuliana KolyaanUniversitas Musamus Merauke

[email protected]

Web service adalah suatu sistem perangkat lunak dirancang untuk mendukung interoperabilitas

dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem

stem lain dapat berinteraksi dengan layanan (service)

yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.Web Service dibangun pada landasan protocol XML. Untuk pertukaran pesan mungkin digunakan

RPC. Untuk menggambarkan service digunakan WSDL. Untuk pencarian service

) digunakan UDDI.Dalam laporan ini kami akan memaparkan

menggambarkan, mempublikasikan, dan

Web service, XML, WSDL, SOAP, UDDI.

Saat ini, dua teknologi paling populer yang digunakan pada Internet adalah e-mail dan World Wide Web. Pada beberapa tahun yang akan dating, kita mungkin melihat teknologi internet lain yang sangat penting : “Web

komunikasi antar program aplikasi sesungguhnya bukan konsep

apa terapannya sudah

suatu class yang

suatu web site dapat diakses dari web site lain.

Web service itu dapat dibuat dalam suatu bahasa pemrograman dan dikenali oleh bahasa pemrograman lain. Interfacenya didefinisikan dengan XML. Antar aplikasi berinteraksimenggunakan pesan-pesan berbasis XML yang dibawa oleh protokol Internet. Web Service diidentifikasi dengan URI resource identifier).

Gambar berikut mungkin lebih menjelaskan konsep Web Service.

Website 1 Website 2

Gambar 1. Akses aplikasi di website lain melalui XML

DEFINISI WEB SERVICEMenurut W3C [5] Web service adalah suatu sistem perangkat lunak yang didesain untuk mendukung interaksi mesin ke mesin pada suatu jaringan. Ia mempunyai suatu interface yang diuraikan dalam suatu format machine-processible seperti WSDL. Sistem yang berinteraksi dengan Web service dilakukan melalui interface/ ant ar muka menggunakan pesan seperti pada SOAP. Pada umumnya pesan ini melalui HTTP dan XML yang merupakan salah satu standard web. Perangkat Lunak aplikasi yang ditulis dalam berbagai bahasa pemrograman dan berjalan berbagai platform dapat menggunakanService untuk pertukaran data pada komputer seperti Internet dalam cara yangdengan komunikasi interprocess tunggal. Interoperabilitas ini (sebagai contoh, antara Java dan Python, atau Microsoft Windows

Yuliana KolyaanUniversitas Musamus Merauke

[email protected]

suatu web site dapat diakses dari web

Web service itu dapat dibuat dalam suatu bahasa pemrograman dan dikenali oleh bahasa

Interfacenya didefinisikan XML. Antar aplikasi berinteraksi

pesan berbasis XML yang dibawa oleh protokol Internet. Web Service diidentifikasi dengan URI (universal

Gambar berikut mungkin lebih menjelaskan

Gambar 1. Akses aplikasi di website lain melalui XML

Menurut W3C [5] Web service adalah suatu sistem perangkat lunak yang didesain untuk mendukung

in pada suatu jaringan. Ia mempunyai suatu interface yang diuraikan dalam suatu format

processible seperti WSDL. Sistem lain yang berinteraksi dengan Web service

/ ant ar muka menggunakan pesan seperti pada SOAP. Pada umumnya pesan ini melalui HTTP dan XML yang merupakan salah satu standard web. Perangkat Lunak aplikasi yang ditulis dalam berbagai bahasa pemrograman dan berjalan pada berbagai platform dapat menggunakan Web

data pada jaringan komputer seperti Internet dalam cara yang serupa

process pada komputer (sebagai contoh,

Microsoft Windows

Page 209: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

Michael C. Daconta [2], Web Service adalah aplikasi perangkat lunak yang dapat ditemukan, diuraikan, dan diakses berdasarkan pada XML dan protokol standard Web pada intranet, extranet, dan Internet. Web Service adalah aplikasi perangkat lunak yang tersedia pada melaksanakan fungsi yang spesifik. Berikutnya, kita akan lihat di pertengahan dari yakni “ditemukan, diuraikan, dan berdasarkan pada XML dan protokol Web.” Dibangun pada XML, suatu yang didukung dan diterima oleh ribu vendor di seluruh dunia, Web pertama fokus pada interoperabilitas. adalah sintaksis dari pesan, dan Hypertext Transport Protocol (HTTP), bagaimamengirimkan pesan XML ke Web Service dalam rangka berkomunikasi. Teknologi Web Service, seperti Universal Description, Discovery, and Integration (UDDI) dan ebXML registries, memungkinkan aplikasi untuk secara dinamis menemukan informasi tentang Web Service, bagian “penemuan” dari definisi kita. Pesan sintaksis untuk suatu Web Service diuraikan di dalam WSDL (Web Service Definition Language. Ketika kebanyakan teknolog berpikir tentang Web Service, mereka berpikir tentang SOAP, bagian “yang diakses” dari definisi Web Service kita. SOAP, yang dikembangkan sebagai Simple Object Access Protocol, adalah protokol pesan berbasis XML (atau API) untuk berkomunikasi dengan Web Service. SOAP adalah dasar untuk Web Service, sebab ia adalah protokol yang telah diakui semua orang.

Bagian akhir dari definisi kita menyebutkan bahwa Web Service tersedia “pada intranets, extranets, dan Internet.” dimana Web Service tidak hanya menjadi publik, mereka dapat ada pada suatu jaringan internal untuk aplikasi internal. Web Service bisa digunakan antar mitra organisasi dalam solusi B2B yang kecil. Penting memahami bahwa ada manfaat bagi penggunaan Web Service secara internal seperti halnya secara ekste

ARSITEKTUR WEB SERVICEWeb Service dibangun pada landasan protocol XML. Untuk pertukaran pesan mungkin digunakan SOAP, XML-RPC. Untuk menggambarkan service digunakan WSDL. Untuk pencarian service

], Web Service perangkat lunak yang

diuraikan, dan diakses dan protokol

extranet, dan aplikasi

perangkat lunak yang tersedia pada Web yang melaksanakan fungsi yang spesifik. Berikutnya, kita akan lihat di pertengahan dari definisi yakni “ditemukan, diuraikan, dan diakses

otokol standard Web.” Dibangun pada XML, suatu standard yang didukung dan diterima oleh beribu-ribu vendor di seluruh dunia, Web Service pertama fokus pada interoperabilitas. XML adalah sintaksis dari pesan, dan Hypertext Transport Protocol (HTTP), bagaimana aplikasi mengirimkan pesan XML ke Web Service dalam rangka berkomunikasi. Teknologi Web Service, seperti Universal Description, Discovery, and Integration (UDDI) dan ebXML registries, memungkinkan aplikasi untuk secara dinamis menemukan informasi tentang Web

bagian “penemuan” dari definisi kita. Pesan sintaksis untuk suatu Web Service

Web Service Definition Language. Ketika kebanyakan teknolog berpikir tentang Web Service, mereka

r tentang SOAP, bagian “yang diakses” dari definisi Web Service kita. SOAP, yang dikembangkan sebagai Simple Object Access Protocol, adalah protokol pesan berbasis XML (atau API) untuk berkomunikasi dengan Web Service. SOAP adalah dasar untuk Web

sebab ia adalah protokol yang telah

Bagian akhir dari definisi kita menyebutkan bahwa Web Service tersedia “pada intranets, extranets, dan Internet.” dimana Web Service tidak hanya menjadi publik, mereka dapat ada pada suatu jaringan internal untuk aplikasi internal. Web Service bisa digunakan antar mitra organisasi dalam solusi B2B yang kecil. Penting memahami bahwa ada manfaat bagi penggunaan Web Service secara internal seperti halnya secara eksternal.

WEB SERVICEWeb Service dibangun pada landasan protocol XML. Untuk pertukaran pesan mungkin digunakan

RPC. Untuk menggambarkan service digunakan WSDL. Untuk pencarian service

Gambar 2. Protokol pendukung Web ServiceWeb service memiliki tiga entitas dalam arsitekturnya, yaitu :

1. Service Provider (penyedia layanan) yang berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

2. Service Registry yang berfungsi sebagai local central yang mendeskripsikan semua layanan/service yang telah diregister.

3. Service Requestor (peminta layanan) yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.

Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu :1. Publish/Unpublish : menerbitkan/menghapus

layanan ke dalam atau dari registry.2. Find : service requestor mencari dan

menemukan layanan yang dibutuhkan.3. Bind : Service requestor setelah menemukan

layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider.[4]

Arsitektur Web Service diimplementasikan dalam lima layer berikut:

Gambar 3. Lima lapis teknologi pendukung Web Service

DISCOVERYDESCRIPTION

TRANSPORTNETWORK

PACKAGING

Protokol pendukung Web ServiceWeb service memiliki tiga entitas dalam

Service Provider (penyedia layanan) yang berfungsi untuk dan mengolah sebuah registry

layanan tersebut dapat tersedia.

2. Service Registry yang berfungsi sebagai local central yang mendeskripsikan semua layanan/service yang telah di-

3. Service Requestor (peminta layanan) yang enemukan layanan yang

dibutuhkan serta menggunakan layanan tersebut.Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu :1. Publish/Unpublish : menerbitkan/menghapus

layanan ke dalam atau dari registry.uestor mencari dan

menemukan layanan yang dibutuhkan.3. Bind : Service requestor setelah menemukan

layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang

provider.[4]Arsitektur Web Service diimplementasikan

Gambar 3. Lima lapis teknologi pendukung Web Service

DISCOVERYDESCRIPTION

TRANSPORT

PACKAGING

Page 210: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

210

service dan dokumen WSDLnya. Direktori UDDI digunakan aplikasi client untuk menemukan Web service.Layer bawahnya, “Description”, mendeskripsikan Web service, menggunakan standar WSDL.Layer bawahnya, “Packaging”, menyediakan mekanisme pemaketan informasi yang akan dikirimkan atau diterima. Format paket yang sering digunakan adalah SOAP, yang dibangun di atas XML. Dengan SOAP, aplikasi dan komponen dapat mengkomunikasikan pesan call dan return-nya.Layer bawahnya, “Transport” dan “Network” disediakan protocol TCP/IP untuk komunikasi pesan.[3]WSDL (Web Service Description Language)WSDL singkatan dari Web Services Description Language, dibuat utuk menggambarkan Web Service. WSDL ditulis dalam format XML, sehingga WSDL adalah dokumen XML. WSDL juga dimanfaatkan untuk mencari Web Service. WSDL sejak 2007 direkomendasikan oleh W3C.

Dokumen WSDL berisi informasi berikut: daftar web services yang tersedia, fungsi Web service, apa parameternya, apa outputnya, format cara pakai, alamat URLnya.Tag-tag yang digunakan dalam dokumen WSDL ditunjukkan dalam tabel berikut.

Tabel 1. Tag-tag dokumen WSDLElement Penjelasan

<types> tipe data yang akan digunakan web service<message

>messages yang akan dikirimkan web service.

<portType>

operasi (function) yang disediakan web service.

<binding>Protokol komunikasi yang digunakan web service- Bagaimana message dikirim di kabel?

<service> Dimana service disimpan

Struktur utama dokumen WSDL adalah sebagai berikut:

Gambar 4. Contoh dokumen WSDLWSDL biasanya tidak dibuat manual oleh programmer, namun dibuat otomatis oleh toolkit, semisal Altova® XMLSpy® diwww.w3schools.com.

UDDI (Universal Description, Discovery and Integration)

UDDI, s ingkatan dari Universa l Descr ip t ion, Discovery and I n tegra t ion (UDDI) P ro toco l , ada lah s tanda r be rbas i s XM L untuk menggambarkan, mempublikasikan dan menemukan Web service. UDDI merupakan inisiatif industri terbuka, oleh Microsoft, IBM, Ariba, dan sebagainya, yang memungkinkan pelaku bisnis saling menemukan satu dengan yang lain dan mendefinisikan bagaimana mereka berinteraksi melalui internet.UDDI bebas platform, merupakan kerangka kerja terbuka, dapat berkomunikasi melalui SOAP, CORBA, dan protocol RMI Java.UDDI menggunakan WSDL untuk menggambarkan interface ke web servi ce . B ersam a SO AP d an WSDL m erup akan t ig a fondasi st and ar w eb service.

UDDI terdiri dari dua bagian :

Direktori seluruh metadata web service termasuk pointer ke WSDL-nya.

Direktori yang digunakan aplikasi client untuk menemukan Web Service.

Tipe-tipe Informasi UDDIPerusahaan dapat mendaftarkan dirinya ke dalam tiga tipe informasi dalam UDDI registry. Informasi ini dimasukkan dalam tiga elemen UDDI [1]. Tiga elemen itu adalah :

1. White PageKategori “white page” berisi : informasi dasar tentang perusahaan dan bisnisnya, informasi kontak bisnis : nama bisnis, alamat, nomor telpon, NPWP, dsb. Informasi ini penting bagi pihak lain yang ingin tahu bisnis perusahaan tersebut.

2. Yellow PageKategori “yellow page” berisi : rincian lebih lanjut tentang perusahaan, termasuk kemampuan e-commerce. Di sini digunakan skema kategorisasi industri, kode industri, kode produk, kode identifikasi bisnis. Informasi ini memudahkan customer mencari produk yang mereka inginkan.

3. Green PageKategori “green pages” berisi informasi teknik tentang web service: lokasi URL, informasi

<definition><types>

definition of types<types><message>

definition of message<message ><portType>

definition of port< portType ><binding>

Page 211: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

“discovery” dan data terkait untuk menemukan dan menjalankan Web Service.

Arsitektur Teknik UDDIArsitektur Teknik UDDI terdiri dari tiga bagian :

UDDI data model : skema XML untuk menggambarkabisnis dan web service.

UDDI API Specification : spesifikasi API untuk mencari dan mempublikasikan data UDDI.

UDDI cloud services : ini adalah situs operator yang menyediakan implementasi spesifikasi UDDI dmensinkronkan secara periodic.

Gambar 5. Arsitektur Teknik UDDI

UDD I Bus ines s Reg i s t ry (UBR), ad a lah s is t em kons ep tua l tungga l da r i beberapa node yang memiliki

data ters inkronisasi melalui replikasi.

Tipe Data UDDIUDDI berisi skema XML yang menggambarkan lima tipe data: 1. businessEntity2. businessService3. bindingTemplate4. tModel5. publisherAssertion

Secara umum dapat digambarkan sebagai berikut:

“discovery” dan data terkait untuk menemukan menjalankan Web Service.

Arsitektur Teknik UDDI terdiri dari tiga

UDDI data model : skema XML untuk menggambarkan

UDDI API Specification : spesifikasi API untuk mencari

cloud services : ini adalah situs operator yang menyediakan implementasi spesifikasi UDDI dan

Gambar 5. Arsitektur Teknik UDDI

UDDI Bus iness Reg is t ry (UBR), ada lah s i s t em beberapa node yang memiliki

Secara umum dapat digambarkan sebagai berikut:

Gambar 6. UDDI Type

5.3.1 Entitas Bisnis (businessEntity)

Entitas bisnis (businessEntitypenyedia web services dalam UDDI registry. Informasinya meliputi : nama perusahaan, deskripsi bisnis, informasi kontak, lain. Gambar 7 menunjukkan contoh kasus.

Gambar 7. businessEntity dalam UDDI

5.3.2 businessService

Disini disimpan semua web service yang disediakan entitas bisnis. Berisi informasibagaimana menemukan web service , apa t ipe web se rv icenya, t e rmasuk ka tegor i t axonomi yang mana . Gam bar menunjukkan contoh kasus ini

<businessEntity

businessKey=“ABCD”> <name>BBC< /name>

<description>

...

</description></businessEntity>

Gambar 6. UDDI Type

businessEntity) menyatakan penyedia web services dalam UDDI registry. Informasinya meliputi : nama perusahaan, deskripsi bisnis, informasi kontak, informasi

menunjukkan contoh kasus.

Gambar 7. businessEntity dalam UDDI

Disini disimpan semua web service yang Berisi informasi

bagaimana menemukan web service , apa se rv icenya, t e rmasuk ka tegor i

t axonomi yang mana . Gam bar 8menunjukkan contoh kasus ini :

Page 212: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

212

Perhatikan penggunaan Universally Unique Identifiers (UUIDs) dalam atribut businessKeydan serviceKey. Setiap entitas bisnis dan business service diidentifikasi unik dalam seluruh registry UDDI melalui UUID yang diberikan registry ketika informasi pertama kali dimasukkan.

5.3.3 bindingTemplate

Pada bagian ini disimpan informasi teknis bagaimana service dapat diakses. Terkait Web Service ada alamat Web Service dan parameter. Tidak terkait Web Service ada E-mail, FTP, CORBA, Telephone.Suatu service mungkin memiliki beberapa binding, kaitan (misalnya web se rv ice b ind ing, t e lephone bind ing) . Gambar 9d iha rapkan memperjelas konsep ini.

Gambar 9. bindingTemplate dalam UDDIBusiness service boleh memiliki beberapa binding templates. Service boleh menyatakan implementasi berbeda dari service yang sama, masingmasing dikaitkan dengan sekumpulan protokol atau alamat jaringan yang berbeda.

5.3.4 tModel

Tidak ada hubungan eksplisit antara UDDI dan WSDL. Binding template berisi access point tetapi belum ada informasi bagaimana cara memakainya (misalnya tipe data yang diharapkan). tModel (Technical Model) menghubungkan deskripsi interface dengan suatu binding. Beberapa binding boleh merujuk interface yang sama. Mirip dengan industri penerbangan mendefinisikan interface standar pemesanan tiket, maskapai penerbangan menerapkan interface ini.

Gambar 10. tModel dalam UDDI5.3.5 publisherAssertion

Bagian ini menjelaskan hubungan antara dua atau lebih entitas bisnis : bagian, atau departemen. Struktur publisherAssertion terdiri dari tiga elemen: f rom Key (bus inessKey pe r tama) , toKe y (bus inessKey kedua) dan keyedReference. Tag keyedReference berisi hubungannya.Berikut contoh publisherAssertion dalam UDDI :

<element name="publisherAssertion" type="uddi :publisherAssertion" /><complexType name="publisherAssertion">

<sequence><element ref="uddi:fromKey" /><element ref="uddi:toKey" /><element ref="uddi : keyedReference" />

</sequence>

</complexType>

UDDI QUERY

Interface inquiry mendefinisikan sepuluh operasi untuk pencarian registry

UDDI dan mengambil rincian registrasi

khusus:1. find_binding : mencari web service yang cocok

dengan informasi binding.2. find_business : mencari entitas bisnis.3. find_ltservice : mencari daftar web service.4. find_tModel : mencari tModel.5. get_bindingDetail : mendapatkan informasi rinci

web service yang sesuai dengan binding.6. get_businessDetail : mendapatkan rincian entitas

bisnis dan web servucenya.7. get_businessDetailExt : mendapatkan informasi

registrasi entitas bisnis selengkapnya.8. get_serviceDetail : mendapatkan rincian bisnis service. 9 . get_tModelDetail : mendapatkan rincian informasi

registrasi sesuai tModel.10. find_relatedBusinesses : menemukan bisnis terkait

melalaui uddiorg:relationships model.

Page 213: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

213

6. KESIMPULANWeb service adalah aplikasi perangkat lunak yang dapat ditemukan, diuraikan, dan diakses berdasarkan pada XML dan protocol standard Web pada intranet, extranet dan internet. Web service dapat dibuat dalam suatu bahasa pemrograman dan dikenali oleh bahasa pemrograman lain.Ada tiga fondasi utama dalam membangun web service yaitu WSDL, SOAP, dan UDDI. WSDL digunakan untuk mendeskripsikan web service. Proses packaging dilakukan dengan menggunakan protocol SOAP. UDDI digunakan untuk mempublikasikan (publishing) dan menemukan (finding) web service.Ada lima tipe data dalam UDDI yaitu businessEntity, businessService, bindingTemplate, tModel dan publisherAssertion.

7. DAFTAR PUSTAKA

[1] Daconta M.C.et.al. The Semantic Web: A Guide to the Future of XML,Web Services, and Knowledge Management. 2005.

[2] Graham, Steve.et.al. Building Web Service with Java. Second Edition. 2004. Sams Publishing. 800 East 96th Street. Indianapolis.Indiana.

[3] Kusmayadi, Hendra. XML dan Web Service. 2009. Politeknik Telkom. Bandung.

[4 ] Nurramadhani, Kartika. Web service. 5 Desember 2010. URL :http://www.kartikanurramadha.info/a/Web%20Services.pdf.

[5] W3C. Web Services Tutorial. 3 Desember 2010. URL : http://www.w3schools.com/webservices/default.asp

Page 214: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

214

IMPLEMENTASI WEB SERVICEMENGGUNAKAN APACHE AXIS

Abdul MunirSTMIK Kharisma Makassar

[email protected]

Kristia YuliawanUniversitas Satya Wiyata

Mandala, Nabire

[email protected]

Muh. ZulkifliSTMIK Balikpapan

[email protected]

ABSTRACTMakalah ini membahas penggunaan apache Axis pada web service. Apache Axis adalah engine SOAP open source, merupakan framework untuk membuat processor SOAP client server yang dikembangkan untuk menyediakan wahana bagi web service dengan java. Apache Axis memiliki kelebihan dimana servernya sangat sederhana, dan mendukung layanan WSDL sehingga mudah di oleh akses layanan jarak jauh.

KeywordsWeb service, SOAP, Apache Axis.

INTRODUCTIONSaat ini dinas pemerintahan maupun pihak siswa dalam pengiriman datanya masih menggunakan sistem yang tradisional. Dimana pengiriman data masih menggunakan jasa pos ataupun dengan email. Selain itu penyimpanan data di client khususnya data di daerah masi berupa berkas-berkas atau paling bagus data disimpan di komputer dengan format doc dan excel. Dengan pengiriman seperti itu tentunya akan memperlambat kinerja karena pengiriman data terkesan lamban. Selain itu pusat akan kesulitan dalam penginputan data karena mereka harus memasukkan data secara manual, sedangkan data yang masuk meliputi data dari seluruh daerah. Hal ini juga akan memperlambat kinerja dan tentunya kesalahan data akan sangat mungkin terjadi.

Meskipun badan-badan atau dinas-dinas pemerintahan sudah ada yang menggunakan fasilitas on-line hal tersebut masi dirasa kurang dan terbatas karena dalam pembuatan aplikasinya masi harus dibatasi. Untuk aplikasi-aplikasi yang sudah ada, pembuatan antara aplikasi client harus menggunakan bahasa pemrograman yang sama, hal ini dirasa kurang efektif.

Meskipun dinas-dinas pemerintahan dan pihak swasta sudah ada yang menggunakan fasilitas on-line hal tersebut tapi masi h dirasa kurang dan terbatas karena dalam pembuatan aplikasinya masih harus dibatasi. Untuk aplikasi-aplikasi

yang sudah ada, pembuatan antara aplikasi client harus menggunakan bahasa pemrograman yang sama, hal ini dirasa kurang efektif.

Web service adalah jawaban dari masalah ini yaitu bagaimana membangun sebuah sistem dengan berbagai sub sistem yang heterogen sehingga dapat berinteraksi. Apache Axis adalah salah satu perkembangan dari ilmu computer tersebut yang menyediakan kesempatan bagi pengembang software jaringan membangun di atas platform dimana data disimpan dalam format XML, menyebabkan data dapat diakses oleh sistem yang berbeda sehingga dapat berinteraksi.

WEB SERVICEWeb service adalah suatu sistem

perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.

Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya.

Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:

1. Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.

2. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak memerlukan registrasi khusus ke dalam suatu

Page 215: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

215

sistem operasi. Web service cukup di-upload keweb server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.

3. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.

Arsitektur Web ServiceWeb service memiliki tiga entitas dalam

arsitekturnya, yaitu: 1. Service Requester (peminta layanan)2. Service Provider (penyedia layanan)3. Service Registry (daftar layanan)

Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.

Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.

Operasi-Operasi Web ServiceSecara umum, web service memiliki tiga

operasi yang terlibat di dalamnya, yaitu:

1. Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.

2. Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.

3. Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider.

Web service secara keseluruhan memiliki

empat layer komponen seperti pada gambar di

atas, yaitu:

Layer 1: Protokol internet standar seperti HTTP, TCP/IPLayer 2: Simple Object Access Protocol (SOAP),

merupakan protokol akses objek berbasis XML yang digunakan untuk proses pertukaran data/informasi antar layanan.

Layer 3: Web Service Definition Language (WSDL), merupakan suatu standar bahasa dalam format XML yang berfungsi untuk mendeskripsikan seluruh layanan yang tersedia.

Layer 4 : http, merupakan protocol standar yang menyediakan perintah dalam komunikasi antar jaringan

Simple Object Access Protocol (SOAP)XML saja tidak cukup agar Web Service dapat berkomunikasi dengan aplikasi lainnya. XML yang digunakan untuk saling bertukar informasi antara Web Service dengan aplikasi lainnya harus menggunakan sebuah format standar yang dapat dimengerti oleh keduanya. Format tersebut dikenal dengan nama SOAP.

SOAP merupakan suatu format standar dokumen berbentuk XML yang digunakan untuk melakukan proses request dan response antara Web Service dengan aplikasi yang memanggilnya. Dokumen SOAP yang digunakan untuk melakukan request disebut dengan SOAP-Request sdangkan dokumen SOAP yang dip erloeh oleh Web Service disebut dengan SOAP-Response.

APACHE AXISApache Axis adalah salah satu dari banyak implementasi Web Service Toolkit untuk Java. Project inidiawali dari tim yang mengerjakan Apache SOAP dengan tim dari SOAP4J yang bekerja sama untuk membuat tool yang dapat

Page 216: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

216

memudahkan proses pembuatan web service menggunakan Java.Cakupan Axis adalah sebagai berikut :

Server sederhana yang berdiri sendiri. Server yang dipasang ke mesin servlet seperti

Tomcat, Dukungan luas untuk Layanan Deskripsi

Web Bahasa (WSDL), menghasilkan kelas Java dari WSDL.

Axis adalah generasi ketiga dari Apache SOAP (yang dimulai di

IBM sebagai "SOAP4J").

Pada tahun 2000-an, committer dari Apache SOAP v2 mulai membahas bagaimana membuat mesin lebih fleksibel, terkonfigurasi, dan mampu menangani keduanya.

Beberapa filtur utama sebagai berikut:

Speed. Axis menggunakan SAX (event-based) parsing untuk mencapai kecepatan yang lebih besar secara signifikan dari versi sebelumnya dari Apache SOAP.

Flexibility. Arsitektur Axis memberikan kebebasan bagi para pengembang dalam pengolahan header kustom, sistem manajemen, ataupun dalam hal yang lain

Component-oriented deployment. Kita dapat dengan mudah menentukan jaringan yang dapat digunakan kembali untuk menerapkan pola-pola umum pengolahan untuk aplikasi atau untuk mendistribusikan kepada mitra.

Transport framework. Kita dapat secara sederhana merancang transport (yaitu pengirim dan penerima untuk SOAP atas berbagai protokol seperti SMTP, FTP, berorientasi middleware pesan, dll), dan inti dari mesin benar-benar transportasi-independen.

WSDL support. Axis supports the WSDL yang memungkinkan Anda untuk dengan mudah mengakses layanan jarak jauh.

Instalasi Apache Axis

Pertama kali kita perlu mengintall tomcat setelah itu langkah selanjutnya adalah memindahkan folder webapps/axis dari dalam file distribusi axis ke direktori webapps milik Tomcat.Setelah itu, langkah yang sangat dianjurkan adalah menambahkan semua file .jar di dalam folder WEB-INF/lib milik Axis ke dalam CLASSPATH anda. Hal ini untuk memudahkan dalam proses kompilasi web service serta dalam penggunaan beberapa tools Axis nantinya.

Berikutnya jalankan Tomcat, dan buka browser anda dan ketikkan http://localhost:8080/axis/ di location bar. Maka akan muncul tampilan berikut ini jika Axis belum terinstal dengan benar.

Metode JWS dalam Apache Axis

Metode ini adalah metode yang paling mudah dalam men-deploy sebuah web service di Axis. Dengan metode ini yang perlu anda lakukan hanyalah membuat sebuah program Java seperti biasa dan simpan file java tersebut di bawah direktori webapps/axis di Tomcat kemudian rubah akhiran .java menjadi .jws

Walaupun metode ini sangatlah mudah, tetapi memiliki beberapa kekurangan, yaitu :

Tidak mendukung penggunaan package di dalam aplikasi.

Yang dibutuhkan pada waktu deployment adalah source code, padahal kemungkinan besar yang kita miliki adalah file class atau bahkan jar.

Sulitnya untuk melakukan berbagai konfigurasi.

Langkah-langkah membuat aplikasi mengunakan metode JWS :

1. Kita membuat JWS Endpoint

Page 217: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

217

Setelah anda menulis program diatas, simpan source code tersebut di folder axis dan beri nama Hello.jws. Sekarang pastikan Tomcat anda sudah berjalan, dan buka URL http://localhost:8080/axis/Hello.jws di browser anda, bila ada pemberitahuan bahwa ada sebuah web service maka web service anda telah berhasil di deploy. Kemudian klik link yang ada untuk melihat WSDL dari web service anda, atau buka http://localhost:8080/axis/Hello.jws?wsdl di browse. Hasilnya kurang lebih seperti yang terlihat pada gambar dibawah .

Saat membuka urlhttp://localhost:8080/axis/Hello.jws?wsdl di browser akan terasa sedikit lebih lama untuk membuka halaman tersebut. Hal ini disebabkan karena file jws yang akan dipanggil akan terkompilasi terlebih dahulu. Hasil kompilasi tersebut karena file JWS yang Kita panggil akan terkompilasi terlebih dahulu. Hasil kompilasi tersebut dapat dilihat di folder WEB-INF Classes di folder axis2. Kita membuat program Client

Sekarang simpan file tersebut dengan nama MsgClient.java di folder tempat anda menyimpan source code kita, itu compile file tersebut dengan perintah javac MsgClient.java.Setelah kita jalankan aplikasi client tersebut, untuk mengetahui apakah web service kita bisa diakses dengan benar. Bila benar maka akan keluar hasilnya berikut : You say : Hello World

KESIMPULANWeb service mengunakan Apache Axis memiliki keunggulan sebagai berikut :1. Web Service Toolkit melindungi programmer

dari XML,SOAP, WSDL, dsb.2. Pembuatan WSDL otomatis.3. Pembuatan Sub Client otomatis.

SARANSetelah mempelajari metode JWS penulis berpendapat bahwa metode tidak mendukung pengunaan package dalam aplikasi, sulitnya melakukan konfigurasi dan hal ini ditutupi dengan metode WWDD ( Web Service Deployment Descriptor)

REFERENCES[50] Hendra, Kusmayadi, Eko Darwiyanto, 2009, XML dan WEB

SERVICES., Politeknik Telkom Bandung.

[51] Ade, Anom,2007. Java Web Service Mengunakan Apache Axis. http://Ilmukomputer.com

[52] HENDRA KUSMAYADI, EKO DARWIYANTO, Politeknik Telkom Bandung, 2009. XML dan WEB SERVICES.

[53] Steve Graham dkk,. 2005. Building Web Service With Java. Sams Publishing, 800 East 96th Street, Indianapolis, Indiana 46240

Page 218: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

218

Implementasi Web Service dan Model Service Oriented Architecture

Andi GuttuSTMIK DIpanegara

[email protected]

Medy W. PrihatmonoAMIK Makassar

[email protected]

Suryadi HozengSTMIK Dipanegara

Jl. Perintis Kemerdekaan Km 9

ABSTRAKService Oriented Architecture (SOA) mengimplementasikan bagaimana sistem dikomposisikan dan dimodelkan bekerja bersama – sama dengan sekumpulan layanan service sebagai suatu komponen. Komponen – komponen sebagai layanan di sediakan dalam suatu lokasi yang dapat di akses oleh client secara dinamis. Layanan service dapat berupa system tertutup dengan menggunakan CORBA, RMI, DCOM, sedangkan sistem terbuka dengan menggunakan Web service.

Kata kunci :Service Oriented Architecture, Web Service, Sistem Terbuka.

1. PendahuluanPerkembangan IT saat ini sengat luar biasa. Kita dapat melihat banyaknya vendor – vendor yang saling berebutan menawarkan konsep bisnisnya masing – masing. Seiring dengan perubahan pola bisnis yang diterapkan seiring bertumbuhnya persaingan, yang sermula pada produk oriented menjadi service and costumer oriented. Disaat seperti organisasi/ perusahaan juga dituntut untuk melakukan pelayanan terhadap pelanggannya dengan lebih baik, lebih kompetitif, dan lebih responsif.Ada dua tema yang mendasari di balik semua tekanan: heterogenitas dan perubahan. Kebanyakan perusahaan saat ini mengandung berbagai sistem yang berbeda, aplikasi, dan arsitektur dari berbagai usia dan teknologi. Mengintegrasikan produk dari beberapa vendor dan platform yang berbeda hampir selalu mimpi buruk. Tapi kita juga tidak mampu untuk mengambil pendekatan tunggal-vendor TI, karena aplikasi terpasang dan infrastruktur pendukung sangat infleksibel.Globalisasi dan e-bisnis adalah mempercepat langkah perubahan. Globalisasi menyebabkan persaingan ketat, yang mengarah ke memperpendek siklus produk.Perbaikan teknologi terus dipercepat, seiring laju peningkatan perubahan kebutuhan pelanggan. Bisnis cepat harus beradaptasi untuk bertahan hidup, apalagi untuk berhasil dalam lingkungan yang dinamis kompetitif dewasa ini, dan infrastruktur TI harus mengaktifkan kemampuan usaha untuk beradaptasi menuju paradigma bisnis ekosistem baru.

Gambar 1 evolusi bisnis

Melihat pola perubahan bisnis pada gambar 1 tidak ada lagi bisnis yang dapat berdiri sendiri. Menjalin kemitraan dan saling bertukar data adalah suatu hal yang harus dilakukan. Untuk itu diperlukannya perubahan yang mendasar terhadap arsitektur teknologi informasi yang yang di terapkan. Hal ini dapat dilihat pada gambar 2.

Gambar 2 evolusi rancangan system

Dalam rangka untuk meringankan masalah heterogenitas, interoperabilitas dan kebutuhan persyaratan berubah, seperti arsitektur harus menyediakan platform untuk membangun layanan aplikasi dengan karakteristik sebagai berikut: loosely coupled, location transparent, protocol independent.

2. Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) mulai diperkenalkan sejak tahun 2000 yang lalu. SOA pada dasarnya sebuah model sederhana dalam system terdistribusi. Dalam SOA kita dapat melihat beberapa hal seperti :

Architecture, merupakan sebuah deskripsi formal dari suatu system, yang mendefinisikantujuan, fungsi, sifat eksternal, dan interface.

Page 219: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

219

Service, merupakan komponen perangkat lunak yang dapat diakses melalui jaringan untuk menyediakan layana fungsiionalitas kepada yang meminta layanan.

Service oriented architecture, mengaju kepada gaya bangunan system terdistribusi yang memberikan fungsionalitas layanan, dengan tambahan lose coupling dalam berinteraksi.

Arsitektur SOA dapat diimplementasikan dengan beberapa model teknologi diantaranya : CORBA (Commond Object Requestor Broker Architecture), DCE (Distributed Computing Envirotment) , RMI (Remote method Invocation), DCOM (Distributed Commond Object Model), dan Web Service seperti yang tergambarkan pada Gambar 3.

Gambar 3 Teknologi yang memnfaatkan SOA

Pendekatan loose coupling dalam proses interkasi mengakibatkan independensi terhadap service yang diberikan, sehingga system dapat

bersifat terbuka. Untuk menwujudkan proses ini maka web service dapat menyajikan layanan standar berupa tidak terikat oleh aplikasi yang digunkan sehingga dapat berjalan pada multi platform.Service dalam hal ini memiliki beberapa karakteristik :

Logical view, service yang dilihat dari level operasi bisnis yang diidentifikasi sebagai interface yang independen

Message orientation, Sebuah service yang berhubungan dengan client yang bertukar message.

Discription Orientation, Servive yang didekripsikan sebagai mesin pengolah metadata.

Network Orientation, Service dituntut untuk dipakai di dalam jaringan. Hal ini menenkankan pada kebutuhan service yang secara otomatis serta mudah ditemukan

Dengan melihat karakteristik service yang terdapat pada SOA, maka pendekatan yang digunakan adalah untuk membangun system terdistribusi, yang memberikan layanan aplikasi fungsionalitas dan baik untuk end user maupun pengguna layanan lainnya.

Dalam SOA, peta layanan untuk mengidentifikasikan fungsi bisnis selama analisis dalam proses bisnis. Layanan mungkin bersifat halus atau kasar tergantung pada proses bisnis. Setiap service memiliki antarmuka yang jelas sehingga memungkinkan untuk dipublikasikan, ditemukan dan dipanggil. Sebuah perusahaan dapat memilih untuk mempublikasikan layanan eksternal kepada pihak ekternal ataupun internal. proses ini dapat dilihat pada gambar 4

Gambar 4 Siklus service dalam SOAPada gambar 4 diatas mengilustrasikan siklus dari interaksi service dalam arsitektur system SOA. Pada tahap 1 service provider mempublikasikan service yang dimilikinya ke registry public. Tahap ke-2 service customer mencari service yang dibutuhkan ke registry public (kalau kita kaitkan dengan contoh diatas, maka disini Amazon.com mencari service untuk memvalidasi kartu kredit). Tahap ke-3, registry akan memeberikan respon berupa list service yang tersedia dalam registry yang dilengkapi dengan informasi alamat, cara pemanggilan service, return yang bakal diperoleh dan mengenali protocol yang digunakan. Kemudian tahap ke-4 service memberikan respon. Melihat komponen dan proses yang terdapat dalam siklus service SOA, maka SOA memiliki 3 (tiga) layana utama berupa :

Service consumer, aplikasi dalam Layanan Konsumen, merupakan sebuah modul perangkat lunak atau layanan lain yang membutuhkan layanan. Ini memulai penyelidikan pelayanan di registri, mengikat ke layanan di atas transportasi, dan mengeksekusi fungsi pelayanan. Service costumer menjalankan layanan sesuai dengan intervace yang diperoleh.

Service provider, service provider merupakan entitas jaringan yang dialamatkan yang menerima dan mengeksekusi permintaan dari konsumen. Ini menerbitkan layanan dan antarmuka ke service registry sehingga service costumer dapat menemukan dan mengakses layanan.

Service registry, Sebuah registri layanan yang mendorong untuk menemukan layanan. Service registry berisi gudang layanan yang tersedia dan memungkinkan untuk pencarian antarmuka penyedia layanan kepada penerima layanan.

Selain service yang terdapat dalam SOA, kita juga dapat melihat terdapatnya proses yang berjalan sehingga terbentuk komunikasi antar service yang ada.

The Publish Operation adalah tindakan pendaftaran layanan atau informasi layanan. Ini bertindak sebagai komunikasi antara registri layanan dan provider. Dimana operator penyedia layanan menerbitkan layanan Web mendeskripsikan untuk registri layanan, rincian informasi berupa layanan Web untuk sebuah komunitas pemohon pelayanan. Rincian menerbitkan API tergantung pada bagaimana registri layanan diimplementasikan. Implementasi registry Layanan lain, seperti UDDI..

The Find operation adalah dual logis dari operasi mempublikasikan. komunikasi antara service costumer dan service registry. Service Registri menemukan sesuai dengan deskrisi kriteria terhadap koleksi hasil pelayanan. Ini berarti menemukan operasi selalu mengembalikan semua layanan Web dipublikasikan ke layanan registry,

Page 220: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

220

The bind operation (Operasi mengikat) mewujudkan hubungan client-server antara pemohon layanan dan penyedia layanan.

Ciri utama SOA adalah mempromosikan melalui penggabungan komponen-komponen perangkat lunak. Diantara komponen perangkat lunak tersebut saling berinteraksi dalam satu kesatuan. Sedangkan keuntungan dari penggunaan Arsitektur SOA adalah flexible, scalable, replacability dan fault tolerance.

3. Web ServiceDengan berkembangnya internet dan maraknya aplikasi yang berjalan berbasiskan web. Tidak dapat dipungkiri lagi bahwa orang – orang semakin akrab dan seringnya mengakses web dimana web menyediakan interface yang berorientasikan kepada informasi layanan pengguna seperti transaksi online, informasi valas dan efek, entertaimen dll.Ketika permintaan – permintaan pengguna tersebut melalui web browser, maka permintaan tersebut ditangani oleh web server remote, yang mengembalikan informasi kedalam bahasa Hyper Text (HTML). Sebuah bentuk yang memungkinkan browser untuk menyajikan informasi, huruf, grafik, dan warna sehingga lebih menarik bagi user.. Apakah kita pernah terpikir, ketika kita melakukan transaksi online dan melakukan pembayaran dengan menggunakan credit card data –data penggunaan credit card kita seperti pin, limit loan, dll terdapat pada setiap web tersebut? Solusinya adalah Web service. Web service tidak berjalan seperti apa yang kita uraikan diatas. dengan kata lian web server tidaklah sama dengan web serviceWeb service merupakan teknologi yang relative diterima secara luas sebagai implementasi dari service Oriented Architecture. Hal ini karena layanan Web menyediakan pendekatan komputasi terdistribusi untuk mengintegrasikan aplikasi yang sangat heterogen melalui Internet. Spesifikasi Web Service adalah benar-benar independen dari bahasa pemrograman, sistem operasi, dan perangkat keras untuk mempromosikan kopling longgar antara peminta dan penyedia service. Teknologi merupakan didasarkan pada teknologi terbuka seperti:

eXtensible Markup Language(XML)

Simple Object Access Protocol (SOAP)

Universal Description, Discovery and Integration (UDDI)

Web Services Description Language (WSDL)Menggunakan standar terbuka menyediakan solusi interoperabilitas yang luas di antara vendor yang berbeda. Prinsip-prinsip ini berarti bahwa perusahaan dapat melaksanakan pelayanan web tanpa memiliki pengetahuan tentang service costumer dan sebaliknya. Hal ini memudahkan integrasi just-in-time dan memungkinkan perusahaan untuk membangun kemitraan baru dengan mudah dan dinamis.Web service berdasarkan organisasi W3C’s mendefinisikan :“A Web service is a software system designed to support interoperable machine-tomachine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards..”Dapat diartikan sebagai berikut :“Web Service adalah sistem software yang didesain untuk mendukung komunikasi dan interaksi mesin dengan mesin melalui sebuah jaringan. antarmuka Ini berjalan dalam proses mesin (khususnya WSDL). Sistem lain berinteraksi dengan layanan Webdengan cara yang ditentukan oleh deskripsi menggunakan protocol SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi XML dalam standar menghubungkan dengan Web-terkait lainnya.”Hal yang terpenting adalah web service dapat diimplementasikan dan disebarkan pada berbagai platform melalui mekanisme pernyataanyang ditetapkan dengan API (protokol jaringan, dataskema pengkodean, dan sebagainya). Tidak peduli jika aplikasi server Web adalah ApacheTomcat, Microsoft Internet Information Services Server, atau IBM WebSphere.Web Service dapat diimplementasikan pada lingkungan internal (Intranet) untuk kebutuhan integrasi antar sistem aplikasi ataupun pada lingkungan eksternal (Internet) untuk mendukung aplikasi B2B dan B2C (e-business). Kemudian jika dilihat lingkungan kerja web service dapat ditunjukkan pada gambar 5 berikut :

Gambar 3 Lingkungan kerja web service

4. Arsitektur Web ServiceMelihat uraian diatas maka konsep arsitektur yang mendasari teknologi Web service adalah Service Oriented Architecure (SOA). Dalam aritektur ini, suatu aplikasi dimodelkan sebagai komposisi dari sekumpulan service yang disediakan oleh suatu komponen. Lokasi keberadaan komponen tersebut dapat ditemukan oleh client secara dinamis, dalam arti tidak dinyatakan secara statis tetapi menggunakan mekanisme discovery untuk mencari keberadaan komponen tersebut. Demikian pula, client dapat meminta (invoke) service tersebut secara dinamis. W3C mengembangkan draft arsitektur web service yang terdiri dari beberapa teknologi yang saling berhubungan, sepertiditunjukkan dalam gambar 4. Berdasarkan gambar tersebut, web service tersusun dari beberapa komponen yang semuanya berbasis XML (eXtensible Markup Language) yaitu SOAP, WSDL dan UDDI.

Page 221: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

221

Gambar 4 arsitektur web service.

a. Simple Object Access Protocol (SOAP)SOAP merupakan suatu protokol berbasis XML yang digunakan untuk kebutuhan pertukaran informasi dalam suatu sistem terdistribusi dan terdesentralisasi.Pesan SOAP berbentuk sekumpulan XML Schema yang mendefinisikan format untuk mentransmisikan pesan XML melalui jaringan, termasuk tipe data dan cara menstrukturkan pesan secara tepat sehingga dapat mudah dipahami oleh server atau end-point lainnya. Pesan SOAP terdiri dari 3 bagian, yaitu :

SOAP Envelop, suatu selubung yang mendefinsiikan apa yang ada dalam message dan bagaimana message harus diproses.

SOAP Header, berisi informasi yang berkaitan dengan keamanan serta routing. Dalam SOAP header bersifat optional.

SOAP Body, berisi data yang berhubungan dengan aplikasi tertentun yang sedang dipertukarkan.

b. Web Service Discription Language (WSDL)

Web Service Discription Language (WSDL) merupakan bahasa standard yang menyediakan mekanisme untuk mendeskripsikan Service

yang disediakan oleh sistem dalam hal ini Web service, lokasi keberadaan service tersebut dan bagaimana cara memperolehnya, secara

terstruktur dalam format XML.

Type – tipe data yang digunakan sebagai argumen dan return type :

Message – merepresentasikan definisi data yang ditransmisikan

Port type – sekumpulan operasi yang didukung oleh satu atu lebih endpoint

Binding – mendefinisikan protokol dan format pertakaran data untuk operasi yang didefinisikan oleh Port type

Port – menspesifikasikan end-point yang digunakan untuk binding

Service – koleksi endpoint yang berkaitan yang disediakan oleh Web service

Operation – mendefinisikan kemampuan yang didukung oleh servis tertentu

c. Universal Description, Discovery and Integration (UDDI) UDDI merupakan mekanisme registry yang dapat digunakan untuk mencari deskripsi Web Service pada suatu lokasi yang dikelola secara terpusat dan melakukan query menyangkut informasi secara dinamis. Direktory pada UDDI bertindak seperti ‘Yellow Pages’ dimana service dikategorikan sesuai tujuan utamanya. Direktory UDDI terdiri dari 3 bagian, yaitu :

White pages – menyediakan informasi rinci mengenai organisasi yang menawarkan service

Yellow pages – mencakup pengakatagorian jenis industri berdasarkan standard taxonomi industri

Green pages – mendeskripsikan interface dan kebutuhan untuk memperoleh service , seperti return type.

UDDI merupakan file XML Schema yang mendefinisikan struktur data mengenai karakteristik bisnis dan service. Deskrisi servicedidefinisikan menggunakan dokumen Type Model (tModel). Secara umum UDDI berisi informasi mengenai siapa yang menyediakan service (businessEntity), Service apa yang disediakan (businessService), dimana lokasi service tersedia (bindingTemplate), referensi mengenai informasi bagaimana service tersebut diperoleh (tModel).

5. KesimpulanService Oriented Architecture (SOA) merupakan konsep pembangunan perangkat lunak yang sesuai dengan system terditribusi. Dimana SOA dapat mengimplementasikan Web Servce dalam menjalin hubungan anatar service, yang disediakan dengan menggunakan protocol SOAP dalam menghasilkan keterhubungan sistem pada multi platform.

6. Daftar Pustaka[1] Steve Graham, Dough Davis, Simoen Simoenov, Glen Daniels, Peter Brittenham, Yuichi Nakamura, Paul Fremantle, dieter Konig,

and Claudia Zentner, 2005, Building Web Service With Java Second Edition, Sams Publishing.[2] Latha Srinivasanand Jem Treadwell, 2003, An Overwiev of Service Oriented Architecture, Web Service and Grid Computing, Hp

Software Global Business Unit[3] Mark Endrei, Jenny Ang, Ali Arsanjani, Sook Chua, Philippe Comte, Pal Krogdahl, Min Lou, Tony Newling, 2004, Redbooks:

Pattern : Service Oriented Architecture And Web Service.

Page 222: Yuyun, Neural Network Algorithm for Determining a Majors for Senior High School, The Proceeding of Computer National Conference 2011, pp. 113-117

Prosoding KNK

222