Selasa, 09 April 2013

AGENT PADA SISTEM TERDISTRIBUSI


PENDAHULUAN
Agent secara umum bisa ditegaskan sebagai satu-kesatuan perangkat lunak dengan otonomi tertentu. Mereka melakukan servis dengan urutan seorang pemakai atau agen lain. Mobile agent mempunyai sifat sifat tambahan: mereka secara otonom dapat berpindah, seperti mereka bisa beralih antar kode program, data dan penerusan pointer ke komputer remote (yang dapat dikendalikan jarak jauh) dan memulai kembali dengan pelaksanaan program. Di samping mobilitas fisik ini mobile agent mempunyai kemungkinan untuk berkomunikasi satu sama lain untuk bertukar informasi.
Mobile agent merupakan suatu teknologi yang relatif baru, tetapi sudah ada yang mengimplementasikannya, seperti AgentTcl, Aglets, MOA, Grasshopper, and Odyssey.
Komputasi grid dapat diartikan sebagai sebuah aplikasi sumber dari beberapa alat yang digunakan dalam jaringan untuk memecahkan permasalahan yang ada pada waktu yang bersamaan.
Biasanya, komputasi grid dipertimbangkan dalam konteks pembagian tenaga processor beberapa komputer yang terhubung dalam jaringan TCP/ IP (Transmission Control Protocol/ Internet Protocol). Contoh aplikasi komputasi grid yang sangat populer adalah proyek Search for Extraterrestrial Intelligence (SETI@home) dan proyek The Great Internet Mersenne Prime Search (GIMPS).

1. SEJARAH DAN LATAR BELAKANG SOFTWARE AGENT
Menurut Nwana, konsep agent sudah dikenal lama dalam bidang AI, tepatnya dikenalkan oleh seorang peneliti bernama Carl Hewitt dengan concurrent actor model-nya pada tahun 1977. Dalam modelnya Hewitt mengemukakan teori tentang suatu obyek yang yang dia sebut actor, yang mempunyai karakteristik menguasai dirinya sendiri, interaktif, dan bisa merespon pesan yang datang dari lain obyek sejenis. Dari berbagai penelitian berhubungan dengan hal diatas, kemudian lahirlah cabang ilmu besar yang merupakan turunan dari AI yaitu Distributed Artificial Intelligence (DAI), yang antara lain membawahi bidang penelitian,Distributed Problem Solving (DPS), Parallel Artificial Intelligence(PAI), dan Multi Agent System (MAS).
Masa ini terkenal dengan masa generasi pertama penelitiansoftware agent, yaitu periode 1970-1990. Pada umumnya konsentrasi penelitian pada periode ini tertuju ke arah: pemodelan internal agent secara simbolik, isu-isu makro mengenai interaksi, koordinasi, dan komunikasi antar agent dalam kerangka MAS. Tujuan utamanya adalah untuk menganalisa, mendesain, dan mengintegrasikan system dalam kerangka agent yang bisa berkolaborasi satu dengan yang lain. Berbagai macam penelitian yang dilakukan pada generasi pertama (1970-1990) itu terangkum secara lengkap dan terorganisir dengan baik dalam buku-buku yang dieditori oleh Bond dan Gasser, Gasser dan Huns, dan Chaib-draa.
Kemudian masa generasi kedua dari penelitian agent adalah periode tahun 1990 sampai saat ini. Konsentrasi penelitian pada periode ini khususnya adalah pada: pengembangan dan penelitian teori agent (agent theory), arsitektur agent (agent architecture) dan bahasa pemrograman yang digunakan (agent language). Terangkum dengan baik dalam buku-buku dan makalah-makalah oleh Wooldridge dan Jennings.

2. DEFINISI DAN KARAKTERISTIK YANG DIMILIKI OLEH SOFTWARE AGENT
2.1. Definisi Software Agent
Di dalam kamus Webster’s New World Dictionary [Guralnik, 1983], agent didefinisikan sebagai:
Disini ada dua point yang bisa diambil:
· Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan.
· Agent melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu, atau untuk orang lain.
Didapat dari point-point diatas Caglayan mendefinisikansoftware agent sebagai:
Suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously).
Kemudian beberapa peneliti lain menambahkan satu point lagi, yaitu bahwa agent harus bisa berjalan dalam kerangka lingkungan jaringan (network environment). Definisi agent dari para peneliti lain pada hakekatnya adalah senada, meskipun ada yang menambahkan atribut dan karakteristik agent ke dalam definisinya.

Karakteristik dan Atribut Software Agent
Untuk memperdalam pemahaman tentang software agent, fungsi, peran, dan perbedaan mendasar dikaitkan software program yang ada, berikut ini akan dijelaskan tentang beberapa atribute dan karakteristik yang dimiliki oleh software agent. Tentu tidak semua karakteristik dan atribut terangkum dalam satu agent. Pada hakekatnya daftar karakteristik dan atribut dibawah adalah merupakan hasil survey dari karakteristik yang dimiliki oleh agent-agent yang ada pada saat ini.
1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.
2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.
3. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berkebalikan dari hal tersebut adalahstationary agent. Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.
4. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
5. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa mencakup: agent lain, user, adanya informasi dari luar, dsb.
6. Proactivity dan Goal-Oriented: Sifat proactivity boleh dikata adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).
7. Communication and Coordination Capability: Agent harus memiliki kemampuan berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent System (MAS). Bagaimanapun juga untuk bisa berkoordinasi dengan agent lain dalam menjalankan tugas, perlu bahasa standard untuk berkomunikasi. Tim Finin dan Yannis Labrou adalah peneliti software agent yang banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk mereka adalahKnowledge Query and Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalahKnowledge Interchange Format (KIF).

3. KLASIFIKASI SOFTWARE AGENT
3.1. Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki
Teknik klasifikasi agent menurut karakteristik dipelopori oleh Nwana. Menurut Nwana, agent bisa diklasifikasikan menjadi delapan berdasarkan pada karakteristiknya.
Gambar 3: Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki
Collaborative Agent: Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).
Interface Agent: Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring danlearning untuk memenuhi kebutuhan user.
Mobile Agent: Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
Information dan Internet Agent: Agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
Reactive Agent: Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.
Hybrid Agent: Kita sudah mempunyai lima klasifikasi agent. Kemudianagent yang memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
Heterogeneous Agent System: Dalam lingkungan Multi Agent System(MAS), apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent system.

3.2. Klasifikasi Software Agent Menurut Lingkungan Dimana Dijalankan
Caglayan membuat suatu klasifikasi yang menarik mengenaiagent, yang berdasar kepada lingkungan (environment) dimanaagent dijalankan.
Dari sudut pandang dimana dijalankan, software agent bisa diklasifikasikan sebagai desktop agent, internet agent danintranet agent. Lebih jelasnya, daftar dibawah menguraikan klasifikasi tersebut secara mendetail.
1. Desktop Agent: Agent yang hidup dan bertugas dalam lingkunganPersonal Computer (PC), dan berjalan diatas suatu Operating System (OS). Termasuk dalam klasifikasi ini adalah:
· Operating System Agent
· Application Agent
· Application Suite Agent
2. Internet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugas memanage informasi yang ada di Internet. Termasuk dalam klasifikasi ini adalah:
· Web Search Agent
· Web Server Agent
· Information Filtering Agent
· Information Retrieval Agent
· Notification Agent
· Service Agent
· Mobile Agent
3. Intranet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Intranet, melakukan tugas memanage informasi yang ada di Intranet. Termasuk dalam klasifikasi ini adalah:
· Collaborative Customization Agent
· Process Automation Agent
· Database Agent
· Resource Brokering Agent

4. BIDANG ILMU DAN PENELITIAN YANG TERKAIT DENGAN SOFTWARE AGENT
Sudah menjadi hal yang diketahui umum bahwa masalahlearning, intelligence, dan juga proactivity serta reactivity adalah bidang garapan AI klasik. Kemudian penelitian dalam bidang DAI pada umumnya adalah berkisar ke masalah koordinasi, komunikasi dan kerjasama (cooperation) antar agent dalam Multi Agent System (MAS). Dengan perkembangan penelitian di bidangdistributed network dan communication system, membawa peran penting dalam mewujudkan agent yang mempunyai kemampuan mobilitas dan komunikasi dengan agent lain.
Pesatnya perkembangan penelitian tentang software agenttak lepas dari pengaruh bidang ilmu psikologi yang banyak mengupas agent secara teori dan filosofi, kemudian juga software engineering yang berperan dalam menyediakan metodologi analisa dan desain, serta implementasi dari software agent. Dan yang terakhir adalah bidang decision theory dengan kupasan tentang bagaimana agent harus menentukan strategi dalam menjalankan tugas secara mandiri (autonomously).

5. BAHASA PEMROGRAMAN
Pada bagian ini akan dibahas tentang bahasa pemrograman yang banyak dipakai untuk tahap implementasi darisoftware agent. Bagaimanapun juga setiap bahasa pemrograman memiliki karakteristik sendiri sesuai dengan paradigma pemrograman yang dia anut. Sehingga pemakaian bahasa permrograman yang kita pakai akan menentukan keberhasilan dalam implementasi agent sesuai yang kita harapkan.
Beberapa peneliti memberikan petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya kita pakai. Petunjuk-petunjuk tersebut adalah:
Object-Orientedness: Karena agent adalah berhubungan dengan obyek, bahkan beberapa peneliti menganggap agent adalah obyek yang aktif, maka bagaimanapun juga agent harus diimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-oriented programming language).
Platform Independence: Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup dan berjalan diatas berbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakai untuk implementasi adalah yang terlepas dari platform, atau dengan kata lain program tersebut harus bisa dijalankan di platformapapun (platform independence).
Communication Capability: Pada saat berinteraksi dengan agentlain dalam suatu lingkungan jaringan (network environment), tentu saja diperlukan kemampuan untuk melakukan komunikasi secara fisik. Sangat lebih baik seandaianya bahasa pemrograman mensupport pemrograman untuk network dan komunikasinya.
Security: Faktor keamanan (security) juga hal yang harus diperhatikan dalam memilih bahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobil agent, diperlukan bahasa pemrograman yang mensupport level-level keamanan yang bisa membuat agent bergerak dengan aman.
Code Manipulation: Beberapa aplikasi software agent memerlukan manipulasi kode program secara runtime. Bahasa pemrograman untuk software agent sebaiknya juga harus bisa memberikan support terhadap masalah ini.
Ditarik dari beberapa petunjuk diatas, para peneliti merekomendasikan bahasa pemrograman berikut untuk mengimplementasikan software agent:
1. Java
2. Telescript

5. RISET DAN APLIKASI SOFTWARE AGENT
Ada dua tujuan dari survey tentang riset dan aplikasisoftware agent. Yang pertama adalah, untuk mengeidentifikasi sampai sejauh mana teknologi agent sudah diaplikasikan dengan memberikan pointer berupa contoh-contoh aplikasi sistem yang sudah ada. Yang kedua adalah, untuk memberikan gambaran ke depan, masalah-masalah apa yang sudah dan belum terpecahkan dan membuka peluang untuk mencoba mengaplikasikan teknologi agent ke masalah baru yang timbul. Jennings merangkumkan riset dan aplikasi software agent yang ada kedalam beberapa bidang. Disini kami akan mengupas beberapa riset dan aplikasi software agent dalam bidang industri, internet/bisnis, entertainment, medis, dan bidang pendidikan.

5.1. Riset dan AplikasiSoftware Agent di Dunia Industri
Dewasa ini teknologi agent sudah diaplikasikan secara luas di dunia Industri. Bagaimanapun juga harus diakui bahwa secara sejarah penelitian, selain dunia Internet dan bisnis, teknologi agent banyak didesain untuk dimanfaatkan di bidang industri.
Manufacturing: Parunak mempelopori proyek penelitian yang dia sebut YAMS (Yet Another Manufacturing System), dimana dia berusaha mengaplikasikan protokol contract net untuk proses kontrol di manufacturing. Untuk mengatasi masalah kompleks dalam proses manufacturing, YAMS mengadopsi pendekatan MAS, dimana setiap pabrik dan komponen dari pabrik adalah direpresentasikan sebagai agent. Aplikasi lain yang menggunakan teknologi agent dalam area ini adalah: konfigurasi dan desain untuk product manufacturing, pendesainan secara kolaboratif, pengontrolan dan penjadwalan operasi manufacturing, dsb.
Process Control: Process control secara sistem merupakan sistem yang harus bisa bekerja secara mandiri dan bersifat reactive. Hal ini sesuai dengan karakteristik dari agent, sehingga bukan sesuatu yang mengejutkan kalau banyak muncul pengembangan aplikasiprocess control yang berbasis ke teknologi agent. Beberapa contoh penelitian dan aplikasi yang berada dalam area ini adalah: proyek ARCHON yang diaplikasikan untuk manajemen transportasi listrik dan kontrol untuk percepatan partikel, kemudian juga: pengontrolan iklim, pengontrolan spacecraft, dsb.
Telecommunications: Sistem telekomunikasi pada umumnya bergerak dalam skala besar, dan komponen-komponen telekomunikasi yang terhubung, terdistribusi dalam jaringan. Untuk itu diperlukan sistem monitoring dan manajemen dalam kerangkareal-time. Dengan semakin tingginya tingkat kompetisi untuk menyediakan sistem komunikasi yang terbaik, diperlukan pendekatan komputerisasi dan software paradigma yang sesuai. Disinilah teknologi agent diperlukan. Beberapa riset dan aplikasi dalam area ini adalah: pengontrolan jaringan, transmisi danswitching, service management, dan manajemen jaringan, dsb.
Air Traffic Control: Ljunberg mengemukakan sistem pengontrolan lalu lintas udara berbasis agent yang terkenal dengan nama OASIS. OASIS sudah diujicoba di bandar udara Sydney di Australia. OASIS diimplemantasikan menggunakan sistem yang disebut DMARS.
Transportation System: Beberapa contoh aplikasi teknologi agentyang ada dalam area ini adalah: aplikasi pencarian sistem transportasi dan pemesanan tiket dengan menggunakan MAS, kemudian aplikasi lain adalah seperti yang dikemukakan oleh Fischer.

5.2. Riset dan AplikasiSoftware Agent di Dunia Internet dan Bisnis
Seperti sudah disebutkan diatas, boleh dikatakan teknologiagent paling banyak diaplikasikan dalam dunia Internet dan bisnis ini. Bagaimanapun juga ini tak lepas dari maju dan berkembang pesatnya teknologi jaringan komputer yang membuat perlunya paradigma baru untuk menangani masalah kolaborasi, koordinasi dalam jarak yang jauh, dan salah satu yang penting lagi adalah menangani kendala membengkaknya informasi.
1. Information Management: Ada dua tema besar dalam manajemen informasi dan peran teknologi agent untuk mengatasi masalahinformation overload karena perkembangan teknologi jaringan dan Internet.
· Information Filtering: Proyek MAXIMS, kemudian WARREN adalah contoh aplikasi di bidang information filtering.
· Information Gathering: Banyak sekali aplikasi yang masuk areainformation gathering baik gratis maupun komersil. Contohnya adalah proyek WEBMATE, pencarian homepage dengansoftbot, proyek LETIZIA, dsb.
2. Electronic Commerce: Tema riset kearah desain dan implementasi untuk mengotomatisasi jual-beli, termasuk didalamnya adalah implementasi strategi dan interaksi dalam jual-beli, tawar-menawar, teknik pembayaran, dsb. merealisasikan sistem pasar elektronik dalam sistem yang disebut dengan KASBAH. Dalam sistem ini disimulasikan buyer agent dan seller agent yang melakukan transaksi jual-beli, tawar-menawar, dan masing-masingagent mempunyai strategi jual beli untuk mendapatkan yang termurah atau teruntung. Aplikasi agent lainnya adalah BargainFinder, JANGO, MAGMA, dsb.
3. Distributed Project Management: Untuk meningkatkan produktivitas dalam kerja yang memerlukan kolaborasi antar anggota tim dalam kerangka teamwork, mau tidak mau harus dipikirkan kembali model software yang mempunyai karakteristik bisa melakukan kolaborasi dan koordinasi secara mandiri, untuk membantu tiap anggota dalam melakukan tugas yang menjadi tanggung jawabnya. Salah satu approach adalah dengan mengimplemantasikan teknologi agent dalam software sistem yang dipakai untuk berkolaborasi. Anumba memberikan kontribusi dalam pengembangan decision support system untuk designer dalam mendesain bangunan dalam kerangka teamwork. Riset dan aplikasi lain adalah RAPPID, PROCESSLINK, dan juga OOEXPERT yang memberikan solusi dan metodologi dalam pemecahan masalah object model creation process dalam OOAD, dan implementasi dengan menggunakan pendekatan Multi Agent System (MAS).

5.3. Riset dan AplikasiSoftware Agent di DuniaEntertainment
Komunitas informatika dan ilmu komputer sering tidak menjamah dengan serius industri-industri yang bersifat lebih ke arah rekreasi dan kesenangan (Leisure Industri). Misalnya adalah masalah industri game, teater dan sinema, dsb. Dengan adanya software agent, memungkinkan komunitas informatika dan komputer untuk ikut andil merealisasikan pemikirannya.
Games: Software agent berperan penting dalam pengembangan game modern, misalnya dengan membawa paradigma agentkedalam karakter manusia atau sesuatu dalam game tersebut sehingga lebih hidup. Beberapa riset yang sudah sampai pada tahap implementasi adalah misalnya aplikasi game yang dikembangkan oleh Grand dan Cliff, kemudian juga, dsb.

Referensi :

Selasa, 02 April 2013

TRACEROUTE PADA MODEM FIXED LINE



Modem Fixed Line
Paket fixed line menjadi pilihan bagi pengguna rumahan yang jarang keluar rumah, koneksi internet ini memiliki kelebihan tidak bergantung pada coverage dan kekuatan sinyal seperti yang terjadi pada jaringan wireless, 3G, HSDPA, EVDO dan sebagainya.

Topologi Modem Fixed Line


Pengertian Traceroute
Traceroute (Tracert) adalah perintah untuk menunjukkan rute yang dilewati paket untuk mencapai tujuan. Ini dilakukan dengan mengirim pesan Internet Control Message Protocol (ICMP) Echo Request Ke tujuan dengan nilai Time to Live yang semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan.

Traceroute  / tracert ( pada windows )  berguna untuk  menganalisa jaringan internet  yang digunakan, dengan mengetahui rute perjalanan data melalui paket-paket data yang dikirim ke host (server) melalui media di internet atau jaringan komputer.
Dengan traceroute, kita dapat menganalisis informasi mengenai lokasi router, tipe dan kapasitas interface, tipe dan fungsi router, serta batas-batas network yang dilalui, berdasarkan DNS interface yang dilalui. Untuk lebih memperjelas, berikut ini adalah contoh hasil traceroute ke indowebster.com dan ISP yang digunakan adalah Speedy.

Cara melakukan Traceroute pada Windows
  1. Klik Start –> Run
  2. Setelah muncul pop up lalu anda tinggal ketikkan –> CMD
  3. Lalu munculah gambar seperti di bawah ini , kemudian anda  tinggal ketikkan –> tracert (spasi) namadomainanda
  4.  


 Hasil tracert diatas menunjukkan bahwa koneksi yang digunakan cukup stabil, terlihat 7 Hops (loncatan). Waktu dalam satuan ms (millisecond) sama seperti halnya Hops, semakin kecil waktu perpindahan data, maka akan semakin baik /cepat  anda mengakses situs yang anda traceroute  tadi.

1 adalah private address LAN dari PC



2-4 adalah PT Telkom yang merupakan ISP yang digunakan
5-6 adalah Openixp Internet Exchange Point Indonesia (OpenIXP terdiri dari beberapa ISPs (Internet Service Provider) di seluruh Indonesia. Mereka saling “exchange” traffic antara satu sama lainnya. Sewaktu mereka exchange traffic ini, mereka tidak membayar satu sama lainnya, jadi makanya dibilang “free” traffic. Customer ISP A kalau mau menjenguk situs di ISP B, mereka tidak membayar apapun.)
 

6-7 adalah jaringan yang kita tuju yaitu indowebster


Tetapi jika anda melihat pada hasil tracert ada tanda  *  atau pesan “request timed out” pada hasil tracert anda, maka disitulah masalah yang ada pada koneksi internet anda.
Secara practical, traceroute digunakan sebagai bahan untuk menganalisa kemungkinan-kemungkinan penyebab Anda tidak bisa mengakses suatu website. Jika Anda tidak bisa mengakses website Anda dan hasil tracert tidak complete, silahkan menghubungi support dari provider hosting dan informasikan hasil tracert tersebut untuk digunakan sebagai bahan analisa penyebab kemungkinan website Anda tidak bisa diakses, selain itu informasikan juga IP Publik koneksi Anda saat ini (Bisa diperiksa menggunakan layanan seperti http://whatismyip.com) untuk mencegah kemungkinan IP Publik Anda terblok di sisi server.
Anggota Kelompok :
David

Selasa, 19 Maret 2013

TUGAS SOFTSKILL : LATEX DAN LYX

LATEX


LaTeX (dilafalkan /ˈleɪtɛk/, /ˈleɪtɛx/, /ˈlɑːtɛx/, or /ˈlɑːtɛk/)adalah bahasa markup dokumen dan sistem dokumen persiapan untuk program typesetting TeX. Dalam sistem typesetting, nama style sebagai \ LaTeX. The LaTeX Istilah hanya bahasa dalam dokumen yang ditulis, bukan kepada editor yang digunakan untuk menulis dokumen-dokumen. Dalam rangka untuk membuat dokumen dalam LaTeX, sebuah file tex. Harus diciptakan menggunakan beberapa bentuk editor teks. Sementara editor teks yang paling dapat digunakan untuk membuat dokumen LaTeX, sejumlah editor telah diciptakan khusus untuk bekerja dengan LaTeX.

LaTeX yang paling banyak digunakan oleh ahli matematika, ilmuwan, insinyur, filsuf, pengacara, ahli bahasa, ekonom, peneliti, dan para sarjana lainnya di akademisi. Sebagai Bentuk primer atau menengah,. Misalnya, menerjemahkan DocBook dan berbasis XML format ke PDF, LaTeX digunakan karena kualitas yang tinggi dicapai oleh typesetting TeX. Sistem typesetting menawarkan fitur desktop publishing diprogram dan fasilitas yang sangat lengkap untuk mengotomatisasi sebagian besar aspek huruf dan desktop publishing, termasuk penomoran dan lintas-referensi, tabel dan gambar, tata letak halaman dan bibliografi.

LaTeX ini dimaksudkan untuk memberikan sebuah bahasa tingkat tinggi yang mengakses kekuatan TeX.LaTeX pada dasarnya terdiri dari koleksi macro TeX dan program untuk memproses dokumen LaTeX. Karena perintah format TeX yang sangat rendah tingkat, biasanya jauh lebih sederhana bagi end-user untuk menggunakan LaTeX.

LaTeX awalnya ditulis pada awal tahun 1980 oleh Leslie Lamport di SRI International Hal. Telah menjadi metode dominan untuk menggunakan TeX orang-relatif sedikit menulis dalam TeX polos lagi. Versi saat ini adalah LaTeX2e (ditata \ LaTeXe).

LaTeX didasarkan pada gagasan bahwa penulis harus dapat fokus pada konten dari apa yang mereka tulis tanpa terganggu oleh presentasi visual. Dalam mempersiapkan dokumen LaTeX, penulis menentukan struktur logis menggunakan konsep akrab seperti bab, bagian, tabel, gambar, dll, dan memungkinkan sistem LaTeX khawatir tentang penyajian struktur ini. Karena itu mendorong pemisahan tata letak dari konten sementara masih memungkinkan manual typesetting penyesuaian jika diperlukan. Hal ini mirip dengan mekanisme yang banyak pengolah kata memungkinkan gaya harus didefinisikan secara global untuk seluruh dokumen atau penggunaan Cascading Style Sheets ke HTML gaya.

LaTeX dapat sewenang-wenang diperpanjang dengan menggunakan bahasa makro yang mendasari untuk mengembangkan format kustom. macro tersebut sering dikumpulkan ke dalam paket, yang tersedia untuk menangani masalah pemformatan khusus seperti konten matematika rumit atau grafis. Memang, pada contoh di bawah, sejajarkan lingkungan disediakan oleh paket amsmath.



Versi LATEX yang sudah baku ini memiliki beberapa kekuatan, diantaranya:
Standard yang sangat baik untuk menyiapkan tulisan teks,formula teknis, dan tabel-tabel
Kemudahan penggunaan oleh penulis naskah.
Portabilitas dokumen pada berbagai platform
Adaptabilitas terhadap banyak bahasa (multilingual support)
Ketersediaan secara meluas dan bebas
Sebuah dokumen LATEX memiliki struktur yang dicirikan dengan blok yang diapit oleh pasangan perintah \begin dan \end. Untuk menyatakan jenis dokumenyang akan diolah, setiap dokumen harus dimulai dengan perintah \documentclass{…}
Jenis dokumen ini dapat berupa buku, artikel, laporan, transparansi, thesis,dan sebagainya.Badan utama dokumen dituliskan di antara pasangan
\begin{document} dan \end{document}
Contoh:
\documentclass{article}
\begin{document}
Ini adalah contoh sebuah
dokumen\LaTeX.
\end{document}
Kelas Dokumen
Jenis dokumen yang akan diolah ditentukan oleh perintah pertama dalam bentuk\documentclass[option]{class}
Dalam perintah diatas,“class”dapat diganti oleh article, report, book,atau slides untuk menuliskan artikel,laporan,buku,atau transparansi untuk seminar. Sedangkan pada bagian“option” dapat dituliskan satu atau beberapa pilihan berikut:10pt, 11pt, 12pt untuk menyatakan ukuran font utama yang digunakan didalam dokumen a4paper, letterpaper menyatakan ukuran kertas yang digunakan titlepage, notitlepage untuk menyatakan apakah halaman judul akan dibuat terpisah dari badan dokumen atau tidak twocolumn untuk menampilkan dokumen dalam bentuk dua kolom twoside, oneside untuk menyatakan apakah dokumen akan dicetak pada satu sisi atau dua sisi dari kertas.
Package
Penyertaan paket kedalam dokumen dilakukan dengan perintah:
\usepackage[option]{nama-paket}
Contoh:
\usepackage[bahasa]{babel}
Keterangan:
paket babel disertakan dengan kata kunci bahasa. Paket ini yang memberikan fasilitas multi lingual sehingga misalnya nama bulan pada perintah \today yang dituliskan pada bagian judul
dokumen ini muncul dalam bahasa Indonesia sebagai“23 Januari2001” bukan sebagai“January 23, 2001”, serta perintah \tableofcontents secara otomatis menuliskan judul“DaftarIsi”.
Paragraph
Di dalam dokumen LA TEX paragraph dipisahkan satu dari yang lain oleh satu atau beberapa baris kosong atau perintah \par.Jika dalam sebuah paragraph ada baris yang ingin dimulai dengan
Baris baru tanpa memulai paragraph baru,maka paragraph sebelum baris baru ini diakhiri dengan perintah \\ atau \newline .
Untuk memulai halaman baru,gunakan perintah \newpage
Pengaturan Spasi
Pengaturan spasi pada latex dengan menggunakan paket\usepackage{setspace} di awal dokumen. Kemudian letakkan perintah di bawah ini setelah \begin{document}
\singlespacing à untuk mengatur jarak 1 spasi
\onehalfspacing à untuk mengatur jarak 1 setengah spasi
\doublespacing à untuk mengatur jarak double spasi
Contoh :
\documentclass[a4paper,12pt,oneside]{article}
\usepackage{setspace}
\usepackage[bahasa]{babel}
\begin{document}
\doublespacing
\section{Latex}
\subsection{Pengertian Latex}
\hspace{1cm} TEX merupakan perangkat lunak pengolah dokumen yang terutama ditujukan menghasilkan dokumen yangberisi simbol-simbol matematik. TEX diciptakan oleh Donald E. Knuth (Mei1977) sebaga ibahasa pembentuk dokumen (document formatting language). \LaTeX \ adalah sistem typesetting yang dapat digunakan untuk membuat artikel, buku, surat, dan publikasi lain berkualitas tinggi.
\end{document}
Judul Dokumen
Judul dokumen serta nama pengarang mengarang dapat dimunculkan melalui perintah
\maketitle
Dengan sebelumnya mendefinisikan judul dan nama pengarang melalui perintah
\title dan \author
Jika nama pengarang lebih dari satu, setiap nama dipisahkan satu dengan lainnya dengan perintah \and
Bab,SubBab,danBagian
Dokumen kelas article memiliki perintah seperti:
\section{…}
\subsection{…}
\subsubsection{…} Memberikan nomor pada nama bagian, Bab dsb..
\paragraph{…}
\subparagraph{…}
Contoh :
\documentclass[a4paper,12pt,oneside]{article}
\usepackage{setspace}
\usepackage[bahasa]{babel}
\begin{document}
\doublespacing
\begin{center}
\tableofcontents
\newpage
\end{center}
\section{Latex}
\subsection{Pengertian Latex}
\hspace{1cm} TEX merupakan perangkat lunak pengolah dokumen yang terutama ditujukan menghasilkan dokumen yangberisi simbol-simbol matematik. TEX diciptakan oleh Donald E. Knuth (Mei1977) sebaga ibahasa pembentuk dokumen (document formatting language). \LaTeX \ adalah sistem typesetting yang dapat digunakan untuk membuat artikel, buku, surat, dan publikasi lain berkualitas tinggi.
Daftar Isi, Gambar, Tabel
Dengan menggunakan perintah pembagian struktur seperti \part, \chapter, \section, daftar isi dapat secara otomatis dimunculkan dengan perintah\tableofcontents
Demikian juga jika dokumen memuat gambar dan table yang dibuat melalui float table dan figure, maka daftar gambar dan table dapat ditampilkan dengan perintah: \listoftables dan\listoffigures
Environment
Untuk menuliskan bentuk khusus, LATEX menyediakan sejumlah environment yang dituliskan dalam sturktur blok yang diapit oleh\begin{environment} dan\end{environment}
itemize : membuat daftar yang tidak memiliki urutan
enumerate : membuat daftar yang memiliki urutan
description : membuat daftar yang berisi penjelasan suatu topik
quote : membuat kutipan pendek atau rangkaian kutipan pendek yang dipisahkan oleh baris kosong
quotation : membuat kutipan yang terdiri dari bebera paparagraf
verse : membuat ayat-ayat puisi
displaymath : membuat persamaan/ rumus matematika


LYX

LYX adalah salah satu front-end LATEX yang berbasis GUI, yang dapat dijalankan pada hampir semua platform sistem operasi. LATEX sudah cukup lama dikenal sebagai alat untuk menata tata letak (layout) buku atau majalah yang berkaitan dengan ilmu pasti. Dengan munculnya LYX yang dapat dioperasikan secara intuitif, hampir semua bidang dapat memanfaatkan LATEX sebagai alat untuk menata tampilan buku/ majalah. Sistem desktop publishing (DTP) digunakan untuk mengedit teks dan gambar yang dimasukkan pada suatu halaman penuh. Jadi, secara prinsip hampir semua jenis word processor atau document-processor dapat dijadikan salah satu komponen masukan dari sistem DTP. Apa keunggulan LYX pada sisi aplikasi DTP
LATEX yang bekerja di balik aplikasi LYX merupakan text-processor yang memiliki banyak keunggulan dibandingkan word processor, di antaranya adalah konsistensi, referensisilang dan penempatan gambar/tabel secara otomatis, serta penyusunan pustaka yang konsisten. Konsistensi tata letak ini disebabkan karena semua komponen tata letak dikontrol oleh suatu makro atau paket LATEX. Dengan kata lain, sekali suatu makro didefinisikan maka akan didapatkan tata letak yang sangat konsisten
Secara teknis, LyX yang dibangun berdasarkan LaTeX kurang tepat jika dikategorikan sebagai word processor. Perancang LaTeX, Leslie Lamport (1985) menyebut LaTeX sebagai document preparation system. LaTeX merupakan front-end untuk bahasa scripting khusus untuk typesetting, TeX, yang dibuat oleh Donald Knuth (1984). Format pdf (portable document format) dan dvi (device independent format) bermula dari TeX
Simple Formula Guide to Latex/Lyx
Sedang cari-cari guide untuk menyisipkan formula di dokumen Lyx. Ketemu link A Simple Guide to Latex/Lyx. Memang, Lyx atau latex kan dibuat agar kita tidak terlalu pusing untuk mengurusi formatting, labelling, formula, placing, dll di dokumen kita, sehingga mestinya menyisipkan formula ini harusnya tidak jadi masalah.
Untuk menyisipkan formula di dokumen Lyx-1.3.6, bisa dilakukan dengan 3 cara:
B. perbedaan lyx dan latex
Perbedaan yang dibawa LaTeX maupun LyX adalah paradigma dalam menyusun dokumen, dari WYSIWYG (What You See Is What You Get) yang dibawa oleh word processor pada umumnya, menjadi WYSIWYM (What You See Is What You Mean), yang berarti bahwa penyusunan dokumen tidak berdasarkan pada penampilan dari bagian-bagian khusus dokumen tersebut, melainkan berdasarkan struktur dokumen (catatan: karena hanya berbeda satu karakter antara WYSIWYG dengan WYSIWYM, selanjutnya saya akan menuliskan keduanya sebagai WYSIWYGet dan WYSIWYMean agar mudah dibedakan). Misalnya, pada word processor biasa, ketika mengetik suatu artikel, saya mengatur jenis dan ukuran font untuk judul artikel secara manual, kemudian mengatur indentasi paragraf, dan kembali mengatur jenis dan ukuran font secara manual untuk setiap judul bab, dan seterusnya. Pada LyX, saya cukup menandai bagian-bagian dokumen tersebut, “yang ini judul. Yang itu paragraf. Yang ini nama penulis,” dan LyX akan secara otomatis mengatur jenis, ukuran, dan style dari font yang akan digunakan, indentasi, dan sebagainya. Kira-kira mirip dengan pengaturan style pada word processor modern (versi-versi baru Microsoft Word ataupun OpenOffice.org Writer), yang sudah mulai beralih ke paradigma WYSIWYMean. Bedanya, word processor masih memungkinkan pengguna untuk melakukan pengaturan typeface secara manual (WYSIWYGet), sedangkan LyX adalah WYSIWYMean murni. Pada LyX, bahkan menekan tombol [Enter] atau [Space] dua kali tidak akan memberikan dua new line feed atau pun dua spasi. Konsep WYSIWYM pada word processor belum matang, tidak seperti pada LyX atau LaTeX yang sudah ada sejak 24 tahun yang lalu.
Contohnya, dalam LyX kita tidak bisa mengetik dua spasi secara berurutan, dua baris baru secara berurutan, atau memiliki baris yang kosong! Karena semua pengaturan tentang spacing antar paragraf, antar bagian dst sudah dibuat secara otomatis.
Keunggulan dari LyX yaitu:
- output yang konsisten misalnya, semua paragraf dipastikan memiliki margin yang sama, semua judul dipastikan memiliki besar sama, dst. Selain itu, karena dokumen sangat terstruktur maka ada fitur untuk melakukan navigasi intra-dokumen yang sangat bagus (ada daftar judul-judul bab dan sub-bab, kita bisa meng-klik untuk pindah ke bagian tersebut dengan cepat).
- Setiap dokumen memiliki kelas sendiri, misalnya article atau book, dan setiap kelas sudah terformat dengan sangat baik bahkan melebihi apa yang biasa kita lakukan dengan Word. Contohnya, pada kelas book, nomor halaman sudah berada pada tempat yang tepat (di bawah saat mulai bab, di atas pada halaman lainnya). Penomoran bab dan sub-bab langsung dibuat secara otomatis!
- setiap gambar dan tabel juga diberikan penomoran otomatis! Tidak seperti di Word dimana kita harus melakukan setting yang cukup repot dan tidak semua orang bisa melakukannya. Juga, seperti buku-buku profesional pada umumnya, setiap tabel maupun gambar tidak terletak di tempat kita meletakkan tabel/gambar tersebut, tetapi di awal atau akhir halaman! Dan semuanya otomatis! (fitur ini bisa dimatikan untuk tabel tertentu)
keburukan lyx yaitu :
- tidak bisa mengatur style (warna, font, dll) yang baku dari style yang sudah ada seperti judul bab, judul sub-bab, dll (walaupun untuk tulisan bukan judul bisa dilakukan).
- sulit untuk mengatur apa-apa yang sudah di pre-format oleh Lyx, misalnya di mana penomoran halaman diletakkan, atau kata-kata otomatis yang digunakan. Seperti Chapter xxx, Figure xxx, Table xxx (dalam penomoran otomatis)… tetapi versi Bahasa Indonesia seperti Bab xxx, Gambar xxx, Tabel xxx tersedia (dengan memilih bahasa Bahasa (seharusnya Bahasa Indonesia kan???)), tetapi seperti yang sudah dikatakan kita tidak bisa mengubahnya menjadi Bagian xxx atau Figur xxx misalnya.




PENGANTAR SISTEM TERDISTRIBUSI - OBJECT INTERFACE

OBJECT INTERFACE

Pengertian interface adalah himpunan operasi-operasi yang menentukan perilaku sebuah objek, biasanya digunakan apabila kita ingin menentukan apa saja yang harus dilakukan oleh satu class tetapi tidak menentukan bagaimana cara untuk melakukannya.


Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum.



Dengan catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface.

Kita akan menggunakan interface jika kita ingin class yang tidak berhubungan mengimplementasikan method yang sama. Melalui interface-interface, kita dapat menangkap kemiripan diantara class yang tidak berhubungan tanpa membuatnya seolah - olah class yang berhubungan.

Mari kita ambil contoh class Line dimana berisi method yang menghitung panjang dari garis dan membandingkan object Line ke object dari class yang sama. Sekarang, misalkan kita punya class yang lain yaitu MyInteger dimana berisi method yang membandingkan object MyInteger ke object dari class yang sama.

Seperti yang kita lihat disini, kedua class-class mempunyai method yang mirip dimana membandingkan mereka dari object lain dalam tipe yang sama, tetapi mereka tidak berhubungan sama sekali. Supaya dapat menjalankan cara untuk memastikan bahwa dua class-class ini mengimplementasikan beberapa method dengan tanda yang sama, kita dapat menggunakan sebuah interface untuk hal ini. Kita dapat membuat sebuah class interface, katakanlah interface Relation dimana mempunyai deklarasi method pembanding. Relasi interface dapat dideklarasikan sebagai,

--------------------------------------------------------
public interface Relation


{


public boolean isGreater( Object a, Object b);


public boolean isLess( Object a, Object b);


public boolean isEqual( Object a, Object b);


}
--------------------------------------------------------

Alasan lain dalam menggunakan interface pemrograman object adalah untuk menyatakan
sebuah interface pemrograman object tanpa menyatakan classnya. Seperti yang dapat kita lihat nanti dalam bagian Interface vs class, kita dapat benar-benar menggunakan interface sebagai tipe data.

Pada akhirnya, kita perlu menggunakan interface untuk pewarisan model jamak dimana
menyediakan class untuk mempunyai lebih dari satu superclass. Pewarisan jamak tidak
ditunjukkan di Java, tetapi ditunjukkan di bahasa berorientasi object lain seperti C++.


Interface vs. Class Abstract

Berikut ini adalah perbedaan utama antara sebuah interface dan sebuah class abstract:
method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan
konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa
lainnya, mereka didefinisikan secara independent.

Interface vs. Class


Satu ciri umum dari sebuah interface dan class adalah pada tipe mereka berdua. Ini artinya bahwa sebuah interface dapat digunakan dalam tempat-tempat dimana sebuah class dapat digunakan. Sebagai contoh, diberikan class Person dan interface PersonInterface, berikut deklarasi yang benar:

--------------------------------------------------------
PersonInterface pi = new Person();


Person pc = new Person();

--------------------------------------------------------

Bagaimanapun, Anda tidak dapat membuat instance dari sebuah interface.
Contohnya:

---------------------------------------------------------
PersonInterface pi = new PersonInterface(); //COMPILE
//ERROR!!!

---------------------------------------------------------

Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method.
Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class
memiliki salah satunya.

Membuat Interface

Untuk membuat interface, kita tulis,

--------------------------------------------------------
public interface [InterfaceName]
{
//beberapa method tanpa isi
}

--------------------------------------------------------

Sebagai contoh, mari kita membuat sebuah interface yang mendefinisikan hubungan antara
dua object menurut urutan asli dari object.

--------------------------------------------------------
public interface Relation


{


public boolean isGreater( Object a, Object b);


public boolean isLess( Object a, Object b);


public boolean isEqual( Object a, Object b);


}

--------------------------------------------------------

Sekarang, penggunaan interface, kita gunakan kata kunci implements. Contohnya,

---------------------------------------------------------
/**


* Class ini mendefinisikan segmen garis
*/
public class Line implements Relation
{


private double x1;
private double x2;
private double y1;
private double y2;


public Line(double x1, double x2, double y1, double y2){
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;


}
public double getLength(){
double length = Math.sqrt((x2-x1)*(x2-x1) +
(y2-y1)* (y2-y1));
return length;
}


public boolean isGreater( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen > bLen);


}


public boolean isLess( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen < alen =" ((Line)a).getLength();" blen =" ((Line)b).getLength();" alen ="=" style="font-weight: bold;">Petunjuk penulisan program:

Gunakan interface untuk mendefinisikan method standar yang sama dalam class-
class berbeda yang memungkinkan. Sekali Anda telah membuat kumpulan definisi
method standar, Anda dapat menulis method tunggal untuk memanipulasi semua class-
class yang mengimplementasikan interface.

Hubungan dari Interface ke Class

Seperti yang telah kita lihat dalam bagian sebelumnya, class dapat mengimplementasikan
sebuah interface selama kode implementasi untuk semua method yang didefinisikan dalam
interface tersedia.

Hal lain yang perlu dicatat tentang hubungan antara interface ke class-class yaitu, class
hanya dapat mengEXTEND SATU superclass, tetapi dapat mengIMPLEMENTASIkan BANYAK
interface. Sebuah contoh dari sebuah class yang mengimplementasikan interface adalah,

---------------------------------------------------------
public class Person implements PersonInterface,
LivingThing,
WhateverInterface {


//beberapa kode di sini
}


Contoh lain dari class yang meng-extend satu superclass dan mengimplementasikan
sebuah interface adalah,

public class ComputerScienceStudent extends Student
implements PersonInterface,
LivingThing {
//beberapa kode di sini
}

---------------------------------------------------------

Catatan bahwa sebuah interface bukan bagian dari hirarki pewarisan class. Class yang tidak
berhubungan dapat mengimplementasikan interface yang sama.


Pewarisan Antar Interface

Interface bukan bagian dari hirarki class. Bagaimanapun, interface dapat mempunyai
hubungan pewarisan antara mereka sendiri. Contohnya, misal kita punya dua interface
StudentInterface dan PersonInterface. Jika StudentInterface meng-extend
PersonInterface, maka ia akan mewariskan semua deklarasi method dalam PersonInterface.

---------------------------------------------------------
public interface PersonInterface {
...
}


public interface StudentInterface extends PersonInterface {
...
}

Referensi : http://lecturer.ukdw.ac.id/anton/sister.php