You are on page 1of 180

DUKUNGAN XML PADA PENGEMBANGAN PERANGKAT

LUNAK UNTUK SISTEM PEMBELAJARAN JARAK JAUH DI

MAGISTER TEKNOLOGI INFORMASI (MTI) UGM

SKRIPSI

ADITYA BAYU SAMUDRA SIREGAR

98 / 120966 / TK / 22729

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK


UNIVERSITAS GADJAH MADA
YOGYAKARTA
2002
HALAMAN PENGESAHAN

TUGAS AKHIR

DUKUNGAN XML PADA PENGEMBANGAN PERANGKAT LUNAK UNTUK

SISTEM PEMBELAJARAN JARAK JAUH DI MAGISTER TEKNOLOGI

INFORMASI (MTI) UGM

Diajukan Sebagai Syarat Meraih Gelar SarjanaTeknik Program S-1


Pada Jurusan Teknik Elektro Fakultas Teknik
Universitas Gadjah Mada
Yogyakarta

Telah Diperiksa dan Disetujui


Tanggal ……………………..

Pembimbing I Pembimbing II

Teguh Bharata Adji, S.T., M.T., M.Eng. Ir. Marcus Nurtiantara Aji, M.T.

NIP. 132 133 729 NIP. 132 133 731


HALAMAN PERSEMBAHAN

SKRIPSI INI KUPERSEMBAHKAN KEPADA :

CINTA,
YANG MENCIPTAKAN KETULUSAN, KEJUJURAN,
KEBERANIAN, KEPERCAYAAN, DAN KESETIAAN
KEMULIAAN DAN KETINGGIAN DERAJAT KEMANUSIAAN,
YANG MUNCUL DARI FITRAH MANUSIA YANG DIGENGGAM
CINTA

SERTA ORANG-ORANG YANG MEMBANTUKU BERJUANG


UNTUK MENGGAPAI KEDUANYA :

AYAHKU , IBUKU, ADIKKU NANA, RANI, BAHANA

SERTA SESEORANG YANG KUHARAP DAPAT MENJADI


SAHABAT UNTUK BERJUANG MENGGAPAI RIDLO-NYA,
DWI SEFIDITA SARI
MOTTO

YA ALLAH, TANAMKANLAH CINTA DALAM HATIKU,


KARENA SELAMA AKU MASIH MEMILIKI DAN MERASAKAN CINTA,
MAKA AKU TAK AKAN TAKUT MENGHADAPI SEMUANYA
SEBAB SEMUA KEKURANGANKU AKAN MEMBERIKU KEKUATAN
UNTUK MEMPERBAIKINYA
DAN SEMUA KELEBIHANKU AKAN MEMBAWA RAHMAT BAGI MANUSIA

YA ALLAH, TANAMKAHLAH KESADARAN DALAM HATIKU


UNTUK MEYAKINI BAHWA SEMUANYA ADALAH SEBUAH PROSES,
KARENA DENGAN KEYAKINAN ITU AKU AKAN DAPAT SABAR DAN
ISTIQAMAH DALAM MENGHADAPI SEMUA UJIAN YANG KAUBERIKAN

SESUNGGUHNYA ORANG TAK DAPAT DIKATAKAN BERIMAN


SAMPAI ORANG LAIN SELAMAT DARI LIDAH DAN PERBUATANNYA
KATA PENGANTAR

Mempelajari sesuatu yang baru bagi saya tidaklah mudah. Namun justru

inilah yang membuat saya merasa tertantang dan tertarik. Skripsi ini merupakan

usaha saya untuk mempelajari, meneliti, serta menganalisa sesuatu yang belum

pernah saya pelajari sebelumnya di bangku kuliah, yaitu aplikasi web berbasis XML.

Banyak kendala yang saya hadapi dalam proses penyelesaian skripsi ini. Di antaranya

yang paling utama adalah belum populernya XML di komunitas akademik saya.

Sehingga, sulit bagi saya untuk mendapatkan referensi yang komprehensif tentang

XML, terutama dari orang-orang yang biasanya memberi petunjuk kepada saya

tentang bagaimana cara kerja sebuah sistem, software, atau bahasa pemrograman. Hal

ini karena saya selama ini lebih senang bertanya kepada orang, daripada membaca

buku. Namun beruntung ada internet. Di sana saya mendapatkan banyak referensi

tentang XML. Tentu saja saya harus bekerja lebih keras untuk menambah satu

kebiasaan baik lagi : membaca dan membaca.

Oleh karena itu, meski saya merasa masih banyak kekurangan dalam skripsi

ini, sudah sepantasnya saya mengucap syukur pada Allah swt yang telah mengijinkan

saya untuk menyelesaikan skripsi ini. Alhamdulillah, segala puji bagi-Nya.

Sesungguhnya tiada kesuksesan melainkan milik-Nya. Dan semua kekurangan adalah

pelengkap bagi keberhasilan.


Proses pengerjaan skripsi ini dimulai sejak bulan Juli 2002, dimulai dengan

diskusi tentang konsep-konsep database dan sistem distance learning yang baik.

Kemudian setelah saya mendapatkan topik yang membuat saya tertarik, pengerjaan

skripsi mulai terfokus pada bulan September 2002. Tahap perancangan sistem dimulai

pada pertengahan bulan ini, sembari saya mencari dan mempelajari teknologi-

teknologi apa saja yang tepat untuk implementasinya. Akhirnya pada awal Desember

2002 saya berhasil menyelesaikan skripsi ini.

Tak lupa saya menyampaikan terima kasih kepada pihak-pihak yang telah

membantu saya menyelesaikan skripsi ini, antara lain :

1. Bapak Teguh Bharata Adji, selaku dosen pembimbing pertama saya, atas

bimbingan dan perhatiannya selama ini.

2. Bapak T. Haryono, selaku Ketua Jurusan Teknik Elektro UGM

3. Bapak Marcus Nurtiantoro Aji, selaku Dosen Pembimbing Kedua, atas

bantuannya dalam mengkoreksi skripsi saya

4. Teman-teman satu Tim Distance Learning : Beni, Pupus, Yudha, Herison.

Terima kasih banyak atas kebersamaannya.

5. Teman-teman Angkatan 98 Teknik Elektro: Bimo AS, M. Arson, Dikki, Riwi,

Sapto, Neki, Bustomi, Rozak, 3Feri, Owie, Broto, Yayuk, Firdhaus, Danang,

Yoyok, Indra P, Himma, M. Andri, Bimo A, Gigih, Masri, Agus K, Andi S,

dan lain-lain yang tidak dapat saya sebutkan satu per satu. Terima kasih

semuanya.
6. Teman-teman AFS : Kiki, Oki, Fahim, Dilah, Kumala, Ully, Hesti, Yuni,

Gunawan, Aat, Ndaru, Galang, dan lain-lainnya.

7. Teman-teman Jurusan Teknik Elektro lainnya : Siska, Rudi, Bangkit, Ardo,

Herman, Idi, Indra Icun, Oppie, dan lain-lain.

8. Keluarga Mahasiswa Teknik Elektro UGM, atas pengalaman berharga yang

diberikan pada saya yang tak akan saya lupakan selama hidup, Insya Allah.

9. Bapak dan Ibu Dosen Jurusan Teknik Elektro UGM.

10. Bapak Tiyono selaku Dosen Wali.

11. Bapak Yatman, Mbak Yani, dan seluruh pegawai TU Jurusan Teknik Elektro,

atas kemudahan dan keramahan yang diberikan dalam proses pengurusan

proposal skripsi, transkrip nilai, dan lain-lain.

12. Pak Sis, Nuri, Simbah, Kang Sus, Slank, dan seluruh karyawan Jurusan

Teknik Elektro UGM.

Kemudian, penulis memohon adanya saran dan kritik dari semua pihak untuk

tentang skripsi ini, agar di lain kesempatan penulis dapat berbuat yang lebih baik lagi.

Penulis juga mengharapkan bahwa skripsi ini dapat dikembangkan lebih lanjut oleh

mahasiswa atau pihak lain, karena penulis melihat bahwa teknologi XML yang

disampaikan dalam skripsi ini memilki potensi yang sangat besar. Penulis juga tak

segan untuk memberikan bantuan bila diperlukan dan semampu penulis, bila ada

pihak-pihak yang ingin mengembangkan atau meneliti teknologi yang disampaikan

dalam skripsi ini.


Demikian, mohon maaf bila terdapat kata-kata yang salah. Semoga Allah

mengampuni, mengasihi, memaafkan, serta meridloi kita semua. Allahumma amin.

Yogyakarta, 14 Desember 2002

Penulis

Aditya Bayu Samudra Siregar


DAFTAR ISI

Halaman Pengesahan ………………………………………….i

Halaman Persembahan ………………………………………….ii

Motto …………………………………………iii

Kata Pengantar ………………………………………….iv

Daftar Isi ……..…………………………………viii

BAB I. Pendahuluan .………………………………………….1

1.1. Latar Belakang ………………………………………….1

1.2. Rumusan Masalah ………………………………………….3

1.3. Batasan Masalah ……………………………………….…3

1.4. Tujuan ……………………………………….…4

1.5. Sistematika Penulisan ………………………………………….4

BAB II. Landasan Teori ………………………………………….6

2.1. Urgensi Penerapan Sistem Pembelajaran

jarak jauh di Magister Teknologi Informasi

(MTI) UGM ………………………………………….6

2.2. Teknologi Informasi untuk

Implementasi Sistem …………………………………………..8

2.2.1 Perbandingan Relational Database dan Data XML……………9

2.2.2 Database XML ………..……………………………….13

2.3. Skalabilitas Aplikasi Berbasis Web Menggunakan XML …..……….15


BAB III. Elstensible Markup Language

dan Teknologi Pendukungnya ………………………………………..17

3.1. Ekstensible Markup Language (XML) ……………………………...17

3.1.1. Sejarah Singkat ………….……………………………..17

3.1.2. Struktur Dokumen XML ……….……..………………….18

3.1.3. XML Validator ……………..…………………..22

3.1.4. XML Parser ………………..………………..26

3.1.4.1. DOM Parser …………..……………………..27

3.1.4.2. SAX Parser ……………..…………………..28

3.2. Ekstensible Stylesheet Language (XSLT) …………..………………..32

3.2.1. Struktur XSLT ………..………………………..33

3.2.1.1. Pola XSLT ……..…………………………..35

3.2.1.2. Namespace ………….……………………...35

3.2.1.3. Version ……….………………………...37

3.2.1.4. Beberapa Perintah XSLT yang Penting ……………..……38

3.2.2. Parser Transformasi XSLT …………..……………………..46

3.2.3. Metode Transformasi XSLT …………..……………………..47

3.3. Java …………..……………………..50

3.3.1. Classpath Dalam Java …………..……………………..52

3.3.2. Memanggil Class ……………..…………………..53

3.3.3. Java Development Kit (JDK, versi 1.3) ……………..………….54

3.4. Jakarta Tomcat ………………….……………...55

3.4.1. Java Servlet ………………….……………...56


3.4.2. Struktur Direktori Jakarta Tomcat 3.3 ………………..………...57

BAB IV. Analisa dan Pembahasan ………..………………………..59

4.1. Implementasi Dalam Sistem Distance Learning

di MTI UGM ………………………………...59

4.2. Gambaran Umum Sistem ……….………………………...60

4.2.1. Pencarian Data Berdasarkan Inpur dari User ……….………….61

4.2.2. Query Topik Berdasarkan Kata Kunci ………..………………...62

4.3. Perancangan Sistem …………….…………………...63

4.3.1. Alur Aplikasi ……….………………………...64

4.3.1.1. Penampilan Data …………….…………………...65

4.3.1.2. Query Data Berdasar Input dari User ……………..……...65

4.3.1.3. Query Data Berdasar Kata Kunci yang Tersedia …………66

4.3.2. Struktur Data …………………….…………...67

4.4. Implementasi Sistem …………….……………….…..71

4.4.1. Hirarki File dan Fungsi Masing-masing File ………..………….71

4.4.2. Penyimpanan Materi Topik dan Fasilitas Tambahan

untuk Materi Topik yang Disimpan Dalam Format XML …..…78

4.4.3. Kode-kode Penting dalam Aplikasi .. .. .……….……….……...79

4.4.3.1. Membuat Servlet ……………….………………...80

4.4.3.2. Menerima dan Mengirimkan Input ke XSLT ………..…...80

4.4.3.3. Query Data dengan XSLT …………..……………………83

4.5. Hasil Tampilan ……………….………………...85

4.6. Kelebihan dan Kekurangan Sistem …………….…………………...85


BAB V. Kesimpulan dan Saran …………….…………………...87

5.1. Kesimpulan ………………………………...87

5.2. Saran ………………………………...88

DAFTAR PUSTAKA ………………………………...89

LAMPIRAN ………………………………...
BAB I

PENDAHULUAN

1.1 Latar Belakang

Teknologi internet semakin lama semakin berkembang. Kini boleh dikatakan

hampir seluruh dunia terjangkau internet. Padahal, pada mulanya internet hanya

digunakan di universitas-universitas tertentu dan lembaga-lembaga militer sebagai

sarana komunikasi mereka.

Dampak dari perkembangan teknologi internet ini adalah lahirnya berbagai

jenis bahasa pemrograman berbasis web seperti PHP, ASP, Java Applet, JSP, dan lain-

lain. Meskipun banyak ragam bahasa pemrograman berbasis web, pada umumnya

para pengembang (developer) masih menggunakan Hyper Text Markup Language

(HTML) sebagai dasar pengembangan situs-situs internet. HTML sendiri merupakan

sebuah revolusi penemuan karena dengannya kita dapat membuat data tampil dengan

mudah di layar monitor, melalui internet.

Namun, dengan semakin meningkatnya jumlah data dan jumlah halaman

dalam suatu website, masalah pengembangan dan reusability menjadi suatu hal yang

perlu diperhatikan. Kelemahan dari HTML adalah ia tidak bisa memisahkan antara

isi, yaitu data yang ingin ditampilkan, dengan style, yaitu dengan cara apa kita hendak

menampilkan data. Sehingga, suatu halaman web yang memuat banyak data dengan

disain yang kompleks akan terlihat sangat ruwet, sehingga menyulitkan bila kita ingin

mengembangkan dan memodifikasi halaman tersebut. Selain itu, HTML hanya bisa
ditampilkan melalui browser komputer. Ia tidak bisa ditampilkan di Personal Digital

Assistance (PDA), telepon genggam, dan peralatan bergerak lainnya.

Di tengah masalah pengembangan ini, lahir sebuah bahasa yang dinamakan

eXtensible Markup Language (XML). XML mampu memisahkan antara data dengan

style dari suatu halaman dengan memanfaatkan teknologi XSL (eXtensible Stylesheet

Language). XML juga mampu bertindak sebagai suatu basis data sederhana yang

sanggup menerima query dan menampilkan sesuai dengan query. Di samping itu,

XML bukan merupakan bahasa yang vendor specific, artinya tidak terikat oleh suatu

pengembang perangkat lunak atau bahasa tertentu seperti Sun Microsystem,

Microsoft, dan Oracle. XML juga tidak memiliki tag-tag khusus yang hanya berlaku

pada satu browser namun tidak berlaku untuk browser yang lainnya seperti yang

terjadi pada HTML. Sifat ini membuat data yang ditulis dalam bentuk XML dapat

dipertukarkan dengan mudah dengan tetap menjaga integritas data, dari satu platform

ke berbagai macam platform lainnya. Keunggulan ini membuat banyak pengembang

software berbasis web beralih ke XML untuk menggantikan HTML, meskipun dalam

masa transisi kehadiran HTML masih sangat diperlukan, sehingga para developer

mengembangkan suatu bahasa markup kombinasi antara XML dan HTML yang

bernama XHTML.

Berdasar penemuan baru ini, yaitu XML, maka penulis berusaha menyelidiki

keunggulan-keunggulan dan kelemahan-kelemahannya dengan menerapkan XML

pada salah satu bagian dari sistem distance learning yang dirancang oleh tim

mahasiswa di bawah bimbingan Bapak Teguh Barata Adji, yaitu bagian pencarian

data.
1.2 Rumusan Masalah

Masalah-masalah yang timbul dapat dirumuskan sebagai berikut :

1. Bagaimana membuat sebuah fasilitas pencarian data yang baik pada

sistem pembelajaran jarak jauh (distance learning) di Magister Teknologi

Informasi (MTI) UGM dengan memanfaatkan teknologi XML dan XSLT.

2. Bagaimana menyusun suatu struktur XML yang dapat merepresentasikan

struktur data dengan baik untuk fasilitas pencarian data pada sistem di

atas.

3. Bagaimana merancang tampilan halaman XML pada fasilitas yang disebut

di atas dengan menggunakan XSLT.

1.3 Batasan Masalah

Dalam tugas akhir ini, pembahasan akan dibatasi dalam ruang lingkup sebagai

berikut :

1. Struktur data yang ada dirancang hanya untuk keperluan pencarian data

dengan menggunakan XML, XSL, dan Java, dengan menggunakan server

Apache dan Jakarta Tomcat Servlet Container

2. Fokus dari penelitian ini adalah pada satu bagian tertentu dari sistem

distance learning, yaitu pada bagian pencarian dan penampilan untuk

data-data mata kuliah, modul, dan topik-topik.


1.4 Tujuan

Pembuatan tugas akhir ini bertujuan untuk :

1. Membuat struktur data XML yang dapat digunakan sebagai sistem basis

data sedehana yang dapat menerima, mengeksekusi, serta menampilkan

query dan hasilnya.

2. Mengembangkan proses modifikasi data dari sistem tanpa melibatkan

Database Management System (DBMS).

3. Menunjukkan keunggulan dan kelemahan XML dalam batasan masalah

yang telah disebutkan

1.5 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dapat dipaparkan sebagai berikut :

BAB I PENDAHULUAN

Dalam bab ini dijelaskan tentang alasan pemilihan tema untuk penulisan

skripsi beserta pokok permasalahan yang muncul dalam pembuatan fasilitas

pencarian data dengan XML, XSL, dan Java pada sistem distance learning.

Pada bab ini juga dibahas batasan masalah dan tujuan yang ingin dicapai

melalui penulisan skripsi ini.

BAB II LANDASAN TEORI

Berbagai hal umum dan mendasar tentang sistem distance learning dan

arsitektur sistem pencarian data akan dibahas di sini.


BAB III EXTENSIBLE MARKUP LANGUAGE (XML) DAN TEKNOLOGI

PENDUKUNGNYA

Bab ketiga berkaitan dengan gambaran mengenai teknologi XML, XSLT,

Java, dan Jakarta Tomcat Servlet Container, dalam kaitannya dengan sistem

yang akan dibangun

BAB IV ANALISIS DAN PEMBAHASAN

Dalam bab ini akan diuraikan cara kerja dari program aplikasi yang telah

dibuat dan perbandingannya dengan program aplikasi lain yang sejenis.

Selain itu akan ditunjukkan juga contoh hasil eksekusi program beserta

segala kelebihan dan kekurangannya.

BAB V KESIMPULAN DAN SARAN

Bagian terakhir ini akan memaparkan hal-hal yang dapat disimpulkan

berdasar pembahasan sebelumnya beserta saran-saran yang sekiranya dapat

diberikan baik untuk pembuatan rancangan serupa dikemudian hari.


BAB II

LANDASAN TEORI

2.1 Urgensi Penerapan Sistem Pembelajaran jarak jauh di Magister Teknologi

Informasi (MTI) UGM

Magister Teknologi Informasi (MTI) Universitas Gadjah Mada sebagai

institusi pendidikan yang ternama di Indonesia sudah memiliki suatu jaringan global

yang terkoneksi dengan internet. Layanan yang diberikan adalah www, e-mail, dan

transfer file (FTP). Hal ini memberikan kontribusi yang besar bagi perkembangan

aplikasi berbasis web. Konsep pembelajaran jarak jauh yang lebih dikenal dengan

Distance Learning menggunakan layanan World Wide Web (www) untuk

mendistribusikan informasi yang berkaitan dengan pembelajaran. Sistem ini juga

membentuk sebuah komunitas dimana terjadi proses transfer dan berbagi

pengeteahuan baik dalam satu komunitas maupun komunitas yang lain sehingga akan

mempercepat terbentuknya sebuah masyarakat yang belajar (Learning Society).

Sebagai bentuk dari perkembangan teknologi yang masih baru , maka dalam

penerapannya diperlukan suatu pengkajian dan penelitian yang meneluruh mencakup

aspek-aspek yang ada. Dengan mengintegrasikan berbagai layanan yang tersedia di

internet maka pada tugas akhir ini dibuat sebuah sistem pembelajaran jarak jauh yang

terkomputerisasi dengan berbasis web, yang suatu saat nanti dapat menjadi kajian

bagi Jurusan Teknik Elektro untuk mengembangkan lebih lanjut.

Internet menjadi sebuah media informasi global yang sangat dinamis dan

interaktif. Dengan maraknya perkembangan web maka banyak sekali web


bermunculan dengan beraneka ragam content, dan salah satu dari sekian banyak itu

adalah content pendidikan yang biasanya dibuat oleh institusi pendidikan seperti

universitas, college, lembaga kursus, dan lain-lain.

Impilkasi dari hal tersebut adalah bagaimana mengelola isi dari situs yang

dibuat itu mampu memberikan informasi yang diharapkan baik dari segi kualitas

maupun kuantitas. Hal ini menjadi tantangan bagi para pembuat situs khususnya

content pendidikan. Penilaian kualitas informasi didasarkan pada aspek ketelitian,

tingkat kebenaran, dan kemutakhiran data. Penilaian ragam pelayanan ditinjau dari

jumlah layanan yang mampu ditawarkan dan mampu memberikan cakupan

pemakaian yang lebih luas.

Sebagai situs pendidikan yang bersifat interaktif dan dinamis maka

penggunaan database adalah salah satu bentuk penyelesaian masalah. Database yang

memiliki kelengkapan tipe data dan tersedia di berbagai macam platform sistem

operasi akan menjadikan data-data yang beraneka ragam dapat disimpan dengan

tingkat kehandalan yang tinggi serta memiliki tingkat skalabilitas yang memadai.

Perangkat lunak pemrogrmanan sangat dibutuhkan untuk memproses data secara

efisien dan tersedia di berbagai lingkungan sistem operasi. Bila hal-hal di atas

tersebut telah dipenuhi maka akan tercipta sistem yang mempunyai kinerja yang

tinggi, skalabilitas tinggi, dan lintas sistem (cross-platform). Permasalahan

selanjutnya adalah bagaimana membuat rancangan dan implementasi Sistem

Pembelajaran Jarak Jauh yang berbasiskan Web tersebut.

Sistem pembelajaran jarak jauh ini sudah diterapkan oleh dunia pendidikan di

luar negeri seperti universitas sebagai pendukung perkuliahan konvensional dan telah
dilaksanakan secara reguler. Kendala geografis dan waktu pun sudah tidak menjadi

masalah setelah terciptanya sistem pembelajaran jarak jauh ini. Materi perkulihan

seperti diktat, presentasi, soal-soal ujian, dan ringkasan dapat diberikan dalam format

yang sudah ditetapkan, seperti .doc(ms word), .ppt(ms powerpoint) sebagai media

presentasi, .pdf untuk diktat dan ringkasan. Dan, perlu pemodifikasian agar mampu

menampung materi dan informasi yang akan diberikan. Dalam disainnya diusahakan

agar sistem ini fleksibel, modular dan mudah untuk dimodifikasi.

Layanan yang diberikan sistem pembelajaran jarak jauh ini berdasarkan

kewenangan/hak otoritasnya yang terbagi menjadi bagian-bagian dari aktor-aktor

yang ada dalam sistem tersebut , yaitu administrator, dosen, mahasiswa, dan guest

(tamu biasa). Kewenangan ini digunakan sebagai perlindungan data. Sehingga pada

nantinya akan dilakukan analisis kebutuhan untuk mendefinisikan use case sistem

terutama dalam hal fungsionalitas.

Perangkat lunak untuk mengimplementasikan sistem pemilihannya perlu

disesuaikan dengan kebutuhan, kemampuan, dan juga keberadaan software tersebut

dipasaran. MySQL sebagai salah satu produk database yang populer dikarenakan

kehandalan, kelengkapan fiturnya, dan kesederhanaannya digunakan sebagai

perangkat lunak database. MySQL merupakan salah satu database relasional

(RDBMS/Relational Database Management System) yang diminati dan handal.

Bahasa pemrograman yang digunakan adalah PHP yang merupakan bahasa

pemrograman yang terintegrasi kuat dengan HTML. PHP adalah program yang

berbasis server side, sehingga akan memberikan jaminan keamanan data. Kita

mampu mengembangkan PHP dalam berbagai macam platform sistem operasi seperti
Windows, UNIX, Mac, dan Linux. Di samping menggunakan PHP dan MySQL,

dalam proyek ini juga akan diteliti kegunaan XML yang merupakan bahasa markup

hasil pengembangan terbaru di dunia internet.

Berbagai macam fitur perlu ditambahkan dalam sistem pembelajaran jarak

jauh ini agar mampu mendukung komukiasi antara dosen dan mahasiswa. Discussion

board, web chat, calender, serta e-mail dapat diintergrasikan dalam sistem ini. Selain

yang berhubungan dengan akademis web site ini diberikan fasilitas game atau

permainan, sehingga mahasiswa akan merasa tidak bosan dan tertarik untuk

mengakses web ini. Untuk mendukung referensi perkuliahan jarak jauh ini maka

diberikan fasilitas library sebagai perpustakaan on-line. Dengan menggunakan

perpustakaan on-line mahasiswa dapat melihat referensi mata kuliah, tesis, tugas

akhir, dan lain sebagainya.

Untuk mengimplementasikan program Sistem Pembelajaran Jarak Jauh

berbasiskan web ini di Jurusan Teknik Elektro FT UGM diperlukan syarat mutlak

yang harus terpenuhi, yaitu tersedianya infrastruktur jaringan komputer yang

terhubung ke dalam web server.

Dengan adanya perubahan bentuk metode pengajaran, secara langsung

maupun tidak langsung akan menyebabkan perubahan perilku pada manusia.

Sebenarnya Sistem pembelajaran jarak jauh ini tidak mengubah cara manusia belajar

(learn) tetapi ini lebih ke arah perubahan cara mengajar (educate). Untuk menjadikan

sistem pembelajaran jarak jauh ini menyerupai bentuk perkuliahan tradisional maka

perlu diperhatikan aspek-aspek non teknis terhadap aktivitas perkuliahan yang akan

terjadi.
Analisa dari sistem Web Based Training ini akan menjadi landasan bagi

perancangan sistem perkuliahan jarak jauh MTI Fakultas Teknik UGM. Karena

sistem ini menjadi sebuah team project, maka dalam tugas akhir ini akan lebih di

spesifikasikan dalam masalah penelitian mengenai kegunaan XML, dengan jalan

mengimplementasikannya pada sistem pencarian data yang berupa mata kuliah,

modul, dan topik-topik dalam perkuliahan MTI.

2.2 Konsep Sistem Pembelajaran Jarak Jauh (Distance Learning)

2.2.1 Sistem Pembelajaran Jarak Jauh Berbasis Web

Banyak sekali sistem pembelajaran jarak jauh yang telah diterapkan, yang

pada dasarnya dapat dibagi dalam dua kategori : sistem berbasis video dan sistem

berbasis data. Sistem berbasis video mulai muncul tahun 1960-an dimana ketika itu

merupakan era meluasnya kepemilikan televisi. Dengan merekam materi belajar ke

dalam kaset video dan diputer pada stasiun-stasiun televisi, sistem ini memiliki

jangkauan geografis yang cukup besar. Salah satu kelemahan sistem ini adalah

kurangnya interaksi dan komunikasi dua arah antara pengajar dan peserta.

Untuk sistem berbasis data dapat kita klasifikasikan dalam dua kategori :

groupware dan internet. Pada groupware, biasanya menggunakan perangkat lunak

yang termasuk dalam kategori computer-supported coorperative (cscw), dimana

melalui perangkat lunak ini, sudah tersedia layanan seperti electronic messaging, data

conferencing, dan messaging gateways. Pada internet , sistem ini menggunakan

layanan-layanan standar seperti World Wide Web (WWW), File Transfer Protocol
(FTP), dan lain sebagainya yang berbasis pada protokol TCP/IP ( Transfer Control

Protocol/Internet Protocol).

Dengan kemajuan teknologi yang sudah ada sekarang ini, teknologi yang pada

awalnya masih terpisah dapat dijadikan satu kesatuan, kita dapat menemukan solusi

yang lebih komprehensif. Kita dapat memasukan materi-materi video ke dalam

jaringan internet dengan terlebih dulu melakukan perubahan format video itu sendiri,

maka kita dapat memiliki sebuah sistem yang berbasis video, groupware, dalam

jaringan internet berbasis TCP/IP.

2.2.2 Rekayasa Perangkat Lunak

Pada dasarnya terdapat empat langkah-langkah utama rekayasa perangkat

lunak yang ditempuh, terdiri atas analisis, perancangan, pengkodean dan pengujian.

• Analisis

Pada tahap ini dilakukan analisis terhadap masalah, diamana proses analisis

ini dapat dibagi dalam lima tahapan, yaitu (1) identifikasi masalah; (2)

evaluasi dan sintesa; (3) pemodelan; (4) spesifikasi; dan (5) review

Pada tahap pengenalan masalah, analis mengidentifikasikan semua elemen

dasar permasalahan. Pada tahapan evaluasi dan sintesa, analis harus dapat

mendefinisikan semua fungsi software; memahami perilaku software;

menetapkan karakteristik interface sistem; dan membuat pembatasan

perancangan. Semua proses ini dilakukan untuk mendapatkan deskripsi

masalah, sehingga solusi yang menyeluruh dapat disintesa.


Setelah melakukan evaluasi masalah dengan informasikan input dan output

yang diharapkan, analis mulai mensintesa satu atau lebih solusi. Data, fungsi

proses, dan perlaku sistem didefinisikan secara detail.

Selama tahap evaluasi dan sintesis, fokus utama analis adalah menjawab

pertanyaan “apa”. Data apa yang dihasilkan dan dibutuhkan oleh sistem,

fungsi apa yang harus dilakukan oleh sistem, interface apa yang akan dipakai,

hal-hal pa yang menjadi pembatas.

Selama melakukan evaluasi dan sintesa, analis juga membuat model sistem

sebagai usaha untuk lebih memahami data dan control flow, fungsi proses,

perilaku sistem, dan isi informasi. Model yang dibuat analis ini menjadi

pondasi dalam merancang software.

Proses menentukan spesifikasi software adalah proses puncak dari

keseluruhan proses analisis. Fungsi dan prformansi yang akan dialokasikan

pada software disaring lagi dengan membuat deskripsi informasi lengkap,

penjelasan fungsi dan perilaku detail sistem, kriteria validasi yang cocok, dan

data yang berhubungan dengan requirement.

Review terhadap spesifikasi kebutuhan software dilakukan oleh pengembang

dan pelanggan. Pada proses ini, pengembang meyakinkan pelanggan, apakah

semua system requirement sudah tercakup.

• Perancangan

Perancangan adalah proses penggunaan berbagai teknik dan prinsip untuk

tujuan mendefinisikan proses atau sistem secara detail. Tujuan utama desainer
adalah menghasilkan model atau representasi sebuah entitas yang akan

dibangun.

• Implementasi dan Pengkodean

Implementasi atau pengkodean adalah proses menterjemahkan dokumen hasil

desain menjadi baris-baris perintah bahasa pemrograman komputer. Semakin

baik hasil analisis dan disain yang dilakukan, maka proses pengkodean ini

akan lebih mudah dilakukan.

• Pengujian

Pengujian software adalah proses untuk memastikan apakah semua fungsi

sistem bekerja dengan baik, dan mencari apakah masih ada kesalahan pada

sistem.

Pengujian atau testing software sangat penting untuk dilakukan. Pengujian ini

bertujuan untuk memnjamin kualitas software, dan juga menjadi peninjauan

terakhir terhadap spesifikasi, disain dan pengkodean.

Terdapat dua pendekatan dalam melakukan pengujian software , yaitu :

1. Pendekatan black-box testing

Pendekatan ini melakukan pengujian terhadap fungsi operasional

software. Pendekatan ini biasanya dilakukan oleh penguji yang tidak

ikut serta dalam pengkodean software.

2. Pendekatan white-box testing

Metoda ini dilakukan oleh orang yang memahami cara kerja operasi

internal software yang membentuk keseluruhan operasi software.


2.3 Teknologi Informasi untuk Implementasi Sistem

2.3.1 Database

Penggunaan metode file system pada server yang mengolah (menyimpan,

mengambil, atau memproses) banyak data akan sangat merepotkan. Disamping

kesulitan bagi pengelola web, juga kinerja server akan lambat. Untuk mengatasi

kesulitan di atas, akan lebih baik kalau server menggunakan database engine untuk

membantu manajemen data pada server.

Manajemen dasar database relasional adalah pengarsipan data-data dalam

record-record table. Sebuah database dapat berisi tabel-tabel. Record adalah bagian

terkecil dari sebuah tabel. Saat ini banyak database engine yang tersedia dengan

kemampuan yang berbeda-beda seperti Oracle, MySQL, Sybase ASE, Microsoft SQL

Server, dan lain-lain.

Database

Table Table

… …
Record

Record

Record

Record

Gambar 2.3 Struktur Database

Namun, meski penyimpanan data dalam sistem Database Management

System (DBMS) konvensional seperti di atas (untuk selanjutnya disebut DBMS dalam
skripsi ini) merupakan metode terhandal dan teraman untuk saat ini, masih terdapat

beberapa kelemahan dari aspek pertukaran data yang disimpan. Pertukaran data di

sini diartikan sebagai pengiriman dan penerimaan data.

Sebuah DBMS memperlakukan data sesuai dengan sifat dan strukturnya

hanya di dalam DBMS itu sendiri. Setelah data tersebut di-retrieve atau dipanggil,

data akan kehilangan sifat dan strukturnya. Contohnya dapat dilihat dari diagram

berikut :

Database Kuliah
Data mata kuliah : MTI 611 TI
Kode (character) : MTI 611 retrieve
Nama (character) : TI Wajib
Jenis (character) : Wajib
Semester (integer) : 1
Jumlah SKS (integer) : 3 3 1
Tujuan (character) : tujuanMK
tujuanMK

Data XML
Data mata kuliah :
Kode (character) : MTI 611 Kode (character) : MTI 611
Nama (character) : TI Nama (character) : TI
Jenis (character) : Wajib retrieve Jenis (character) : Wajib
Semester (integer) : 1 Semester (integer) : 1
Jumlah SKS (integer) : 3 Jumlah SKS (integer) : 3
Tujuan (character) : tujuanMK Tujuan (character) : tujuanMK

Gambar 2.4 Perbandingan proses pemanggilan data antara DBMS dan XML

Dari gambar di atas dapat dilihat bahwa dalam DBMS, data-data mata kuliah

tidak terintegrasi sebagai suatu data yang berkaitan satu sama lain begitu data-data
tersebut diambil dari DBMS. Hal ini tetntunya dapat dipecahkan dengan cara

mendeskripsikan data-data kembali, yaitu setelah diambil, dengan menggunakan

pemrograman, misalkan memakai PHP, ASP, atau yang lain. Namun, cara ini tidaklah

praktis dan bermasalah dalam hal pengembangannya, karena pengembang harus

membuat program deskripsi data setiap kali data ditransferkan. Selain itu, pada

umumnya tiap vendor DBMS menggunakan tipe data yang berbeda-beda untuk

mendeskripsikan data. Oracle misalnya, menggunakan tag NUMBER untuk

menyatakan data numerik, sementara MySQL menggunakan tag INT, dan/atau

SMALLINT. Sehingga terdapat kesulitan bila suatu data yang disimpan dalam Oracle

akan diambil dan dimasukkan dalam database MySQL.

Di samping itu, tiap-tiap vendor tentunya menggunakan metode yang

berbeda-beda dalam mendeskripsikan struktur data, sehingga aspek kompatibilitas

menjadi masalah yang besar. Padahal, di era information sharing sekarang ini, benar-

benar diperlukan suatu wahana penyimpanan dan pertukaran data yang bersifat

universal yang memudahkan pengembang untuk menyimpan dan melakukan data

exchange.

Dengan XML, data dapat dipertahankan integritasnya pada saat ia dipanggil

dari tempat penyimpanan data. Sehingga, suatu data selalu dapat diketahui sifatnya

dan kaitannya dengan data yang lain. Misalkan dalam contoh di atas, kita dapat selalu

mengetahui bahwa data Kode berkaitan dengan data Tujuan karena keduanya berada

dalam satu struktur yang jelas. Hal ini dilakukan tanpa pengembang harus membuat

suatu program khusus untuk mengidentifikasi data tersebut.


Salah satu keunggulan XML lainnya yang penting adalah fleksibilitasnya

dalam aspek penyimpanan data. Dengan XML kita dapat melakukan perubahan

struktur data dengan mudah, antara lain dengan menggunakan XSLT. Hal ini

dijelaskan melalui gambar berikut.

Data XML Data XML


Data mata kuliah : Data dosen :
Kode (character) : MTI 611 NIP (character) : 130 xxxx
Nama (character) : TI Nama (character) : Fulan
Jenis (character) : Wajib Alamat (character) : Jl. Solo
Semester (integer) : 1 Tanggal lahir (date) : 11-1-1967
Jumlah SKS (integer) : 3 Golongan (3A) : 3
Tujuan (character) : tujuanMK

XSLT

Data XML
Data mata kuliah yang baru :
Kode (character) : MTI 611
Nama (character) : TI
Jenis (character) : Wajib
Semester (integer) : 1
Jumlah SKS (integer) : 3
Tujuan (character) : tujuanMK
Nama dosen : Fulan

Gambar 2.5 Konversi struktur data XML menggunakan XSLT


Dari gambar di atas kita dapat melihat keunggulan dari aspek fleksibilitas

XML. Dalam DBMS, untuk mengubah suatu struktur data kita harus merubah

deskripsi tabel, dan ini tentu membutuhkan usaha yang besar karena mengubah

deskripsi tabel berarti mengubah pula diagram Entity Relationship (E-R) dari

database yang bersangkutan. Apalagi bila yang diubah adalah tabel yang berperan

penting, tentunya dapat mengubah hampir seluruh deskripsi relasi dalam database

yang telah ditentukan sebelumnya. Untuk menjaga referential integrity dari database

setelah perubahan merupakan pekerjaan yang tidak kecil.

Berdasar argumen-argumen di atas maka sekarang vendor-vendor DBMS

terkemuka seperti Oracle, IBM, dan Microsoft mulai menyediakan fasilitas konversi

data dari DBMS ke format XML.

2.3.2 Database XML

Seperti telah disebutkan di atas, penyimpanan data dalam bentuk file systems

memang tidak praktis dan banyak kekurangannya. Kekurangan yang paling menonjol

adalah redundancy data, yaitu terjadi pengulangan data yang sama pada tiap-tiap file

yang menyimpan data. Kekurangan ini membuat tingkat skalabilitas sistem menjadi

rendah, karena tiap kali kita ingin memodifikasi suatu data, maka file yang

mengandung data yang sama harus turut pula dimodifikasi. XML pada awal

perkembangannya menyimpan data dalam bentuk file systems. Setelah XML

berkembang dan banyak pihak melihat potensinya yang besar, maka banyak

pengembang perangkat lunak XML mengkombinasikan keunggulan pada sistem

DBMS dengan XML, sehingga sekarang beredar beberapa alternatif pengembangan


sistem database berbasis XML. Setidaknya ada dua cara dalam memasukkan

keunggulan DBMS ke XML :

a. Sistem Konversi

Sistem ini digunakan oleh vendor-vendor yang sudah sejak dahulu

berkecimpung dalam dunia DBMS, seperti Oracle dan IBM. Cara kerja

sistem ini pada dasarnya adalah dengan menyediakan suatu fasilitas

konversi dari DBMS ke XML dan sebaliknya. Data yang disimpan dalam

bentuk XML dapat dikonversi ke tabel-tabel dan record-record yang ada

pada DBMS. Sebaliknya, tabel-tabel dalam DBMS dapat dikonversi

menjadi elemen-elemen dan file XML.

Kelemahan dari sistem ini adalah beratnya kerja server ketika harus

mengkonversikan data-data tersebut. Selain itu, metode ini masih belum

menjamin sepenuhnya aspek kompatibilitas. Misalnya data XML yang

dikonversi dari Oracle tentunya berbeda dengan data yang dikonversi dari

MySQL ke XML. Masalah fleksibilitas juga masih belum sepenuhnya

terpecahkan, karena untuk memodifikasi struktur data kita masih harus

mengubah struktur tabel yang ada kemudian menjamin terwujudnya

referential integrity kembali setelah modifikasi. Sedangkan kelebihan dari

sistem ini adalah data masih tersimpan dalam sistem DBMS, sehingga

keunggulan DBMS dalam hal penyimpanan data masih dapat

dimanfaatkan.
b. Database XML

Cara yang kedua adalah dengan menggunakan database XML. Istilah dalam hal ini

adalah native XML database. Sistem ini menyimpan file-file XML dalam bentuk

aslinya, jadi tidak dalam tabel dan record seperti pada cara yang pertama. Pada native

XML database file-file XML saling direlasikan seperti pada sistem basis data

relasional. Sistem ini memberikan tingkat kompatibilitas dan fleksibilitas yang lebih

tingi dari cara yang pertama. Namun, sampai sekarang belum ada vendor native XML

database yang mampu membuktikan kesetaraan database XML dengan DBMS dalam

hal keamanan dan manajemen data internalnya.

2.4 Skalabilitas Aplikasi Berbasis Web Menggunakan XML

Banyak situs internet mempunyai content dengan sifat statis, seperti profil

perusahaan, artikel, dan keterangan-keterangan lain. Situs ini mempunyai dokumen

dengan teks sederhana, image dan hyperlinks ke dokumen-dokemen miliknya. Untuk

mengembangkan situs yang bersifat statis, kita cukup menggunakan teknologi client-

side. HTML dan Cascading Style Sheet (CSS) dapat digunakan untuk mengatur

struktur dan menampilkan halaman content. Seandainya tampilan ingin diperindah

maka dapat ditambahkan script yang sifatnya client-side seperti JavaScript, Jscript

ataupun VBScript. Tetapi dengan berkembangnya internet, situs yang ada di internet

tidak hanya berfungsi untuk mempresentasikan content, tetapi cenderung berupa

apilkasi yang kebanyakan terhubung ke suatu basis data. Pada tahap ini situs akan

bersifat dinamis, karena content yang dipresentasikan akan bervariasi, berubah-ubah

tergantung pada data yang diminta dan action dari suatu user. Untuk mengembangkan
situs yang dinamis diperlukan teknologi server-side, seperti Java, PHP, ASP, CGI, dan

lain sebagainya. Dengan teknologi server-side kita dapat mengembangkan suatu

aplikasi berbasis internet yang dapat menghasilkan dan menampilkan content secara

dinamis.

Perbedaan mendasar antara HTML dengan bahasa server-side adalah HTML

diterjemahkan oleh script client browser, tidak dieksekusi di server. Dengan membuat

kode yang dapat dieksekusi pada server, kita dapat menciptakan banyak sekali

aplikasi yang sifatnya dinamis dan dapat dikendalikan oleh user melalui browser.

Bila kita mengembankan sebuah situs dinamik, hanya tinggal menunggu

waktu saja bagi kita untuk memakai sebuah database, baik itu DBMS, maupun

database berbasis XML. Teknologi server-side menggunakan banyak cara untuk

menghubungkan antara aplikasi yang kita buat dengan database server.

Browser

Web Server
Aplication + ODBC
Client-Side CGI Database spesific API
Database
Programs/
Server-side
Platform scripts
dependent
client

Gambar 2.9 Aristektur Aplikasi berbasis web


menggunakan database server

Dalam aplikasi berbasis web, aspek skalabilitas sistem harus benar-benar

diperhatikan. Apalagi bila sistem yang dibuat merupakan sistem yang bersifat
dinamis, dimana pengembangan dan modifikasi sistem sering dilakukan seperti pada

sistem pembelajaran jarak jauh di MTI ini.

Dengan menggunakan HTML sebenarnya pengembang perangkat lunak sudah

dapat membuat suatu situs yang dinamik, seperti yang telah disebutkan di atas.

Namun, dengan berkembangnya sistem yang ditandai dengan membengkaknya data,

perlu dipikirkan alternatif pengganti HTML sebagai bahasa markup untuk

menyimpan dan menampilkan data ke layar.

Para pengembang beralih ke XML sebagai sarana untuk menampilkan data

karena memandang HTML memiliki beberapa kelemahan mendasar sebagai berikut.

Pertama, HTML tidak dapat mendeskripsikan sifat dan struktur data yang ada di

dalamnya. Data yang ada dalam file HTML hanya diperlakukan seperti teks biasa.

Sedangkan XML mampu mendeskripsikan baik sifat maupun struktur data. Kedua,

HTML tidak mampu memisahkan antara content dan style dari suatu halaman. Jadi

bila kita melihat suatu halaman web yang ditulis dengan HTML, akan sulit bagi kita

untuk menemukan bagian yang berupa data di antara tag-tag yang berfungsi sebagai

layout atau disain halaman. Apalagi bila halaman web tersebut dirancang dengan

rumit.

Sebaliknya, XML mampu memisahkan antara bagian yang berupa data

dengan bagian yang bertugas untuk menampilkan data. Teknologi yang dimanfaatkan

oleh XML dalam hal ini adalah XSL (eXtensible Stylesheet Language). XSL dalam

beberapa aspek dapat dianalogikan dengan CSS pada HTML. Bedanya, XSL sendiri

merupakan suatu dokumen XML, meskipun ekstensi filenya adalah .xsl. Lagipula,

XSL mampu memodifikasi struktur dan tampilan data, serta mampu memanggil data
dari berbagai dokumen XML. Lebih lanjut tentang XSL dan XML ini akan

diterangkan pada bab III.


BAB III

EXTENSIBLE MARKUP LANGUAGE (XML) DAN TEKNOLOGI

PENDUKUNGNYA

Dalam bab ini akan dibahas mengenai XML dan XSLT, serta sekilas tentang

Java dan Jakarta Tomcat Servlet Container.

3.1 eXtensible Markup Language (XML)

3.1.1 Sejarah Singkat

XML merupakan bahasa markup yang direkomendasikan oleh World Wide

Web Consortium (W3C). W3C merupakan sebuah organisasi yang mengatur

standarisasi berbagai jenis bahasa dan perangkat lunak yang mendukung teknologi

internet. XML direkomendasikan oleh W3C pada tahun 1998. XML sendiri

merupakan derivat dari SGML (Standard Generalized Markup Language), yang juga

merupakan bahasa yang extensible, namun sangat kompleks. Spesifikasi SGML

sendiri mencakup lebih dari 500 halaman (www.extropia.com/tutorials/xml).

Pada awalnya, XML dimaksudkan sebagai bahasa yang mendukung

electronic publishing dalam skala besar. Dalam perkembangannya, XML tumbuh

sebagai bahasa yang banyak digunakan dalam pertukaran informasi dan data.

Pembahasan tentang XML dimulai pada tahun 1996. Saat itu komunitas

internet meginginkan sebuah bahasa yang extensible seperti SGML, namun sederhana
seperti HTML. Maka W3C menyeponsori sebuah kelompok ahli SGML untuk

mengembangkan bahasa baru tersebut. Pekerjaan kelompok tersebut mirip dengan

proses penciptaan Java, yang merupakan penyederhanaan dari C++. Mereka bekerja

dengan cara membuang bagian-bagian yang tidak esensial dari SGML. Akhirnya,

pada tahun 1998, W3C merekomendasikan versi 1.0 dari XML, dan lahirlah bahasa

baru ini.

Seperti disebutkan di atas, XML adalah respon atas tantangan yang tidak

mampu dijawab oleh HTML : skalabilitas, integritas data, serta universalitas.

Meskipun HTML dapat dikatakan universal untuk semua platform sistem operasi

maupun browser, ia tidak dapat dipakai dalam platform non-PC, seperti PDA,

handphone, dan peralatan bergerak lainnya. Sebaliknya, struktur XML

memungkinkannya untuk menjadi bahasa markup yang universal, bahkan bisa

diterapkan pada platform non-PC. Oleh karena sifat inilah, aplikasi yang paling

banyak memanfaatkan keuntungan XML adalah aplikasi yang diterapkan dalam

sistem yang banyak melakukan pertukaran data, misalnya aplikasi B2B (Business to

Business).

3.1.2 Struktur dokumen XML

Sebuah dokumen XML terdiri atas teks dan elemen. Elemen-elemen dalam

dokumen XML dapat mengandung teks atau elemen lain. Elemen juga dapat

mengandung atribut-atribut.

Setiap dokumen XML harus memiliki sebuah pendeklarasian tipe dokumen

yang diletakkan di posisi paling atas dokumen. Setiap dokumen juga harus memiliki
sebuah elemen root yang mencakup semua teks dan elemen-elemen lain dalam

dokumen. Semua elemen dalam dokumen XML harus dalam bentuk yang well-

formed, artinya pendeklarasian elemen harus memiliki start tag dan end tag.

Dokumen XML juga dapat memiliki deklarasi untuk menghubungkannya dengan

XSL sebagai bahasa untuk menampilkan dokumen.

Contoh sebuah dokumen XML adalah sebagai berikut :

<?xml version="1.0" encoding="UTF-8"?> (1)


<?xml-stylesheet href="xsl/kuliah.xsl" type="text/xsl"?> (2)
<kuliah> (3)

<mk kodemk="MTI 611">


<nama>Teknologi Informasi</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Teknologi informasi ditinjau dari segi perangkat (4)
keras dan perangkat lunak komputer. Arsitektur teknologi informasi.
Teknologi middleware. Faktor kehandalan, skalabilitas, dan keamanan.
Implementasi proses-proses bisnis.</tujuan>
<ktkunci>hardware software bisnis
arsitektur middleware kehandalan</ktkunci>
</mk>
<mk kodemk="MTI 612">
<nama>Sistem Informatika</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Sistem informatika sebagai himpunan manusia, mesin dan prosedur,
serta pelembagaannya dalam masyarakat. Ragam dan arsitektur sistem informatika. Strategi
dan politik informasi. Perilaku dan budaya informasi. Proses pengelolaan informasi untuk berbagai
keperluan.
</tujuan>
<ktkunci>software</ktkunci>
</mk>
</kuliah>

Keterangan :

(1) Deklarasi dokumen XML. Version menunjukkan versi dari standar yang

direkomendasikan oleh W3C. Sedang encoding menunjukkan tipe karakter

yang digunakan dalam dokumen. Encoding merupakan informasi bagi parser


XML mengenai bagaimana seharusnya karakter yang ada dalam dokumen

diperlakukan. Lebih lanjut mengenai parser akan dijelaskan dalam bagian

lain dari skripsi ini. Tipe karakter lain yang sering digunakan adalah ISO-

8859-1, ASCII, UTF-16, ISO-10646, dan UCS-4. Namun, atribut encoding

ini merupakan pilihan, dapat dicantumkan, dapat pula tidak.

(2) Deklarasi stylesheet yang digunakan. Contoh di atas menunjukkan bahwa

dokumen akan diproses menggunakan stylesheet XSL dalam file kuliah.xsl.

(3) Merupakan top element dari dokumen. Seperti dijelaskan pada bagian

sebelumnya, setiap dokumen XML harus memiliki sebuah elemen yang

menampung seluruh elemen lain dan teks yang ada.

(4) Merupakan elemen ‘mk’ yang terdiri atas beberapa elemen anakan, serta

sebuah atribut ‘kodemk’.

Seperti disebutkan di atas, dokumen XML harus well-formed. Setiap deklarasi

elemen harus memiliki start-tag dan end-tag. Selain itu, posisi dari tag deklarator

harus urut sesuai dengan posisi elemen tersebut dalam struktur datanya. Barikut

contoh dokumen yang tidak well-formed.

Contoh 1:

<kuliah>
<mk>
<nama>Teknologi Informasi</nama>
</kuliah>

Kesalahan : tidak ada end-tag dari elemen ‘mk’.

Contoh 2:

<kuliah>
<mk>
<nama>Teknologi Informasi<nama>
</mk>
</kuliah>
Kesalahan : Teknologi informasi diapit oleh dua start-tag

Contoh 3:

<kuliah>
<mk>
<nama>Teknologi Informasi</nama>
</kuliah>
</mk>

Kesalahan : posisi end-tag ‘mk’ dan ‘kuliah’ terbalik.

Dokumen yang well-formed adalah seperti berikut :

<kuliah>
<mk>
<nama>Teknologi Informasi</nama>
</mk>
</kuliah>

Dalam aplikasi XML, kesalahan yang sering terjadi adalah tidak well-formed

nya sebuah dokumen. Kesalahan ini dapat diminimalisir dengan menggunakan

perangkat lunak editor XML seperti XML Spy atau eXcHaNgER, daripada menulis

dokumen XML secara manual, misalnya menggunakan Notepad. Bila kesalahan di

atas terjadi, akibatnya fatal karena browser tidak akan dapat menampilkan dokumen

XML. Hal ini karena XML merupakan bahasa yang ketat (strict), tidak seperti HTML

yang relatif lebih bisa mentolerir kesalahan seperti di atas.

3.1.3 XML Validator

Di bagian atas telah disebutkan bahwa sebuah dokumen XML harus well-

formed. Ada sebuah kondisi lagi yang bersifat opsional yang dapat dimiliki oleh

XML, yaitu sifat valid. Sebuah dokumen XML dikatakan valid bila dokumen tersebut

sesuai dengan validatornya. Karena bersifat opsional, dan terutama karena dalam
skripsi ini penulis tidak menggunakan validator, maka bagian ini hanya akan dibahas

sekilas saja.

Terdapat dua macam cara memvalidasi dokumen XML :

1. Menggunakan Document Type Definitions (DTD)

DTD merupakan file teks biasa yang mengandung deklarasi tentang dokumen

XML serta tipe data elemen-elemen yang terdapat di dalamnya. Contoh dari

DTD untuk dokumen XML dalam contohkul.xml di atas adalah sebagai

berikut.

<!ELEMENT kuliah (mk)>


<!ELEMENT mk (nama, sks, jenis, semester, tujuan, ktkunci)>
<!ATTLIST mk kodemk ID #REQUIRED>

Misalkan kemudian DTD di atas disimpan dalam file ‘kuliah.dtd’, maka

dalam dokumen XML ditambahkan tag yang menunjukkan DTD tersebut.

Tag tersebut adalah :

<!DOCTYPE perkuliahan SYSTEM “kuliah.dtd”>


<?xml version=”1.0” encoding=”UTF-8”?>
…………

Atau dapat pula DTD tersebut disertakan langsung dalam dokumen XMLnya

sebagai berikut :

<!DOCTYPE perkuliahan
[
<!ELEMENT kuliah (mk)>
<!ELEMENT mk (nama, sks, jenis, semester, tujuan, ktkunci)>
<!ATTLIST mk kodemk ID #REQUIRED>
]>
<?xml version=”1.0” encoding=”UTF-8”?>
…………..

Dalam DTD di atas dinyatakan bahwa tipe dokumen diberi nama perkuliahan.

Pemberian nama ini terserah oleh kita. Jenis dan persyaratan dokumen yang
diatur dalam DTD ini perlu diberi nama tertentu supaya dapat dibedakan

dengan DTD-DTD lainnya.

DTD di atas juga mensyaratkan bahwa dokumen XML harus memiliki 8

elemen : 1 elemen (‘kuliah’) sebagai elemen root, yang memiliki elemen-

elemen anakan ‘mk’. Tiap elemen ‘mk’ harus memiliki 6 elemen anakan :

‘nama’, ‘sks’, ‘jenis’, ‘semester’, ‘tujuan’, dan ‘ktkunci’. Di samping itu tiap

elemen ‘mk’ harus memilki satu atribut, yaitu ‘kodemk’. Atribut ‘kodemk’ ini

bersifat ID, artinye merupakan ciri khusus yang unique dari elemen ‘mk’.

Sifat ID dalam DTD ini dapat dianalogikan seperti UNIQUE KEY pada

RDBMS. Atribut ‘kodemk’ juga bersifat #REQUIRED, yaitu harus ada.

Kemudian setelah DTD dituliskan, sebuah parser validator ditugaskan untuk

mengecek validitas dari dokumen XML terhadap DTDnya. Parser validator

kemudian mengirimkan pesan apakah dokumen XML sudah valid atau masih

ada beberapa bagian yang perlu diperbaiki.

2. Menggunakan XML Schema

DTD merupakan cara yang baik untuk mengecek validitas sebuah dokumen

XML. Sayangnya, DTD masih belum mampu mendefinisikan tipe data seperti

string, dan integer sekaligus batas-batasnya. Misalnya ada sebuah dokumen

XML berikut :

<ketinggian satuan=”meter”> 1206.90 </ketinggian>


DTD tidak mampu mendefinisikan bahwa isi elemen ‘ketinggian’ harus

berupa integer dengan dua angka di belakang nol, atau nilai elemen

‘ketinggian’ harus berkisar dari 500 sampai 2000.

Selain itu, DTD ditulis dengan bahasa yang berbeda, yang menimbulkan

kerancuan bila dicampurkan dengan dokumen XML (Roger L. Costello, XML

Technologies Course, 2002). Maka muncul suatu alternatif dalam

memvalidasi dokumen XML, yaitu menggunakan XML Schema. XML

Schema memiliki sekitar 44 tipe data, diantaranya :

–string
–boolean
–decimal
–float
–double
–duration
–dateTime
–time
–date
–gYearMonth
–gYear
–gMonthDay

Contoh dari XML Schema ini adalah sebagai berikut (referensi dari
http://www.w3.org/TR/xmlschema-0/
)

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost/skripsi"
xmlns=http://localhost/skripsi (1)
elementFormDefault="qualified">
<xsd:element name="kuliah">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="mk"/> (2)
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="mk">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="nama" />
<xsd:element ref="sks" />
<xsd:element ref="jenis" />
<xsd:element ref="semester" /> (3)
<xsd:element ref="tujuan" />
<xsd:element ref="ktkunci" />
</xsd:sequence>
<xsd:attribute ref=”kodemk” />
</xsd:complexType>
</xsd:element>
<xsd:element name="nama" type="xsd:string"/>
<xsd:element name="sks" type="xsd:integer"/>
<xsd:element name="jenis" type="xsd:string"/>
<xsd:element name="semester" type="xsd:integer"/> (4)
<xsd:element name="tujuan" type="xsd:string"/>
<xsd:element name="ktkunci" type="xsd:string"/>
<xsd:attribute name=”kodemk” type=”xsd:string”/>
</xsd:schema>

Keterangan :

(1) Menyatakan xmlns (xml name space) dari dokumen XML Schema yang

bersangkutan. Lebih lanjut tentang xmlns ini akan dijelaskan dalam bagian

XSLT (eXtensible Stylesheet Language Transformastion)

(2) Mendefinisikan elemen ‘root’ kuliah yang harus memiliki elemen ‘mk’

(3) Mendefinisikan elemen ‘mk’ yang harus terdiri dari elemen dan atribut

yang tertera

(4) Mendefinisikan tipe data dari elemen-elemen dan atribut yang tertera.

Dari contoh XML Schema di atas dapat dilihat bahwa XML Schema

memberikan persyaratan validitas yang lebih kompleks dari DTD, terutama

dari syarat tipe data.


XML Schema disimpan dalam suatu file yang berbentuk .xsd, misalkan file

‘kuliah.xsd’. Setelah itu kita menambahkan tag yang menunjukkan lokasi

XML Schema pada dokumen XML yang kita buat, seperti contoh berikut :

<?xml version="1.0"?>
<kuliah xmlns ="http://localhost/skripsi"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost/skripsi/xsd
kuliah.xsd">
<mk kodemk=”MTI 001”>
…………….

XML Schema merupakan suatu dukungan yang lengkap dan solid terhadap

proses validasi dokumen XML. Lebih jauh tentang XML Schema dapat dilihat

pada situs W3C di :

- http://www.w3.org/TR/xmlschema-0/

- http://www.w3.org/TR/xmlschema-1/

- http://www.w3.org/TR/xmlschema-2/

3.1.4 XML Parser

Sebenarnya, semua teks yang berbentuk elemen-elemen well-formed bisa

disebut sebagai dokumen XML (http://www.textuality.com/px/talk/show/s-22.html).

Jadi tidak perlu tag deklarasi yang diletakkan di awal. Sebuah teks yang berupa :

<jurusan>elektro</jurusan> sudah merupakan suatu dokumen XML yang well-

formed, yang merupakan syarat wajib dokumen XML.

Namun, teks yang well-formed tersebut tidak ada artinya bila tidak ada suatu

program aplikasi yang menterjemahkannya. Teks <jurusan> hanya akan dianggap

sebagai teks yang terdiri atas karakter ‘<’, ’j’, ’u’, ’r’, ’u’, ’s’, ’a’, ’n’, dan ‘>’.
Untuk memberikan informasi bahwa teks <jurusan> merupakan sebuah start tag dari

elemen ‘jurusan’, kita membutuhkan sebuah program yang disebut parser. Jadi,

parser merupakan sebuah interface antara dokumen XML dengan berbagai program

aplikasi yang menggunakannya (gambar 3.1). Parser merupakan sebuah program

yang cukup kompleks, yang bisa ditulis dengan berbagai macam bahasa, seperti Java,

PHP, Perl, dan C. Karenanya, dalam skripsi ini hanya akan dibahas garis besarnya

saja.

P
A
DOKUMEN R APLIKASI
XML S XML
E
R

Gambar 3.1 Kedudukan parser dalam struktur aplikasi XML

Ada dua macam parser yang akan dibahas dalam skripsi ini, yaitu DOM

Parser dan SAX Parser,

3.1.4.1 DOM Parser

DOM merupakan singkatan dari dari Document Object Model. DOM Parser

menterjemahkan dokumen XML dan menempatkan elemen-elemen yang ditemuinya

ketika memproses dokumen ke dalam struktur pohon (gambar 3.2). Informasi

mengenai struktur dokumen ini kemudian disimpan ke dalam memori. Informasi

inilah yang digunakan program aplikasi untuk mengakses dokumen XML.


Dokumen XML
<kuliah> KULIAH
<mk>
<nama/>
<jenis/> D
</mk> O MK MK
<mk> M
<nama/>
<jenis/>
</mk>
</kuliah> NAMA JENIS NAMA JENIS

Gambar 3.2 Cara kerja XML DOM Parser

3.1.4.2 SAX Parser

SAX adalah singkatan dari Simple API for XML. API sendiri adalah singkatan

dari Application Program Interface. Seperti namanya, dibanding DOM Parser, isi

program SAX Parser lebih sederhana. SAX parser bekerja berdasarkan apa yang

disebut event-based. SAX Parser berjalan menjelajahi dokumen. Begitu SAX Parser

menemukan deklarasi sebuah elemen, ia akan mencatatnya dan menyimpannya dalam

suatu event-handler. Event-handler inilah yang menyediakan akses ke isi dokumen

XML. Cara kerja SAX Parser diilustrasikan dalam gambar 3.3 berikut.
Dokumen XML

<kuliah> 1
SAX Parser
<mk> 2

3
<nama>

Sistem Basis Data 4 Event Handler


Kejadian (event):
5
</nama> 1.start elemen
kuliah
<jenis> 6 2.start elemen
mk
Wajib 7 3.start elemen
nama
</jenis> 8 4.isi elemen
nama
</mk> 5.end elemen
9
nama
</kuliah> dan seterusnya
10

Gambar 3.3 Cara kerja SAX Parser

Dari dua jenis parser yang dibahas di atas, tidak ada parser yang dapat dikatakan

lebih unggul dari yang lain (XML By Example). SAX Parser dan DOM Parser dapat

dimanfaatkan secara optimal tergantung pada sifat dari dokumen yang hendak di-

parse. Bila dokumen XMLnya besar, menggunakan DOM Parser akan banyak

memakan memori untuk merepresentasikan dokumen dalam struktur pohon. Maka,

penggunaan SAX Parser akan lebih menguntungkan dari segi penghematan resource.

Sebaliknya, untuk dokumen XML berskala kecil, penggunaan DOM Parser akan
lebih menguntungkan karena DOM Parser menyediakan struktur yang “siap pakai”,

sehingga memudahkan program aplikasi dalam mengakses dokumen. Sedang bila kita

menggunakan SAX Parser, seorang pemrogram harus bekerja lebih keras dalam

mengakses dokumen XML, karena ia harus mendefinisikan sendiri struktur dokumen

XMLnya. Sehingga, program aplikasi yang dibuatnya lebih kompleks, akibatnya

membebani prosesor yang mengeksekusinya.

SAX Parser lebih tepat digunakan untuk menangani dokumen XML yang dinamis,

sedang DOM Parser lebih tepat untuk menangani dokumen yang sifatnya statis.

Proses parsing, baik DOM Parsing maupun SAX Parsing dapat terjadi di dua tempat :

di server dan di client. Proses parsing di server diperlukan bila browser yang kita

miliki tidak memiliki built in parser. Hal ini tentu saja amat memberatkan server, oleh

karena itu, pada skripsi ini penulis mengharuskan user untuk memilih browser yang

mendukung XML, artinya memiliki built in parser untuk XML. Dalam proses

pengujian, penulis menggunakan Internet Explorer 6.0 yang memiliki parser

MSXML 4.0. Jadi, proses parsing terjadi di client. Berikut daftar browser lain yang

memiliki built in parser untuk XML* :

• AIX Netscape

Platform : AIX

• DocZilla version 1.0

P l a t f o r m : Windows 95/98/NT dan Linux

• EXchaNGeR version 0.7

Platform : Java

• EXeMeL version 0.9a


Platform : Java

• HyBrick version 0.83

Platform : Windows95/NT

• InDelv XML browser

P l a t f o r m : Java 1.1.6 ke atas

• JUMBO version 3.0

Platform : Java

• Mozilla version 1.2 beta

P l a t f o r m : Linux, Win32, MacOS

• Netscape version 6.1

P l a t f o r m : Linux/Unix, Win32, MacPPC

• Opera version 6.05

P l a t f o r m : Windows, BeOS, Linux, Symbian OS, Solaris (beta), QNX,

OS/2 (beta), MacOS

• X M L Vi e w e r v e r s i o n 2001-10-09

Platform : Java

• X-Smiles version 0.6

Platform : Java

* Catatan : dari referensi http://www.xmlsoftware.com

3.2 eXtensible Stylesheet Language Transformastion (XSLT)


Di bagian sebelumnya telah dijelaskan mengenai XML. Dalam contoh

dokumennya, kita dapat melihat bahwa dokumen XML tidak memiliki perintah

tentang bagaimana dokumen tersebut harus ditampilkan. Dengan kata lain, dokumen

XML hanya berisi data-data saja. Untuk menampilkan dokumen XML tersebut maka

dibutuhkan suatu tools lain, salah satunya adalah XSLT.

XSLT merupakan bahasa yang dirancang untuk mentransformasikan dokumen

XML ke dalam format yang lain, seperti format HTML atau Microsoft Word. XSLT

sendiri merupakan sebuah dokumen XML. XSLT mencapai tingkat rekomendasi

W3C dengan direkomendasikannya versi 1.0 pada tanggal 16 November 1999.

XSLT merupakan cabang dari XSL (eXtensible Stylesheet Language). XSL

sendiri merupakan bahasa untuk menentukan tampilan dan format dari data XML.

Ada dua cabang dari XSL ini, yaitu XSLT dan XSL Formatting Object (XSL-FO).

XSLT merupakan bahasa untuk mentransformasikan XML melalui proses

reorganizing dan restructuring. Sedangkan XSL-FO berfungsi untuk memformat dan

menentukan layout dari dokumen XML.

Seperti XML yang merupakan penyederhanaan dari SGML, XSLT merupakan

penyederhanaan dari DSSSL (Document Style Semantics and Specification

Language), yang dikembangkan untuk menampilkan dokumen SGML.

Di samping berfungsi sebagai bahasa untuk mentransformasikan dokumen

XML, XSLT juga dapat digunakan untuk meng-query data dalam dokumen XML

Perlu dijelaskan sebelumnya, proses transformasi yang dilakukan dalam skipsi ini

tidak mengubah file XML, melainkan hanya memberikan perintah tentang bagaimana

data XML harus tampil.


Dalam skripsi ini, penulis menggunakan XSLT untuk melakukan transformasi

sekaligus meng-query data yang ada, maka penulis berusaha menjelaskan bagian ini

dengan lebih detail.

3.2.1 Struktur XSLT

Transformasi XSLT pada dasarnya adalah mengubah source tree XML

menjadi result tree yang baru yang pada umumnya berbeda dengan source tree. Atau,

dengan kata lain, mengubah struktur dokumen XML ke dalam struktur baru yang

biasanya berbeda. Proses transformasi ini dicapai dengan cara menerapkan XSLT

stylesheet, yang mengandung satu atau beberapa template. Sebuah template

menjalankan dua fungsi : mengidentifikasikan pola (pattern) yang akan dicocokkan

dengan source tree dan kemudian menjelaskan struktur dari result tree yang

diinginkan. Contoh dari suatu template dapat dilihat dari gambar berikut

<xsl:template match="/"> pola (pattern)


<html><body><b>
<xsl:apply-templates/> * struktur baru
</b></body></html>
</xsl:template>

Gambar 3.4 Contoh template XSLT

* Catatan : bentuk <xsl:apply-templates/> sama dengan bentuk <xsl:apply-

templates></xsl:apply-templates>, jadi merupakan elemen yang well-formed.


Dalam kasus di atas, berdasarkan pola yang dituliskan, template mencari

elemen root dari dokumen XMLnya (dinyatakan dalam …..match=”/”). Kemudian

setelah elemen tersebut ditemukan, template mengubah strukturnya menjadi struktur

yang baru. Jadi, misalkan kita memiliki dokumen XML sebagai berikut :

<kuliah>
<mk>
<nama> Sistem Basis Data </nama>
</mk>
</kuliah>

Elemen ‘root’ yang terdapat dalam dokumen XML di atas adalah elemen ‘kuliah’.

Maka, setelah ditransformasikan memakai template pada gambar 3.4 di atas,

dokumennya menjadi :

<html>
<body>
<b>Sistem Basis Data</b>
</body>
<html>

Dengan demikian maka sekarang struktur dokumen XML menjadi sebuah

struktur HTML, yang dapat ditampilkan oleh browser internet.

Sebuah stylesheet XSLT dapat mengandung beberapa template. Setiap

template biasanya mengacu pada satu atau beberapa elemen yang spesifik dalam

struktur sumbernya (resource tree). Sebuah template dapat diterapkan pada sebuah

elemen tanpa diterapkan pada elemen-elemen anakannya, atau dapat juga diterapkan

pada sebuah elemen sekaligus semua elemen anakannya.


3.2.1.1 Pola XSLT

Pola XSLT merupakan bagian penting yang menunjukkan elemen (atau

simpul) dokumen XML mana yang akan ditransformasikan. XSLT memiliki tag-tag

untuk menyatakan pola ini, diantaranya :

<xsl:template match="*"> : memproses semua elemen.

<xsl:template match="bab/bagian"> : memproses elemen ‘bagian’ yang

mempunyai elemen induk bab

<xsl:template match="bab|bagian"> : memproses elemen ‘bab’ dan elemen

‘bagian’

<xsl:template match="bab//para"> : memproses setiap elemen ‘para’ yang berada

satu level atau beberapa level di bawah elemen ‘bab’

<xsl:template match="bab[@id=’2’]"> : memproses elemen ‘bab’ yang memiliki

atribut bernilai 2

<xsl:template match="para[6]">: memproses elemen ‘para’ yang menempati

urutan ke-6 dalam elemen induknya

3.2.1.2 Namespace

Setiap file XSLT harus memiliki dan menyebutkan Namespace. Namespace

ini diperlukan agar prosesor XSLT mengenal elemen-elemen dan atribut-atribut

spesifik yang didefinisikan oleh namespace ini.

Contoh dari penyebutan namespace ini adalah sebagai berikut.

<xsl:stylesheet version=”1.0”
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
…………(template XSLT)
</xsl:stylesheet>
Dalam contoh dipakai elemen-elemen dan atribut-atribut yang telah didefinisikan

oleh World Wide Web Consortium (W3C). Namespace dari W3C adalah :

http://www.w3.org/1999/XSL/Transform.

Kita dapat menggunakan definisi tambahan (extension) dengan menyebutkan

namespace dari pembuatnya. Definisi ini tidak boleh merubah definisi yang telah

ditetapkan oleh W3C.

Contohnya :

<xsl:stylesheet version=”1.0”
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”

xmlns:xslother=”http://localhost/skripsi/XSL”>

…………(template –template XSLT)

</xsl:stylesheet>

Bila namespace ini tidak disebutkan, maka prosesor transformasi tidak dapat

mengetahui definisi mana yang dipakai.

Definisi tambahan yang dibuat dalam hal ini dapat berupa:

- informasi yang digunakan oleh elemen-elemen dan/atau fungsi-fungsi

tambahan

- informasi tentang apa yang akan dilakukan dengan file hasil

- informasi tentang bagaimana memperoleh file input

- metadata XSL

- dokumentasi terstruktur XSL

Dengan menyebutkan namespace W3C untuk XSLT, maka semua elemen

dalam stylesheet XSLT yang mengandung kata <xsl:…..> akan diperlakukan sebagai
elemen spesifik XSLT. Misalkan elemen <xsl:template match=”/”>…</xsl:template>

akan diperlakukan sebagai instruksi untuk menyeleksi elemen dalam dokumen XML

mana yang akan diproses. Sedangkan elemen yang mengandung namespace dari

pihak lain sebagai definisi tambahan akan diperlakukan berbeda. Jadi, misalkan kita

membuat program untuk mendefinisikan suatu instruksi pemrosesan yang tidak ada

dalam vocabulary XSLT dari W3C, maka kita perlu menambahkan namespace kita

dalam elemen XSLT. Misalkan, dalam contoh di atas kita mendefinisikan namespace

kita dalam http://localhost/skripsi/XSL, yang dimasukkan dalam variabel xslother.

Di dalamnya kita mendefinisikan sendiri perintah untuk mencetak isi suatu elemen.

Maka elemen XSLT yang merupakan instruksi tambahan kita tersebut adalah :

<xslother: print select=”nama”/>

Sedangkan bila kita menulis elemen XSLT tanpa menyebutkan namespace,

maka elemen tersebut akan dicetak apa adanya. Misalnya elemen <html>…</html> ,

<body>…</body>, dan <font face=”verdana”>…..</font>.

3.2.1.3 Version

Setiap elemen teratas dari file XSL harus menyebutkan versi dari XSL. Versi

XSLT yang terakhir direkomendasikan oleh W3C adalah versi 1.0, yang

direkomendasikan tanggal 16 November 1999. Versi 2.0 sampai sekarang masih

dalam tahap penyempurnaan. Terakhir W3C mengeluarkan progress report untuk

versi 2.0 pada tanggal 15 November 2002 (http:www.w3.org/TR/xslt20).

Contoh pendeklarasian versi adalah sebagai berikut :

<xsl:stylesheet version=”1.0”
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
3.2.1.4 Beberapa perintah XSLT yang penting

1. <xsl:import href=”…” />

Perintah xsl:import adalah untuk memanggil stylesheet lain dan

menggunakan template-template dari stylesheet yang diimport tersebut. Nilai

dari atribut href menunjukkan lokasi stylesheet yang diimport. Pada

xsl:import, template-template dari stylesheet yang diimport mempunyai

prioritas yang lebih rendah dari template-template stylesheet yang

mengimport. Misalkan dalam stylesheet yang diimport terdapat template

dengan pola ‘<xsl:template match=”kuliah”> … </xsl:template>’. Sementara

pada stylesheet yang mengimport juga terdapat template dengan pola yang

sama, namun dengan struktur yang berbeda. Maka aturan template yang akan

dieksekusi adalah aturan template stylesheet yang mengimport.

Perintah xsl:import ini harus diletakkan tepat di bawah elemen

<xsl:stylesheet>…</xsl:stylesheet>, pada posisi tertatas. Elemen-elemen yang

diletakkan tepat di bawah <xsl:stylesheet>…</xsl:stylesheet> disebut top

level element.

2. <xsl:include href=”…” />

Pada dasarnya perintah ini sama dengan perintah xsl:import , namun

dengan satu perbedaan : prioritas template pada stylesheet yang mengimport

sama dengan pada stylesheet yang diimport. Perintah <xsl:include…/> ini

harus diletakkan pda posisi top level element, serta tidak boleh mendahului

perintah <xsl:import …/>.


3. <xsl:variable name=”…” select=”…”/>

Perintah ini berfungsi untuk menyimpan suatu nilai ke dalam suatu

variabel. Nilai yang disimpan dapat berasal dari isi suatu elemen ataupun kita

tentukan sendiri.

Contoh nilai yang kita tentukan sendiri :

<xsl:variable name=”sks” select=”2”/>

atau bisa juga dengan cara:

<xsl:variable name=”sks”> 2 </xsl:variable>

Perbedaan dua cara di atas adalah pada cara yang pertama, isi variabel bersifat

angka. Sedang pada cara yang kedua, variabel tidak bersifat angka, namun

hanya bersifat karakter biasa. Maka, perintah penggunaan variabel untuk

kedua cara di atas berbeda.

Sedang contoh nilai yang kita ambil dari isi elemen lain :

<xsl:variable name=”nama” select=”mk/nama”/>

atau bisa juga dengan cara:

<xsl:variable name=”nama”>

<xsl:value-of select=”mk/nama”/> </xsl:variable>

Kedua cara di atas sama, yaitu menyimpan isi dari elemen ‘nama’ yang berada

di bawah elemen ‘mk’ ke variabel nama. Untuk perintah <xsl:value-of

select=”…”/> akan dijelaskan pada bagian lain setelah bagian ini.

Perintah xsl:variable dapat diletakkan pada top level, dapat pula tidak.
4. <xsl:param name=”…” select=”…”/>

Pada dasarnya perintah xsl:param sama dengan perintah xsl:variable.

Perbedaannya adalah, nilai pada xsl:param hanya bersifat default saja. Ketika

ada suatu template yang mengandung parameter yang bersangkutan dipanggil,

maka sebuah parameter dengan nilai baru dapat dimasukkan ke dalam

template tersebut sebagai pengganti nilai default.

Contohnya :

<xsl:template name=”panggil”>

<xsl:param name=”x” select=”1”/> // nilai parameter x = 1 (default)

<xsl:value-of select=”$x”/>

</xsl:template>

………

<xsl:call-template name=”panggil”/> // nilai x = 1

………

<xsl:call-template name=”panggil”>

<xsl:with-param name=”x” select=”2”/> // dalam kasus ini, nilai x = 2

</xsl:call-template>

Pada contoh di atas, nilai default dari x adalah 1. Ketika template “panggil”

dipanggil tanpa mengeset nilai parameter yang beru, outputnya adalah nilai

default dari x, yaitu 1. Namun ketika template “panggil” dipanggil sambil

mengeset nilai x yang baru, maka kali ini outputnya adalah 2.

5. <xsl:value-of select=”…”/>

<xsl:value-of select=”…”/> barangkali merupakan perintah yang paling

sering digunakan setelah perintah pola. Perintah ini sangat berguna. Bagi yang
pernah mendalami PHP, perintah ini analog dengan perintah “echo” atau

“printf”. Dalam Java, perintah ini analog dengan perintah “out.writeln”.

Pendeknya, ketika kita ingin menampilkan isi dari suatu elemen, atribut, atau

variabel, maka kita menggunakan perintah ini.

Misalkan kita memiliki dokumen XML berikut ini :

<kuliah>
<mk>
<nama> Sistem Basis Data </nama>
<jenis> Wajib </jenis>
</mk>
</kuliah>

Bila kita ingin menampilkan isi elemen dari ‘nama’, maka perintah yang kita

tuliskan adalah :

<xsl:value-of select=”mk/nama”/>

6. <xsl:if test=”…”/>

XSLT memiliki perintah kondisional seperti pada bahasa-bahasa

pemrograman lainnya. Bila setelah diproses hasilnya benar, maka perintah

yang ada di dalam elemen xsl:if akan dieksekusi. Bila salah, maka perintah

tersebut diabaikan. Contohnya sebagai berikut. Misalkan kita ingin memberi

warna merah pada suhu mesin yang melebihi 100°C. Dokumen XML kita

adalah sebagai berikut :

<suhu>
<mesin kode=”A”>
<nama> Mesin bubut </nama>
<temp> 89 </temp>
</mesin>
<mesin kode=”B”>
<nama> Mesin listrik </nama>
<temp> 120 </temp>
</mesin>
<mesin kode=”C”>
<nama> Mesin diesel </nama>
<temp> 72 </temp>
</mesin>

</suhu>
………………….
Template untuk transformasi XSLTnya adalah:
…………………..
<xsl:template match=”mesin”>
Nama mesin : <xsl:value-of select=”nama”/>
<xsl:if test=”temp > 100”>
Temperatur : <font face=”verdana” color=”#FF0000”>
<xsl:value-of select=”temp”/>
</font>
</xsl:if>
</xsl:template>

Keterangan :…color=”#FF0000” merupakan perintah untuk menampilkan

warna merah.

7. <xsl:choose/> dan <xsl:when test=”…”/>

Perintah ini mirip dengan xsl:if, namun digunakan untuk beberapa kondisi

yang harus dipenuhi. Misalkan dalam contoh dokumen suhu di atas, untuk

temperatur di bawah 100 derajat kita ingin menampilkan dengan warna biru.

Maka template untuk transformasinya adalah sebagai berikut :

<xsl:template match=”mesin”>
Nama mesin : <xsl:value-of select=”nama”/>
<xsl:choose>
<xsl:when test=”temp > 100”>
Temperatur : <font face=”verdana” color=”#FF0000”>
<xsl:value-of select=”temp”/>
</font>
</xsl:when>
<xsl:when test=”temp < 100”>
Temperatur : <font face=”verdana” color=”#0000FF”>
<xsl:value-of select=”temp”/>
</font>
</xsl:when>
</xsl:choose>
</xsl:template>

8. <xsl:for-each select=”…”/>

Perintah ini adalah perintah kalang (loop) yang memproses secara rekursif. Di

sini XSLT akan memproses perintah yang berada di dalam elemen xsl:for-
each selama elemen yang ditunjuknya ditemukan. XSLT akan berhenti

memproses bila sudah tidak menemukan lagi elemen yang ditunjuk.

Contohnya, bila kita ingin menampilkan temperatur tiap mesin pada contoh

dokumen XML di atas.

<xsl:template match=”suhu”>
<xsl:for-each select=”mesin”>
Suhu :<xsl:value-of select=”temp”/><br/> *
</xsl:for-each>
</xsl:template>

Outputnya adalah sebagai berikut :

Suhu: 89
Suhu: 120
Suhu: 72

* Catatan : tag <br> merupakan perintah HTML untuk mengatur jarak satu

baris. Karena bentuk ini bukan bentuk elemen yang well-formed, maka XSLT

memberikan solusi dengan menambah karakter ‘/’. Solusi ini sama dengan

solusi pada catatan gambar 3.4 di atas.

9. <xsl:sort select=”…”/>

Perintah ini adalah untuk mensortir tampilan menurut suatu kata kunci

tertentu, baik ascending maupun descending. Misalkan dalam contoh

dokumen suhu di atas, kita ingin menampilkan nama mesin urut mulai dari

yang temperaturnya paling tinggi. Di sini berarti kata kuncinya adalah elemen

‘temp’. Sedangkan template XSLTnya adalah sebagai berikut.

<xsl:template match=”mesin”>
<xsl:sort select=”temp” order=”descending”/>
<p>Nama mesin : <xsl:value-of select=”nama”/>
Suhu : <xsl:value-of select=”temp”/></p>
</xsl:template>

Outputnya adalah sebagai berikut :

Nama mesin : Mesin listrik


Suhu : 100
Nama mesin : Mesin bubut
Suhu : 89

Nama mesin : Mesin diesel


Suhu : 72

10. <xsl:element name=”…”/> dan <xsl:attribute name=”…”/>

Perintah di atas adalah untuk menciptakan sebuah elemen dalam struktur

output, beserta atribut-atributnya. Perintah ini terutama berguna untuk

membuat elemen berupa link HTML, dimana isi dari atribut ‘href’ nya

diambil dari elemen lain. Perintah untuk membuat link pada bahasa HTML

adalah : <a href=”link.htm”> link </a>. Perintah ini oleh XSLT dipandang

sebagai sebuah elemen. Sebenarnya, menuliskan perintah di atas saja sudah

cukup untuk membuat sebuah link dalam struktur output. Namun, masalah

timbul ketika kita ingin memasukkan nilai dalam suatu elemen dokumen

XML ke dalam atribut ‘href’ dari elemen ‘a’. Contohnya kita memiliki

dokumen XML sebagai berikut.

<referensi>
<modul>
<nama> Sistem Basis Data </nama>
<url> http://localhost/skripsi/kuliah/basisdata.xml </url>
</modul>
</referensi>

Template XSLT yang salah untuk menampilkan link yang menuju lokasi yang disebutkan
pada elemen ‘url’ di atas adalah :

<xsl:template match=”modul”>
Nama modul : <xsl:value-of select=”nama”/>
URL : <a href=”<xsl:value-of select=’url’/>”> http://localhost skripsi/kuliah/basisdata.xml
</a>
</xsl:template>
Template di atas salah, karena XSLT tidak mengijinkan tag ‘<’ ataupun ‘>’

dalam definisi atribut suatu elemen seperti di atas. Sebenarnya untuk

menampilkan karakter ‘<” kita dapat menggunakan escape character ‘&lt;’

dari ASCII, sedang untuk karakter ‘>’ kita dapat menggunakan ‘&gt;’.

Namun, ini tidak menyelesaikan masalah, karena bila ini diterapkan, XSLT

tidak akan menganggap &lt;xsl:value-of select=”…”/&gt; sebagai sebuah

instruksi XSLT untuk menampilkan isi elemen tertentu. Jadi kita harus

memikirkan solusi lainnya. Salah satu solusi untuk masalah ini diperlihatkan

pada template berikut.

<xsl:template match=”modul>
Nama modul : <xsl:value-of select=”nama”/>
URL : <xsl:element name=”a” >
<xsl:attribute name=”href”>
<xsl:value-of select=”url”/>
</xsl:attribute>
http://localhost skripsi/kuliah/basisdata.xml
</xsl:element>
</xsl:template>

atau

<xsl:template match=”modul>
Nama modul : <xsl:value-of select=”nama”/>
URL : <a>
<xsl:attribute name=”href”>
<xsl:value-of select=”url”/>
</xsl:attribute>
http://localhost skripsi/kuliah/basisdata.xml
</a>
</xsl:template>

Kedua template di atas akan membentuk elemen dengan nama ‘a’ pada

struktur output. Elemen ‘a’ ini mempunyai atribut bernama ‘href’ yang isinya

sama dengan isi dari elemen ‘url’ pada dokumen XMLnya. Sedangkan isi dari
elemen ‘a’ sendiri adalah string “http://localhost skripsi/kuliah/basisdata.xml”.

Sehingga terbentuk tag untuk link HTML seperti yang dimaksud.

3.2.2 Parser Transformasi XSLT

Sama seperti dokumen XML, dokumen XSLT juga harus di-parse. Proses

parsing ini dapat terjadi di client, dapat pula di server. Untuk parsing di server,

terdapat beberapa parser yang mendukungnya, seperti Xalan Java dari

http://xml.apache.org. Parser Xalan Java ini harus diinstall di server agar proses

transformasi dapat berjalan. Namun, penulis tidak merekomendasikan cara seperti ini,

karena dapat memberatkan kerja server. Penulis merekomendasikan agar user

memakai browser yang mendukung XSLT, artinya memiliki built in parser untuk

XSLT *, seperti :

• AIX Netscape

Platform : AIX

• InDelv XML browser

P l a t f o r m : Java 1.1.6 ke atas

• Mozilla version 1.2 beta

P l a t f o r m : Linux, Win32, MacOS

• X-Smiles version 0.6

Platform : Java

• Microsoft Internet Explorer 6.0

Pl a t f o r m : Win d ow s 9 8 / N T / 2 0 0 0
* Catatan : referensi dari http://www.xmlsoftware.com

3.2.3. Metode Transformasi XSLT

Terdapat dua metode untuk mentransformasikan dokumen XML menjadi

format yang lainnya dengan menggunakan XSLT. Pertama adalah metode yang

menghasilkan file baru, yang kedua adalah tidak menghasilkan file baru, yaitu hanya

merubah tampilan saja. Untuk metode yang pertama, misalnya dapat dilakukan oleh

Xalan Java yang dikeluarkan oleh Apache (http://www.apache.org). Parser ini ditulis

dalam bahasa Java. Paser Xalan Java merupakan parser XSLT yang powerful. Ia

mampu merubah dokumen XML ke dalam berbagai format, tergantung XSLTnya.

Perubahan format yang pernah diuji oleh penulis menggunakan Xalan Java adalah

perubahan dari format XML ke format MS-Word, HTML, dan MS-Power Point.

Namun, dalam skripsi ini penulis tidak menggunakan parser Xalan Java karena ia

dijalankan di server, sehingga dapat membebani kerja server. Perlu diperhatikan,

dalam proses transformasi, Xalan Java tidak merubah dokumen XML yang ada,

namun hanya membuat sebuah file baru sebagai hasil dari transformasinya.

Metode yang kedua adalah metode dimana tidak dihasilkan file baru. XSLT

hanya berfungsi untuk menampilkan dokumen XMLnya saja. Metode ini dapat

digambarkan dengan gambar-gambar berikut.


Gambar 3.5 Contoh tampilan dokumen main.xml menggunakan stylesheet main.xsl
Gambar 3.6 Source code dari dokumen main.xml ketika dilihat menggunakan menu
View-Source dari I.E 6.0

File main.xsl nya adalah sebagai berikut.

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html><body>
<xsl:apply-templates/>
</body></html>
</xsl:template>

<xsl:template match="mk">
<p>Nama mata kuliah : <xsl:value-of select="nama"/><br/>
Jenis : <xsl:value-of select="jenis"/><br/>
Jumlah SKS : <xsl:value-of select="sks"/></p>
</xsl:template>

</xsl:stylesheet>
Dari contoh di atas dapat dilihat bahwa XSLT tidak merubah file dokumen

XML yang ditransformasikan, terbukti dari source codenya yang tidak berubah.

Sedangkan untuk tampilan tanpa menggunakan XSLT terlihat dalam gambar 3.7

berikut.

Gambar 3.7 Tampilan dokumen XML yang tidak menggunakan XSLT

Dapat dilihat dari contoh tampilan di atas, bahwa bila dokumen XML tidak

memakai XSLT, tampilannya akan persis sama dengan source codenya.

Demikian penjelasan mengenai XSLT. Untuk aplikasi yang lebih teknis dari

XSLT dapat dilihat pada Bab IV yang membahas dan menganalisa skripsi secara

teknis.
3.3 J a v a

Java merupakan sebuah bahasa pemrograman yang dikeluarkan oleh Sun

Microsystem (http://java.sun.com) pada bulan November 1995. Java termasuk dalam

kategori Pemrograman Berorientasi Obyek. Bahasa ini, sebelum bernama Java,

sebelumnya bernama Oak – Oak diciptakan oleh James Gosling – merupakan bahasa

yang dapat diterapkan pada berbagai macam platform. Keistimewan dari Oak – dan

oleh karenanya diwarisi oleh Java – adalah kedekatannya dengan Internet. Salah satu

keistimewaan Java yang paling banyak dikenal orang adalah ia dapat menciptakan

program yang dieksekusi melalui browser internet. Program ini disebut applet.

Pada saat James Gosling menulis Oak, ia banyak mengambil fungsionalitas

dan syntax dari bahasa C dan C++. Oleh karenanya Java memiliki banyak kemiripan

dengan C++. Perbedaannya adalah Java lebih sederhana, dan beberapa bagian yang

kompleks dari C++ dihilangkan, seperti pointer dan manajemen memori. Dalam Java,

memori diatur secara otomatis, dan pemrogram tidak perlu menulis kode untuk

mengaturnya secara manual.

Kode Java ditulis sebagai teks biasa, kemudian disimpan dalam bentuk file

.java. Kemudian setelah file .java ini di-compile, akan menghasilkan file lain yang

disebut class (berbentuk .class). File class inilah yang dipanggil ketika kita ingin

menjalankan aplikasi Java. File class berbentuk bytecode. Bytecode merupakan

serangkaian instruksi yang langsung dapat dijalankan komputer, jadi merupakan

bahasa mesin. Untuk dapat meng-kompile file .java menjadi bentuk bytecode

diperlukan lingkungan (environment) Java. Contohnya adalah Java Development Kit

(JDK). Dalam skripsi kali ini, versi JDK yang digunakan adalah JDK 1.3.
3.3.1 Classpath dalam Java

Dalam contoh mengatur classpath di bawah ini, penulis menggunakan setting

classpath yang diperlukan untuk melakukan transformasi XSLT menggunakan Xalan

Java. Seperti disebutkan pada bagian sebelumnya, Xalan Java merupakan parser

server side yang handal untuk melakukan transformasi XSLT.

Salah satu hal yang paling penting dalam menjalankan program Java adalah

mengatur classpath. Class dianggap sebagai sebuah obyek yang saling berkaitan

dengan class-class lainnya. Di sini keistimewaan Pemrograman Orientasi Obyek

benar-benar ditonjolkan, yaitu reusability dari class-class tersebut. Kita dapat

menghemat banyak waktu karena kita tidak perlu menuliskan kode yang sama untuk

beberapa aplikasi. Kita dapat menggunakan class-class yang telah tersedia tersebut

untuk berbagai aplikasi.

Sebelum menjalankan aplikasi Java, kita harus mendefinisikan dimana JDK

harus mencari class-class yang diperlukan. Kita harus mendefinisikan lokasi yang

spesifik dari class-class tersebut sampai pada direktori yang tepat ada di atasnya. Jadi

misalkan kita meletakkan Process.class dalam direktori c:\java\xalan\bin , maka kita

harus menuliskan path yang lengkap sebagai berikut :

> set classpath = c:\java\xalan\bin

Program akan menampilkan pesan kesalahan (error) bila kita hanya menuliskan :

> set classpath = c:\java\ , atau

> set classpath = c:\java\xalan

Pesan kesalahan ini biasanya berujud :


> Exception in thread “main” java.lang.NoClassDefFoundError :

org/apache/xalan/xslt/Process.

Untuk memudahkan pencarian class dan distribusi paket-paket Java, maka

pada umumnya class-class yang berfungsi untuk melaksanakan instruksi tertentu

diintegrasikan dalam file Java Archive (berbentuk .jar). File .jar ini mirip dengan file

.zip, dan file .jar ini dapat diekstrak dengan aplikasi pengekstrak seperti WinZip.

Jadi kita dapat mendefinisikan classpath kita ke alamat loaksi file .jar ini,

karena pada dasarnya file .jar bersifat seperti direktori yang berada tepat satu tingkat

di atas file .class. Contoh kasus, dalam transformasi XML ke format file lain, kita

memerlukan class Process. Class process ini ada dalam file xalan.jar. Maka kita harus

mengatur classpath kita sebagai berikut :

> set classpath = c:\java\xalan\bin\xalan.jar

Suatu aplikasi biasanya membutuhkan beberapa file class yang terdapat dalam

beberapa file .jar. Jadi classpath harus menyebutkan alamat-alamat file-file .jar

tersebut. Dalam Java Archive (jar) ini biasanya file-file .class sudah dikelompokkan

dalam direktori-direktori tertentu.

3.3.2 Memanggil Class

Pemanggilan class dalam Java dilakukan dengan menyebutkan secara lengkap

letak dari kelas tersebut. Berbeda dengan pengaturan classpath, pemanggilan class

adalah seperti menuliskan perintah command.com dalam dos prompt, yaitu berfungsi

untuk eksekusi sebuah aplikasi.


Misalkan kita akan melaksanakan proses transformasi dari format XML ke

HTML. Class yang menangani ini adalah class Process. Class Process berada di

bawah direktori xslt. Direktori xslt berada di bawah direktori xalan, xalan berada di

bawah xml, direktori xml berada di bawah direktori apache, dan apache berada di

bwah direktori org. Jadi, untuk memanggilnya secara lengkap adalah sebagai berikut :

> java org.apache.xalan.xslt.Process

Dapat dilihat bahwa tiap direktori dengan tanda titik (.).

3.3.3 JAVA DEVELOPMENT KIT (JDK, versi 1.3)

JDK adalah suatu perangkat lunak yang dikeluarkan oleh Sun Microsystem

untuk membuat aplikasi, applet, dan komponen yang dapat dijalankan dalam platform

Java. JDK mempunyai fasilitas untuk mengembangkan dan menguji program yang

ditulis dalam bahasa Java dan dijalankan dalam platform Java. Fasilitas-fasilitas ini

hanya dapat dieksekusi melalui perintah yang dituliskan di command line, kecuali

untuk appletviewer. Jadi, fasilitas-fasilitas pada JDK 1.3 tidak memiliki Graphical

User Interface (GUI). Fasilitas-fasilitas tersebut di antaranya :

- Java compiler (dieksekusi dengan perintah javac)

Fasilitas ini berfungsi untuk meng-compile program yang ditulis dalam Java

menjadi bytecode. Jadi sebelum dapat dieksekusi, file-file yang berbentuk

.java harus dijadikan file bytecode terlebih dahulu, biasanya dalam bentuk file

.class.

- Java Interpreter (dieksekusi dengan perintah java)

Mengeksekusi file-file dalam bentuk bytecode.


- AppletViewer (dieksekusi dengan perintah appletviewer)

Berfungsi untuk menguji dan menjalankan applet.

- Java Debugger (dieksekusi dengan perintah jdb)

Membantu menemukan bug-bug dalam program

- Java Archive Tool (dieksekusi dengan perintah jar)

Menggabungkan file-file class dan acuan-acuan lainnya dalam satu file jar.

Masih banyak fasilitas-fasilitas lain dalam JDK 1.3, namun fasilitas-fasilitas

di ataslah yang dianggap penulis merupakan fasilitas-fasilitas utama yang sering

digunakan para pemrogram.

Seperti telah disebutkan di atas, fasilitas-fasilitas di atas hanya dapat

dijalankan melalui command line (misal MS-DOS Prompt untuk Windows 32).

Contoh penulisan perintahnya, untuk Java Interpreter telah dituliskan dalam bagian

Memanggil Kelas di atas.

Dalam JDK 1.3, terdapat sebuah virtual machine, library class, dan file-file

lain yang dibutuhkan dalam proses eksekusi aplikasi Java. Ketiga hal tersebut berada

dalam suatu lingkungan yang disebut Java Runtime Environment (JRE).

3.4 Jakarta Tomcat

Jakarta Tomcat ( http://jakarta.apache.org/tomcat/index.html ) merupakan

sebuah servlet container yang juga dapat berfungsi sebagai web server. Jakarta

Tomcat, seperti halnya Xalan Java merupakan software yang open source. Dalam

skripsi ini, Jakarta Tomcat yang digunakan adalah versi 3.3 yang dikeluarkan tanggal

18 April 2002. Sampai sekarang Jakarta Tomcat telah mencapai versi 5.0 yang
dikeluarkan pada bulan Oktober 2002. Jakarta Tomcat merupakan implementasi

resmi (official implementation) dari teknologi Java Servlet dan Java Server Page

(JSP). Dengan Jakarta Tomcat kita dapat menjalankan aplikasi server side yang

dibuat dengan Java. Penjelasan mengenai server side application ini telah dibahas

pada Bab II.

3.4.1 Java Servlet

Java Servlet merupakan aplikasi Java berbasis Web yang dijalankan di server.

Tidak seperti yang telah dijelaskan pada bagian sebelumnya tentang aplikasi Java

yang menjalankannya dari dos prompt, Java Servlet dipanggil oleh browser melalui

URL (Uniform Resourced Location). Jadi misalnya kita memiliki sebuah servlet

dalam file Cipta.class. Maka bila kita ingin menjalankan program tersebut, kita

memanggil dengan mengetikkan perintah berikut pada Address Field browser kita :

http://localhost/examples/servlet/Cipta. Atau kita dapat membuat sebuah link yang

menuju pada lokasi servlet yang dimaksud. Ketika link tersebut diklik, maka servlet

akan dieksekusi. Pemanggilan servlet tidak perlu menyertakan ekstensi dari file

servletnya, cukup menyebutkan nama filenya saja.

Pada Jakarta Tomcat, letak servlet containernya adalah pada direktori : base

directory\WEB-INF\classes. Dalam skripsi ini, base directory dari servlet yang

digunakan untuk aplikasi adalah tomcat\webapps\Root\skripsi.

Meskipun letak servlet container adalah pada direktori yang tersebut di atas,

namun pada URL yang disebutkan adalah berbeda, tergantung pada setting path dan
base directory dari servlet. Path dan base directory dalam skripsi ini akan dijelaskan

di Bab IV.

Untuk membuat servlet, pertama kita harus mengeset classpath (seperti yang

telah disebutkan pada bagian sebelumnya tentang classpath dalam Java) menuju suatu

file Java Archive yang bernama servlet.jar. Kemudian dari file ini kita dapat

mengimport class-class yang berfungsi untuk membentuk servlet dalam kode java

kita. Setelah kita membuat file java tersebut, maka kita compile dengan Java

Compiler. Kemudian, file bytecode Java (ekstensi .class) yang dihasilkan dimasukkan

dalam direktori servlet container. Selengkapnya mengenai proses ini akan dijelaskan

di Bab IV.

3.4.2 Struktur direktori Jakarta Tomcat 3.3

Pada dasarnya ada tiga komponen penting dalam Jakarta Tomcat. Pertama

adalah servlet container yang berada pada direktori tomcat\webapps\path\WEB-

INF\classes. Kedua adalah web server yang base direktorinya adalah

tomcat\webapps\ROOT. Sedang yang ketiga adalah library yang diperlukan Jakarta

Tomcat untuk mencari class-class Java yang dipanggil oleh servlet. Library ini

terletak dalam direktori tomcat\lib.

Dalam direktori tomcat\lib terdapat tiga jenis library, yaitu ‘apps’, ‘common’,

dan ‘container’. Library yang berada dalam direktori ‘apps’ adalah library spesifik

untuk suatu aplikasi. Library ‘common’ adalah library yang dipakai bersama oleh

Jakarta Tomcat dan beberapa aplikasi tertentu. Sedang library ‘container’ dipakai
khusus oleh Jakarta Tomcat. Struktur komponen-komponen utama Jakarta Tomcat ini

dapat dilihat pada gambar 3.8 berikut.

tomcat

bin conf lib doc native logs webapps work modules

apps ROOT
common container

skripsi

WEB-INF

classes

Gambar 3.8 Struktur direktori Jakarta Tomcat 3.3 pada


skripsi ini
BAB IV

ANALISA DAN PEMBAHASAN

Dalam bab ini akan dibahas implementasi sistem sesuai dengan dasar teori

yang telah dibahas pada BAB II. Sedang teknologi yang akan dipakai pada

implementasi sistem adalah teknologi-teknologi seperti yang telah dibahas pada Bab

III.

4.1 Implementasi Dalam Sistem Distance Learning di MTI UGM

Sistem Distance Learning di MTI UGM memiliki materi-materi kuliah yang

diwujudkan dalam modul-modul sesuai dengan mata kuliahnya. Modul-modul ini

kemudian dibagi lagi menjadi bagian-bagian yang lebih kecil, disebut dengan topik.

Modul-modul dan topik-topik ini merupakan salah atu komponen penting dari sistem

distance learning, karena dari sinilah para mahasiswa MTI, baik peserta distance

learning maupun yang mengikuti kuliah secara langsung, serta khalayak umum dapat

mendapatkan informasi mengenai materi kuliah. Untuk selanjutnya, tiga komponen di

atas – mahasiswa MTI yang mengikuti perkuliahan distance learning, mahasiswa

MTI yang mengikuti perkuliahan MTI secara langsung, serta khalayak umum –

disebut user.

Dari sini penulis menjadikan topik-topik yang disebut di atas sebagai basis pencarian

data. Penulis mencantumkan kata-kata kunci yang mungkin dicari oleh user pada

masing-masing topik. Jadi, ketika user melakukan permintaan data (query) maka
pada dasarnya user meminta data tentang suatu topik tertentu yang ada pada database

meteri kuliah tersebut. Halaman untuk pencarian data ini dapat dilihat pada halaman

lampiran pada bagian Lampiran 1 nomor 5.

Disamping pencarian data mengenai topik yang merupakan fasilitas utama

dari skripsi ini, penulis juga memberikan fasilitas tambahan lainnya, yaitu pencarian

mata kuliah. Di sini user dapat melakukan query terhadap mata kuliah yang

dikehendakinya.

Semua data yang ada di atas, baik kuliah, modul, maupun topik di atas ditulis

dalam XML. Untuk menampilkan datanya ke browser digunakan XSLT. User juga

dapat melihat secara langsung (tanpa melakukan proses query) data-data yang ada

dengan mengakses alamat halaman-halaman yang bersangkutan. Misalkan untuk

melihat data seluruh mata kuliah (tampilan ada di halaman lampiran bagian 1 nomor

2), alamat yang harus diketikkan user adalah http://localhost/skripsi/kuliah.xml.

Untuk menampilkan modul user harus mengetikkan

http://localhost/skripsi/modul.xml (tampilan ada di halaman lampiran bagian 1 nomor

3). Sedang untuk melihat topik user cukup mengikuti link-link yang ada pada

halaman penampilan data modul tersebut (tampilan ada di halaman lampiran bagian 1

nomor 4).

4.2 Gambaran Umum Sistem

Sistem pencarian data yang akan dibangun dalam tugas akhir ini dapat dibagi

menjadi dua bagian. Pertama adalah pencarian data berdasarkan input dari user.
Kedua adalah pencarian data berdasarkan kata kunci yang dimiliki masing-masing

topik.

4.2.1 Pencarian Data Berdasarkan Input dari User

Pada fasilitas ini disediakan halaman untuk meng-query data berdasarkan

jenis-jenis query yang ditentukan oleh penulis. Jenis query yang disediakan adalah :

a. Query mata kuliah

Untuk query jenis ini ada beberapa jenis query lagi yang dapat dipilih,

yaitu berdasar kode/nama mata kuliah, sks mata kuliah, jenis mata kuliah,

semester dimana mata kuliah diselenggarakan, tujuan mata kuliah, serta

kata kunci pada mata kuliah. Khusus untuk query tujuan dan kata kunci

mata kuliah, user dapat mencari mata kuliah dengan mengisikan kata yang

ingin dicari pada text field yang disediakan.

b. Query topik

Untuk query topik, user dapat mencari topik yang diinginkan dengan

memasukkan kata atau frase yang terdapat dalam topik itu. Mesin pencari

kemudian mencocokkan input dari user tersebut dengan dokumen topik

yang berupa dokumen XML. Proses pencocokan ini terjadi pada setiap

atribut dan elemen dari data topik, yaitu judul topik, modul dimana topik

tersebut berada, serta kata kunci yang ada pada setiap topik. Bila terdapat

topik yang salah satu atau beberapa atribut atau elemennya mengandung

input yang dimasukkan, maka mesin akan menampilkan topik yang

bersangkutan. Setelah topik yang bersangkutan ditampilkan, maka akan


terdapat link-link yang menuju materi dari topik. User dapat mengklik

link-link ini untuk melihat isi topik

4.2.2 Query Topik Berdasarkan Kata Kunci

Pencarian dengan sistem input dari user mengandung kelemahan, yaitu user

tidak mengetahui kata kunci-kata kunci apa saja yang terdapat dalam topik. Kata

kunci dalam setiap topik berjumlah ratusan, sedang seluruh kata yang mungkin

diquery user ribuan banyaknya. Jadi, peluang user untuk tidak menemukan topik

yang dikehendaki adalah besar. Untuk menghindari situasi ini maka penulis membuat

sebuah dokumen XML yang berfungsi untuk menampilkan seluruh kata kunci dalam

setiap topik. Dengan solusi ini maka diharapkan pencarian topik menjadi lebih terarah

karena user tahu kata kunci apa saja yang terdapat dalam topik.

Kata kunci-kata kunci setiap topik seperti yang disebutkan di atas berada

pada frame sebelah kiri dan tampilannya tidak berubah selama proses pencarian

berlangsung. Hal ini berguna untuk mempermudah user selama proses pencarian.

Setelah user memilih suatu kata kunci maka sistem akan menampilkan topik-topik

yang bersesuaian. Selanjutnya user dapat memilih link-link pada topik tersebut untuk

melihat materi dalam topik.

Demikian sistem pencarian ini dijelaskan secara garis besar. Bagian lain dari

sistem adalah berupa kelengkapannya, seperti halaman indeks pencarian.


4.3 Perancangan Sistem

Setelah meneliti dan mempelajari dasar teori dan terutama teknologi-teknologi

yang relatif baru pada Bab II, maka penulis mula-mula merancang suatu sistem arsip

data, penampilan, dan pencarian data dengan memanfaatkan empat teknologi : XML,

XSLT, Java Servlet, dan Jakarta Tomcat. Penulis pada awalnya menyimpan data-data

XML, stylesheet XSLT, serta Java Servlet pada web server Jakarta Tomcat. Namun,

setelah penulis melakukan evaluasi terhadap aplikasi berbasis web yang tengah

dilaksanak, penulis mendapatkan suatu referensi dari pembuat Jakarta Tomcat sendiri

bahwa Jakarta Tomcat bukanlah suatu sistem yang dirancang sebagai web server.

Memang Jakarta Tomcat menyediakan fasilitas untuk web server, namun web server

ini tidaklah sehandal Apache Web Server, yang memang dirancang khusus untuk itu.

Berdasar referensi tersebut di atas, maka penulis mengganti web server dari

semula Jakarta Tomcat menjadi Apache Web Server. Jadi, file-file yang bersifat statis

disimpan dalam Apache, sedang yang bersifat dinamis disimpan dalam Tomcat (untuk

memudahkan penyebutan, mulai sekarang Jakarta Tomcat disebut Tomcat saja),

seperti terlihat pada Gambar 4.1. Yang disebut ‘dinamis’ di sini adalah bagian sistem

yang menerima, mengolah, dan menampilkan query pencarian data. Untuk

membedakan lokasi dari Tomcat dan Apache, maka untuk Tomcat dipanggil melalui

port 8080. Sedang untuk Apache port 3148. Jadi pemanggilan URL untuk Tomcat

adalah http://localhost:8080/ sedang untuk Apache adalah http://localhost:3148/ atau

cukup http://localhost saja.

File-file yang disimpan dalam Apache misalnya adalah file-file yang

menampilkan halaman query (form pencarian), indeks pencarian, file-file XML statis,
serta stylesheet-stylesheet XSLT yang berfungsi menampilkan file-file XML statis

tersebut.

Apache Tomcat

JAVA SERVLET
XML

HTML
XML
XSLT

XSLT

BROWSER

Lingkungan Statis Lingkungan Dinamis


Gambar 4.1 Diagram sistem

4.3.1 Alur Aplikasi

Pada bagian ini akan dijelaskan alur aplikasi menurut fasilitas-fasilitas yang

ada. Alur aplikasi adalah skenario penggunaan fasilitas-fasilitas yang ada dalam

aplikasi oleh user.

4.3.1.1 Penampilan data

Untuk menampilkan data XML maka digunakan XSLT yang mentransform

dokumen XML ke dalam format HTML sehingga mampu ditampilkan dengan baik

oleh browser. XSLT di sini diterapkan baik pada lingkungan statis maupun dinamis.
Jadi, semua dokumen XML, baik yang statis (dibuat oleh penulis) maupun yang

dinamis (dibuat oleh servlet) diproses oleh XSLT terlebih dahulu sebelum

ditampilkan.

4.3.1.2 Query Data Berdasar Input dari User

Untuk membuat dan menampilkan halaman query data digunakan teknologi

pembuatan form dari HTML. Proses query data ini dapat digambarkan dengan

Gambar 4.2, dengan penjelasan berikut.

Setelah user mengisi dan mengirim querynya (1), maka data tersebut akan

diterima oleh servlet. Kemudian servlet membuat sebuah dokumen XML berdasarkan

input-input yang dikirimkan user tadi (2). Data-data input dalam dokumen XML ini

kemudian diproses oleh XSLT (3). Data-data tersebut menjadi pedoman stylesheet

XSLT untuk memanggil dokumen XML lainnya yang berada di lingkungan statis

(sebagai sumber data) (4). Pada tahap ini, XSLT berfungsi untuk meng-query data.

XSLT akan mencari pada sumber data, data-data mana saja yang cocok dengan data

pada dokumen XML yang dibuat servlet. Setelah data pada sumber data ditemukan,

maka data tersebut akan dikirimkan ke XSLT (5) untuk kemudian ditampilkan (6).

Apache
Tomcat

Form HTML
Servlet

Data BROWSER
XML XML
XSLT
(1) submit

(2) create

(3) process

(6) tampil

(5) send data

(4) request

Gambar 4.2 Alur aplikasi untuk query data berdasar input dari user

4.3.1.3 Query Data Berdasar Kata Kunci yang Tersedia

Ilustrasi untuk bagian ini digambarkan oleh Gambar 4.3, disertai penjelasan

sebagai berikut.

Penulis membuat dokumen XML yang mengandung kata kunci-kata kunci

dari setiap modul. Dokumen ini ditransformasikan dengan XSLT untuk membentuk

frame sebelah kiri dari menu pencarian (1). Ketika user memilih salah satu kata

kunci, maka informasi kata kunci dikirimkan ke servlet (2). Berdasarkan input ini

maka servlet membuat dokumen XML (3) yang kemudian ditransformasikan oleh

XSLT (4). XSLT kemudian mencari data yang sesuai dari sumber data XML yang

berada dalam lingkungan statis (5). Sumber data ini tidak lain adalah dokumen kata

kunci XML yang disamping memuat kata kunci juga memuat referensi ke topik.

Setelah data ditemukan (6), maka XSLT menampilkan data-data tersebut ke browser

(7).
Gambar 4.3 Alur aplikasi untuk query data berdasar kata kunci

4.3.2 Struktur Data

Struktur data dalam sistem dapat diklasifikasikan menjadi 4 kelompok :

struktur data kuliah, modul, katakunci, dan topik.

1. Struktur data kuliah

Struktur data kuliah adalah sebagai berikut. Elemen induknya adalah

elemen ‘kuliah’ yang mencakup seluruh elemen dan teks dalam dokumen

XML. Elemen ini memiliki elemen anak ‘mk’. Elemen ‘mk’ memiliki satu

atribut, yaitu ‘kodemk’, yang berisi kode mata kuliah yang bersangkutan,

dan 6 elemen anak, yaitu ‘nama’, ‘sks’, ‘jenis’, ‘semester’, ‘tujuan’, dan

‘ktkunci’. Elemen ‘ktkunci’ berisi kata kunci yang mendeskripsikan isi

dari perkuliahan yang bersangkutan. Contoh data XML untuk satu mata

kuliah adalah sebagai berikut.

<kuliah>
<mk kodemk="MTI 611">
<nama>Teknologi Informasi</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Teknologi informasi ditinjau dari segi perangkat keras dan perangkat
lunak komputer. Arsitektur teknologi informasi. Teknologi middleware.
Faktor kehandalan, skalabilitas, dan keamanan.
Implementasi proses-proses bisnis.</tujuan>
<ktkunci>hardware software bisnis arsitektur middleware
kehandalan</ktkunci>
</mk>
</kuliah>

2. Struktur data modul

Struktur data modul dalam dokumen XMLnya adalah sebagai berikut.

Elemen induknya adalah elemen ‘top’ yang mencakup seluruh elemen dan

teks dalam dokumennya. Elemen ‘top’ ini memiliki elemen anak yaitu

‘bahan’. Elemen ‘bahan’ merupakan elemen yang menampung seluruh

modul yang ada pada suatu mata kuliah tertentu. Elemen ini memiliki satu

atribut, yaitu ‘mk’ yang berisi nama mata kuliah. Di samping itu elemen

‘bahan’ juga memiliki 5 elemen anak, yaitu ‘nama’, ‘tujuan’, dan

‘sumber’. Elemen ‘nama’ berisi judul dari modul. Sedangkan elemen

‘sumber’ berisi referensi dari modul yang bersangkutan.

Elemen ‘sumber’ memiliki satu atribut, yaitu ‘tipe’. Atribut ini berfungsi

untuk membedakan asal referensi, apakah dari buku, web, atau yang lain.

Untuk masing-masing tipe struktur datanya berbeda-beda. Contohnya

untuk tipe ‘buku’, terdapat 4 elemen anak yaitu ‘judul’, ‘pengarang’,

‘penerbit’, dan ‘tahun’.

Contoh data XML untuk sebuah modul adalah sebagai berikut.

<top>
<bahan mk="Teknologi Informasi">
<modul kodemdl="M 611-1" minggu="1">
<nama>Asas Teknologi Informasi</nama>
<tujuan>Memberikan pemahaman dasar mengenai konsep TI, implementasinya,
tool-tool yang digunakan, serta keuntungan-keuntungannya</tujuan>
<sumber tipe="Buku">
<judul>Information Technology, Tomorrows advantage today</judul>
<pengarang>Stephen Haag</pengarang>
<penerbit>McGraw-Hill</penerbit>
<tahun>1996</tahun>
</sumber>
</modul>
</bahan>
</top>

3. Struktur data topik

Struktur data topik adalah sebagai berikut. Elemen induknya adalah

elemen ‘top’. Elemen ini memiliki elemen anak ‘topik’ yang memiliki 3

atribut, yaitu ‘kodetpk’ yang berisi kode dari topik yang bersangkutan,

atribut ‘minggu’ yang menunjukkan di minggu ke berapa topik tersebut

disampaikan dalam perkuliahan, serta atribut ‘mk’ yang menunjukkan

mata kuliah dari topik yang bersangkutan. Di samping itu, elemen ‘topik’

ini memiliki 5 elemen anak, yaitu ‘judul’, ‘modul’, ‘urllat’, ‘isi’, dan

‘ktkunci’. Elemen ‘judul’ berisi judul topik. Elemen ‘modul’ modul tempat

topik yeng bersangkutan berada. Elemen ‘urllat’ menunjukkan lokasi file

untuk latihan-latihan yang berhubungan dengan topik. Elemen ‘ktkunci’

memuat kata kunci dari topik yang mennggambarkan isi dari topik.

Sedang elemen ‘isi’ berisi informasi tentang cara mengakses materi dari

topik. Elemen ‘isi’ memiliki 3 atribut, yaitu ‘tipe’, ‘doctype’, dan ‘size’.

Atribut ‘tipe’ menunjukkan jenis akses yang diperlukan untuk melihat isi

topik. Untuk semua topik dalam skripsi ini, atribut ‘tipe’ bernilai ‘url’.

Nilai atribut ini menunjukkan bahwa untuk melihat isi topik, user harus

mengklik link yang tersebut dalam elemen ‘isi’. Penulis mempersiapkan


atribut ‘tipe’ ini karena mungkin pada pengembangan dari aplikasi ini ada

topik yang dituliskan langsung ke dokumen XML yang bersangkutan, atau

dengan cara yang lainnya. Untuk nilai ‘tipe’ berupa ‘url’, penulis

mendeskripsikan file topik melalui dua atribut yang terdapat dalam

elemen ‘isi’, yaitu ‘doctype’ dan ‘size’. Atribut ‘doctype’ menunjukkan

jenis file topik, apakah disimpan dalam bentuk XML, MS-Word, Power

Point, PDF, dan lain-lain. Sedangkan atribut ‘size’ menunjukkan besar dari

file tersebut sehingga user dapat memperkirakan lamanya download yang

diperlukan.

Contoh dokumen XML untuk satu topik adalah sebagai berikut.

<top>
<topik kodetpk="T 6111-03" minggu="1" mk="Teknologi Informasi">
<judul>Asas Teknologi Informasi</judul>
<modul>Asas Teknologi Informasi</modul>
<ktkunci>definisi informasi</ktkunci>
<ktkunci>teknologi informasi</ktkunci>
<ktkunci>piranti</ktkunci>
<ktkunci>piranti input output</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="xml" size="6KB">
http://localhost/skripsi/modul/611/asas.xml
</isi>
</topik>
</top>

4.4 Implementasi Sistem

Pada bagian ini akan dijelaskan implementasi sistem serta contoh tampilan-

tampilan dari aplikasi.

4.4.1 Hierarki File dan Fungsi Masing-masing File

Pada bagian ini akan dijelaskan hierarki file serta fungsi masing-masing file

dalam sistem pencarian data. Gambar 4.4a dan 4.4b menunjukkan keseluruhan
hierarki file. Untuk tiap bagian diberikan nomor yang masing-masing akan dibahas

dalam penjelasan di bawahnya.

ROOT

images modul xsl Index_cari.htm


Kuliah.xml
Modul.xml
611 Global.xsl Query.htm
File-file 612 Kuliah.xsl Topik.xml
.img 621 Modul.xsl Utama.htm
(1) 622 Topikktk.xsl Mainktk.htm
623
624
653
(2) (3) (4)

Gambar 4.4a Hierarki file pada lingkungan statis (Apache)

ROOT

WEB-INF/classes SKRIPSI

Global.xsl
Cipta.class Query.xsl
Ciptatpk.class Querytpk.xsl
Panggiltopik.class Topikq.xsl
(6)
(5)
Gambar 4.4b Hierarki file pada lingkungan dinamis (Tomcat)

Penjelasan tentang kedua gambar di atas adalah sebagai berikut.

(1) Direktori ‘Images’

Direktori ‘Images’ berisikan file-file berekstensi .img yang diperlukan untuk

menampilkan gambar dalam setiap halaman web.

(2) Direktori ‘Modul’

Direktori ‘Modul’ berisi subdirektori kode mata kuliah. Tiap subdirektori

menampung file-file materi dalam berbagai format, XML, MS-Word, Power

Point, PDF, dan lain-lain.

(3) Direktori ‘xsl’

Direktori ‘xsl’ menampung stylesheet-stylesheet XSLT yang digunakan dalam

lingkungan statis. Dokumen-dokumen XML yang ditransformasikan oleh

stylesheet-stylesheet ini akan dijelaskan pada bagian berikutnya.

(4) Direktori ‘root’

Direktori ini menampung file-file HTML serta sumber-sumber data XML. Berikut

tabel dokumen XML beserta stylesheet yang mentransformasikannya.

Dokumen XML Stylesheet XSLT


Kuliah.xml Kuliah.xsl
Modul.xml Modul.xsl
topik.xml topikktk.xsl

Tabel 4.1 Dokumen-dokumen XML dan stylesheetnya

Berikut fungsi dari masing-masing dokumen XML.

a. Kuliah.xml

Dokumen ini menampung data-data kuliah di MTI. Struktur data yang

digunakan adalah struktur data kuliah seperti yang telah dijelaskan pada

bagian sebelumnya.

b. Modul.xml

Dokumen ini menampung seluruh data modul yang ada di perkuliahan MTI.

Struktur data yang digunakan adalah struktur data modul seperti yang telah

dijelaskan pada bagian sebelumnya.

c. topik.xml

Dokumen ini menampung seluruh data kata kunci yang ada di perkuliahan

MTI. Struktur data yang digunakan adalah struktur data topik seperti yang

telah dijelaskan pada bagian sebelumnya. Dokumen inilah yang digunakan

sebagai sumber data pencarian topik berdasar kata kuncinya.

(5) Direktori ‘servlet’ (http://localhost:8080/skripsi/servlet)

Direktori ini menampung bytecode-bytecode Java (servlet). Fungsi dari masing-

masing servlet adalah sebagai berikut.

a. Cipta.class

Menerima input query dari user pada halaman ‘query.htm’ bagian pencarian

mata kuliah. Kemudian servlet ini membuat dokumen XML yang


ditransformasikan dengan stylesheet ‘query.xsl’. Dokumen XML yang dibuat

mempunyai struktur sebagai berikut.

<query>
<nilai> (input dari user) </nilai>
<tipe> (jenis query) </tipe>
</query>

Elemen induknya adalah elemen ‘query’. Elemen ini memiliki 2 elemen anak,

yaitu elemen ‘nilai’ dan ‘tipe’. Elemen ‘nilai’ menampung input query dari

user, sedang elemen ‘tipe’ menunjukkan jenis query yang dipilih. Isi dari

elemen-elemen inilah yang digunakan stylesheet XSLT untuk dicocokkan

dengan sumber data XML.

b. Ciptatpk.class

Servlet ini bertugas untuk menerima input query dari halaman ‘query.htm’

bagian pencarian topik. Selain itu ia juga bertugas untuk menerima input yang

berupa kata kunci pada halaman ‘utama.htm’. Jadi, input yang diterima ada

dua macam: dari form HTML dan dari URL. Berdasarkan input tersebut

kemudian servlet ini membuat sebuah dokumen XML. Dokumen XML yang

dibuat tersebut ditransformasikan oleh stylesheet ‘querytpk.xsl’. Dokumen ini

mempunyai struktur sebagai berikut.

<query>
<nilai> (input dari user) </nilai>
</query>

Penjelasan selanjutnya sama dengan bagian (a) di atas, bedanya adalah

dokumen XML yang dibuat tidak memiliki elemen ‘tipe’.

c. Panggiltopik.class
Servlet ini berfungsi untuk menerima variabel yang dikirimkan oleh link pada

halaman yang menampilkan data modul. Variabel yang diterima adalah

variabel ‘modul’ dan ‘mk’. Kemudian servlet membuat dokumen XML yang

ditransformasikan oleh stylesheet ‘topikq.xsl’. Struktur dari dokumen XML

yang dibuat adalah sebagai berikut.

<topik>
<modul> (isi variabel ‘modul’ pada link) </modul>
<mk> (isi variabel ‘mk’ pada link) </mk>
</topik>

Penjelasan selanjutnya dapat dianalogikan seperti pada bagian (a) di atas.

Pada skripsi ini, penulis mengeset base directory servlet ke

tomcat\webapps\skripsi. Sedang path untuk pemanggilan di URLnya adalah

‘skripsi’. Base directory merupakan direktori faktual yang terdapat dalam

tomcat. Sedangkan path merupakan direktori virtual yang dipanggil melalui

URL. Jadi, ketika pada URL kita memanggil http://localhost:8080/skripsi/

servlet/Cipta pada dasarnya kita mengakses file Cipta.class yang ditempatkan

dalam direktori tomcat\webapps\skripsi\WEB-INF\classes\Cipta.class. Secara

otomatis Tomcat mengidentifikasikan path ‘servlet’ untuk mewakili direktori

WEB-INF\classes.

(6) Direktori ‘xsl’ (http://localhost:8080/skripsi/xsl)

Direktori ini menampung stylesheet-stylesheet XSLT yang dinamis. Fungsi

masing-masing stylesheet telah dijelaskan pada bagian sebelumnya.

Untuk lebih jelasnya, fungsi masing-masing file dapat dijelaskan dengan

gambar-gambar berikut ini.


BROWSER
Query.htm 1 Cipta.class tampil 6
send 2 create
XML 3 Query.xsl
process
5
Send data 4
Kuliah.xml
Request data

Gambar 4.5a File-file yang berperan dalam query mata kuliah

BROWSER
1
Query.htm Ciptatpk.class
2 tampil 6
send create
3
XML Querytpk.xsl
process
5 4
Send data
topik.xml
Request data

Gambar 4.5b File-file yang berperan dalam query topik berdasar input dari
user

BROWSER
2
Topikktk.xsl Ciptatpk.class tampil 7
send 3 create
XML 4 Query.xsl
1 process process
Topik.xml
5
Send data 6

Request data

Gambar 4.5c File-file yang berperan dalam query topik berdasar kata kunci
yang tersedia
BROWSER
2
modul.xsl Panggiltopik.class tampil 7
send 3 create
XML 4 topikq.xsl
1 process process
modul.xml
5
Send data 6

Request data

Gambar 4.5d File-file yang berperan dalam query topik yang dilakukan dari
halaman modul.xml

4.4.2 Penyimpanan Materi Topik dan Fasilitas Tambahan untuk Materi Topik

yang Disimpan Dalam format XML

Materi-materi topik disimpan dalam format yang bermacam-macam, sesuai

dengan keinginan dosen yang menulis materinya. Ada berbagai macam format materi

yang dapat dituliskan, seperti HTML, MS Word, MS Power Point, Adobe PDF, serta

XML sendiri. Penulis sendiri merekomendasikan, dalam pengembangannya nanti,

dosen menulis materi dalam format XML, karena dengan demikian maka materi ini

akan mudah dipertukarkan dan dimodifikasi. Khusus untuk materi yang ditulis dalam

format XML, penulis telah mempersiapkan fasilitas tambahan, yaitu stylesheet XSLT

untuk dokumen XML yang bersangkutan. Stylesheet XSLT ini dapat dipergunakan

dengan syarat dosen mengikuti struktur dokumen XML yang telah dipersiapkan

penulis, yaitu sebagai berikut:

<topik>
<judul> (Judul topik) </judul>
<penulis> (Nama Penulis) </penulis>
<body> (isi dari topik)
<sub> (judul sub bagian materi) </sub>
</body>
</topik>

Dalam elemen ‘body’, penulis telah mempersiapkan stylesheet XSLT untuk

menampilkan tabel, gambar, serta kata-kata yang penting dari materi. Untuk

menampilkan gambar, maka dosen harus menyusun struktur dokumen XML sebagai

berikut.

<gambar>
<url> (nama file gambar yang bersangkutan) </url>
<keterangan> (keterangan gambar) <keterangan>
</topik>

Sedangkan untuk menampilkan tabel, maka struktur dokumen XML yang harus

dibuat adalah sebagai berikut.

<tabel>
<baris>
<kolom> (teks) </kolom><kolom> (teks) </kolom> …dst
</baris>
<baris>
<kolom> (teks) </kolom><kolom> (teks) </kolom> …dst
</baris>
… dst
</tabel>

Sedangkan kata-kata yang dipandang penting oleh dosen dapat dicetak tebal dengan

memasukkan kata-kata yang penting tersebut dalam elemen ‘penting’ seperti contoh

berikut ini.

<body>
<penting> Satu-satunya vendor database di Indonesia </penting>
</body>

Stylesheet untuk memproses dokumen XML di atas adalah ‘topik.xsl’.

4.4.3 Kode-kode Penting dalam Aplikasi


Pada bagian ini dijelaskan beberapa bagian dari kode yang memegang

peranan penting dalam aplikasi, yaitu membuat servlet, menerima dan mengirimkan

input ke XSLT dari servlet tersebut, serta melaksanak query data dengan XSLT. Pada

bagian ini contoh diambil dari query data mata kuliah, dengan sumber data file

‘kuliah.xml’.

4.4.3.1 Membuat Servlet

Java merupakan bahasa yang dekat dengan internet. Maka banyak fitur Java

yang digunakan untuk mendukung aplikasi berbasis internet. Salah satunya adalah

servlet.

Untuk membuat sebuah servlet, Java menyediakan file Java Archive yaitu

‘servlet.jar’ dalam paket Java Development Kit nya. File ‘servlet.jar’ ini sebelumnya

harus disertakan dalam classpath. Pengesetan classpath telah dijelaskan dalam Bab

III di atas. Setelah itu, maka kita dapat meng-import class-class dalam paket

‘servlet.jar’ tersebut dalam program Java kita. Class-class yang diimport untuk

membuat sebuah servlet yang standar adalah class-class yang berada dalam direktori

javax\servlet dan javax\servlet\http. Sedangkan class-class yang diperlukan untuk

membuat sebuah aplikasi Java yang standar adalah class-class yang berada di dalam

direktori java\io dan java\lang.

Perintah untuk mengimport class-class tersebut adalah sebegai berikut.


import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.lang.*;

Perintah di atas kita letakkan di bagian paling atas dari listing program kita.

Setelahnya kita dapat memulai menuliskan kode Java untuk servlet.

4.4.3.2 Menerima dan Mengirimkan input ke XSLT

Setelah mengimport class-class di atas, maka kita perlu membuat sebuah

obyek untuk menerima data dari user. Di sini Java menyediakan sebuah metode yang

terdiri atas dua bagian, yaitu HttpServletRequest dan HttpServletResponse.

HttpServletRequest merupakan sebuah metode untuk menangkap input dari user.

Sedang HttpServletResponse merupakan tindakan yang dilakukan terhadap input

tersebut. Kode Java untuk bagian ini adalah sebagai berikut.

a. Deklarasi Obyek

HttpServletRequest diset ke dalam variabel ‘req’, dan HttpServletResponse

diset ke variabel ‘res’. Sehingga ketika kita ingin menangkap atau melakukan

tindakan terhadap input, kita cukup menuliskan ‘req’ atau ‘res’.

public void doGet (HttpServletRequest req, HttpServletResponse res)


throws ServletException, IOException

b. Menangkap input

Untuk menangkap input digunakan kode berikut.

String input, pilih, kode, nama, sks,t ujuan, jenis, semester, ktkunci;
input = req.getParameter("query");
pilih = req.getParameter("pilih");
Pada kode di atas, sebelumnya dideklarasikan string input, pilih, dan lain-lain.

Kemudian variabel string ‘input’ ini kita isi nilainya dengan variabel ‘query’

yang dikirimkan user. Begitu pula variabel string ‘pilih’ kita isi dengan

variabel ‘pilih’ yang dikrimkan user.

c. Mengirimkan input ke XSLT

Seperti dijelaskan di atas, metode untuk melakukan tindakan terhadap input

diset ke dalam variabel ‘res’. Bila respon kita adalah untuk mengirimkan

suatu teks, maka kita perlu memanggil metode Java yang lain yang berfungsi

untuk menuliskan teks. Di samping itu kita juga perlu menentukan jenis dari

respon tersebut, atau jenis dari teks yang kita outputkan. Kode dari bagian ini

adalah sebagai berikut.

res.setContentType("text/xml");
PrintWriter out = res.getWriter();

Menurut kode di atas, maka kita mengeset jenis output kita berbentuk

dokumen XML. Pada baris kedua kita melihat bahwa Java memanggil metode

untuk menuliskan teks, yaitu metode ‘getWriter’. Metode ini diset dalam

variabel out, jadi kita cukup menuliskan ‘out’ untuk membuat suatu teks.

Dalam hal ini penulis memilih membuat dokumen XML sebagai responnya

karena XSLT tidak mampu membaca variabel yang datang dari luar selain

dari dokumen XML. Kode untuk membuat dokumen XMLnya adalah sebagai

berikut.

tujuan = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http:// localhost: 8080/ skripsi/ xsl/ query.xsl \" type =
\"text/xsl\"?>");
out.println("<query><nilai>"+tujuan+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
Isi dari elemen-elemen yang dibuat oleh servlet di ataslah yang dapat

dikirimkan ke XSLT. Langkah berikutnya adalah query yang dilakukan oleh

XSLT, yang akan dijelaskan pada bagian berikut.

4.4.3.3 Query Data dengan XSLT

Dalam bagian di atas telah dijelaskan bahwa respon servlet terhadap input

adalah membuat dokumen XML. Dokumen XML ini ditransformasikan oleh XSLT

yang dideklarasikan dalam dokumen XMLnya.

Misalkan kita anggap respon di atas sebagai sebuah file dokumen XML

sebagai berikut.

<?xml version=”1.0” encoding=”UTF-8”?>


<?xml-stylesheet href=”http://localhost:8080/skripsi/xsl/query.xsl”/?>
<query>
<nilai> internet </nilai>
<tipe> tujuan </tipe>
</query>

XSLT kemudian mengambil nilai dari elemen-elemen di atas untuk kemudian

diset dalam suatu variabel. Kodenya adalah sebagai berikut.

<xsl:variable name="n_lokal">
<xsl:value-of select="query/nilai"/>
</xsl:variable>
<xsl:variable name="tipe">
<xsl:value-of select="query/tipe"/>
</xsl:variable>

Setelah itu XSLT memanggil sumber data, yaitu dokumen ‘kuliah.xml’, yang

kemudian diset dalam variabel ‘remote’. Kodenya adalah sebagai berikut.

<xsl:variable name="remote" select=" document ('http: //localhost / skripsi / kuliah.xml')/kuliah"/>


Kemudian, sebelum XSLT mulai membandingkan isi variabel ‘n_lokal’ yang

menampung query dari user, XSLT mengubah query tersebut menjadi uppercase, atau

huruf besar semua. Hal ini perlu dilakukan karena lingkungan XSLT merupakan

lingkungan yang case sensitive. Jadi string ‘kuliah’ tidak sama dengan string ‘Kuliah’

atau ‘KULIAH’. Demikian pula isi elemen ‘tujuan’ dari dokumen sumber data harus

diubah manjadi uppercase semua. Proses perubahan case ini dilakukan dengan

perintah sebagai berikut.

a. Mengubah isi elemen ‘tujuan’ dokumen sumber. Sebelumnya isi elemen ini

diset ke variabel ‘isi’.

<xsl:variable name="isi"><xsl:value-of select="tujuan"/>


</xsl:variable>
<xsl:variable name="upperisi"
select="translate($isi,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>

b. Mengubah case variabel ‘n_lokal”

<xsl:variable name="uppertujuan"
select="translate($n_lokal,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>

Setelah semua string yang akan dibandingkan diubah menjadi uppercase,

maka proses perbandingan siap dilakukan. Prosesnya dilakukan dengan kode sebagai

berikut.

<xsl:when test="contains($upperisi,$uppertujuan)">
………menampilkan data-data yang sesuai
</xsl:when>
Fungsi ‘contains’ di atas membandingkan apakah isi variabel ‘upperisi’

mengandung isi variabel ‘uppertujuan’. Bila ya, maka data-data yang sesuai akan

ditampilkan. Bila tidak, maka elemen ‘xsl:when’ ini diabaikan.

Demikian pembahasan kode-kode yang penting dari aplikasi ini, yang

dipandang cukup oleh penulis dalam menjelaskan secara garis besar algoritma yang

digunakan penulis untuk membuat aplikasi ini. Keterangan mengenai bagian lain dari

kode-kode yang digunakan dapat dilihat pada bagian Lampiran

4.5 Hasil Tampilan

Hasil tampilan dari aplikasi ini dapat dilihat pada bagian Lampiran.

4.6 Kelebihan dan Kekurangan Sistem

Bahasa XML dapat dengan mudah diproses, dipertukarkan, dan ditampilkan

oleh komputer. Bahasa XML juga sederhana, mudah dibaca dan dipelajari 14. Tool-

tool yang berkaitan dengan XMLpun mudah didapat, banyak yang gratis, dengan

dukungan yang luas dari berbagai vendor di seluruh dunia, termasuk didukung oleh

W3C.

Karena aplikasi ini bersifat penelitian, maka tentu masih banyak kekurangan

yang ada di dalamnya. Salah satunya yang paling menonjol adalah banyaknya

redundansi data pada sumber-sumber data XML yang ada, sehingga menyulitkan

proses pengembangan lebih lanjut, bila hanya mengandalkan struktur data pada

skripsi ini. Sehingga, untuk data-data dengan relasi kompleks dan dengan ukuran

yang besar, maka penerapan filesystems XML tidak tepat dan tidak efektif.
Namun, ini tidak mengurangi aspek scalability yang ingin ditunjukkan penulis

pada implementasi pembuatan situs berbasis XML. Dapat dilihat pada bagian-bagian

sebelumnya bahwa dibandingkan dengan HTML, XML unggul karena ia dapat

memisahkan content dan style dari suatu halaman web, sehingga memudahkan

pengembangan situs lebih lanjut. Kekurangan dari aspek redundansi data dapat

diatasi dengan menerapkan XML Database atau Sistem Konversi seperti yang telah

dijelaskan pada Bab II. Kekurangan lainnya adalah belum adanya fasilitas untuk

memodifikasi data secara otomatis. Modifikasi data harus dilakukan secara manual

dengan memodifikasi langsung dokumen-dokumen XMLnya.

Sedangkan kelebihan utama dari aplikasi ini adalah query data dilakukan

secara client side, di komputer client, sehingga tidak memberatkan kerja server,

dengan syarat user menggunakan browser-browser yang mendukung teknologi XML

dan XSLT. Proses ini sangat bermanfaat dalam suatu sistem data publishing berskala

besar. Bayangkan bila sistem menggunakan sebuah RDBMS yang dalam waktu yang

bersamaan diakses oleh ribuan user. Untuk dengan baik dapat melayani request-

request dari user tersebut sistem harus memiliki hardware yang sangat tangguh, yang

sering memakan biaya yang amat mahal. XML dan XSLT dapat membantu kinerja

server dengan cara melakukan query di client, dengan terlebih dahulu mendownload

file-file yang ingin diquerykan. Perbedaan proses query ini dapat dijelaskan pada

Gambar 4.5 berikut.

CLIENT SERVER
request
BROWSER SERVLET

display
respond
PARSER
Data
QUERY
XML XSLT
Data download
XML XSLT

Gambar 4.5 Proses query yang dilakukan secara client side


BAB V

KESIMPULAN DAN SARAN

Dari proses penelitian, perancangan, serta implementasi dari sistem dalam

skripsi ini, maka penulis membuat beberapa kesimpulan dan saran sebagai berikut.

5.1 Kesimpulan

1. Penyimpanan data dalam bentuk filesystems XML tepat dan praktis

digunakan untuk data-data yang tidak terlalu kompleks relasinya, dan tidak

terlalu besar ukurannya.

2. Aplikasi dalam skripsi ini memiliki keunggulan utama yaitu query data

dilakukan di sisi client, sehingga tidak memberatkan kerja server, dengan

catatan sumber data harus dirancang seefisien mungkin.

3. XML mampu mendukung terciptanya suatu gudang data yang lengkap untuk

suatu sistem, karena XML mampu melakukan pertukaran data dari berbagai

platform, baik hardware maupun software. Dengan demikian Sistem Distance

Learning yang dikembangkan dengan XML akan mampu menghadirkan

informasi yang lengkap bagi para siswanya, misalnya referensi-referensi

materi yang diperoleh melalui pertukaran data dari berbagai sumber.

4. Sistem Pencarian Data dengan menampilkan kata kunci-kata kunci dari data

yang ingin dicari memudahkan user untuk mencari data.


5. Kombinasi antara XML dan XSLT mampu menghasilkan tampilan halaman

web yang baik. Semua yang dapat dilakukan oleh HTML dapat dilakukan

oleh XML dibantu dengan XSLT.

5.2. Saran

1. Agar aplikasi ini dapat diterapkan pada Sistem Distance Learning yang

sesungguhnya maka perlu dibuat salah satu dari dua cara untuk mengatasi

kelemahan aplikasi dari segi redundansi data : implementasi Database XML

atau Sistem Konversi dari DBMS ke XML

2. Perlu dibuat suatu fasilitas modifikasi data secara otomatis untuk

memudahkan operator sistem. Fasilitas modifikasi data ini dapat tersambung

ke DBMS untuk penerapan Sistem Konversi atau langsung ke Database XML.

3. Skripsi ini perlu dikembangkan lebih lanjut demi kepentingan kepekaan

Jurusan Teknik Elektro UGM terhadap perkembangan teknologi yang sedang

berlangsung, khususnya dalam bidang pengembangan aplikasi berbasis

internet. Selain itu, dengan menerapkan dan mengembangkan aplikasi

berbasis XML maka kita telah bergabung dalam jutaan pengembang lainnya

di seluruh dunia dalam misi mewujudkan suatu sistem yang universal, non

vendor specific, diterima dalam berbagai platform, di era pertukaran informasi

yang tanpa batas.


DAFTAR PUSTAKA

1. http://www.xml.com/pub/a/2000/07/26/xslt/xsltstyle.html

2. Quin, Liam, Open Source Database Toolkit: Resource and Techniques for

Improved Development, Wiley Computer Publishing, 2000, halaman 1-34

3. http://www.malt.com/index.cfm?fuseaction=articles.article1

4. Piez, Wendel , Converting HTML to XML,http://www.idealliance.org/

papers/xml2001/papers/html/03-03-05.html

5. http://www.extropia.com/tutorials/xml/history.html

6. Roger L. Costello, XML Technologies Course, http://www.xfront.com/xml-

schema.html, 2000

7. http://www.textuality.com/px/talk/show/s-22.html

8. XML By Example

9. http://msdn.microsoft.com/webservices/building/xmldevelopment/msxml/def

ault.aspx?pull=/library/en-us/dnmsxml/html/xmlparser.asp

10. http://www.xmlsoftware.com/browsers.html

11. http://www.w3.org/TR/xslt

12. http:www.w3.org/TR/xslt20

13. Deitel, H.M dan Deitel, P.J, Java How To Program, Prentice Hall, 1998

14. Myers, Tom dan Nakhimovsky, Alexander, Professional Java XML

Programming with Servlets and JSP, Wrox Press, 1999, halaman 1-319
LAMPIRAN

Lampiran 1 : Hasil Tampilan

1. Halaman index_cari

Halaman ini menampilkan keseluruhan fasilitas pada sistem. Juga terdapat

penjelasan mengenai fasilitas tersebut, serta tips-tips yang memudahkan user

dalam menggunakan aplikasi ini.


2. Halaman kuliah.xml

Halaman ini dapat diakses dengan mengklik link Index Mata Kuliah pada

index_cari.htm atau pada link Mata Kuliah pada halaman-halaman yang lain.

Halaman kuliah.xml
3. Halaman modul.xml

Halaman ini dapat diakses dengan mengklik link Index Modul pada

index_cari.htm atau pada link Modul pada halaman-halaman yang lain.

Halaman modul.xml
4. Halaman topik dari modul Asas Teknologi Informasi untuk mata kuliah

Teknologi Informasi

Halaman ini dapat diakses dengan mengklik link pada modul yang bersangkutan.

Untuk halaman-halaman XML lainnya dari topik tidak ditampilkan karena dapat

diwakili oleh tampilan berikut.

Halaman topik-topik dari modul ‘Asas Teknologi Informasi’


5. Halaman query.htm

Halaman ini dapat diakses dengan mengklik link Search Centre pada

index_cari.htm atau link Search untuk halaman-halaman yang lain.

Halaman query.htm
6. Halaman utama.htm

Halaman ini dapat diakses dengan mengklik link Index Kata Kunci pada

index_cari dan halaman-halaman yang lain.

Halaman utama..htm
Halaman utama..htm pada query kata kunci ‘Computer-Aided
Software Engineering
Halaman utama.htm pada menu penampilan isi materi menurut
topiknya. Tampilan ini terjadi setelah user mengklik topik berdasar
kata kunci yang bersangkutan
Halaman utama.htm pada menu penampilan isi materi yang berformat
XML.
Lampiran 1 : Kode Program

File ‘index_cari.htm’

<html>
<head>
<title>Index Pencarian Data</title>
<script language="JavaScript">
<!--
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

function MM_findObj(n, d) { //v4.0


var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0


var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>

<body bgcolor="#CCCC99" text="#000000" leftmargin="0" topmargin="0" marginwidth="0"


marginheight="0">
<table width="966" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="137">&nbsp;</td>
<td width="685">
<table width="300" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right" width="81%"><img src="images/home_01.jpg" width=385 height=106></td>
<td align="left" width="19%"><img src="images/home_02.jpg" width=301 height=106></td>
</tr>
<tr>
<td width="81%"><img src="images/home_03.jpg" width=385 height=54></td>
<td width="19%" bgcolor="#FFFFFF" valign="top"><img src="images/home_04.jpg"
width=301 height=40></td>
</tr>
</table>
</td>
<td width="144">&nbsp;</td>
</tr>
<tr>
<td width="137">&nbsp;</td>
<td width="685" bgcolor="#336699">&nbsp;</td>
<td width="144">&nbsp;</td>
</tr>
<tr>
<td width="137" height="217">&nbsp;</td>
<td width="685" height="217">
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr bgcolor="#CC9999">
<td width="28%">
<div align="center"><font face="Verdana" size="2"><u>Fasilitas</u></font></div>
</td>
<td width="61%">
<div align="center"><font face="Verdana" size="2"><u>Keterangan</u></font></div>
</td>
<td width="11%">
<div align="center"><font face="Verdana" size="2"><u>Tips</u></font></div>
</td>
</tr>
<tr>
<td width="28%" bgcolor="#669999" height="65"><font face="Verdana" size="2"><a
href="kuliah.xml"><font color="#FFFFFF">Index
Mata Kuliah </font></a></font></td>
<td width="61%" height="65"><font face="Verdana" size="2">Menampilkan
seluruh mata kuliah yang diselenggarakan <br>
MTI</font></td>
<td width="11%" height="65">&nbsp;</td>
</tr>
<tr>
<td width="28%" bgcolor="#336699" height="86"><font face="Verdana" size="2"><a
href="modul.xml"><font color="#FFFFFF">Index
Modul</font></a></font></td>
<td width="61%" height="86"><font face="Verdana" size="2">Menampilkan
seluruh modul yang ada dalam database MTI</font></td>
<td width="11%" height="86">&nbsp;</td>
</tr>
<tr>
<td width="28%" bgcolor="#336699" height="73"><font face="Verdana" size="2"><a
href="query.htm"><font color="#FFFFFF">Search
Centre</font></a></font></td>
<td width="61%" height="73"><font face="Verdana" size="2">Merupakan
fasilitas untuk mencari mata kuliah, dan topik sesuai dengan query
yang anda masukkan</font></td>
<td width="11%" height="73">
<div align="center"><font face="Verdana" size="1" color="#336699"><b><a href="#"
onClick="MM_showHideLayers('tips1','','show','tips2','','hide')">klik
di sini</a></b></font></div>
</td>
</tr>
<tr>
<td width="28%" bgcolor="#669999" height="84"><font face="Verdana" size="2"><a
href="utama.htm"><font color="#FFFFFF">Index
kata kunci </font></a></font></td>
<td width="61%" height="84"><font face="Verdana" size="2">Menampilkan
seluruh kata kunci yang berkaitan dengan topik yang anda cari</font></td>
<td width="11%" height="84">
<div align="center"><font face="Verdana" size="1" color="#336699"><b><a href="#"
onClick="MM_showHideLayers('tips1','','hide','tips2','','show')">klik
di sini</a></b></font></div>
</td>
</tr>
</table>
</td>
<td width="144" height="217">&nbsp;</td>
</tr>
<tr>
<td width="137" height="46">&nbsp;</td>
<td width="685" height="46">
<div align="center">&copy; <font face="Verdana" size="2">Aditya BS Siregar<br>
Team Distance Learning MTI 2002</font> </div>
</td>
<td width="144" height="46">&nbsp;</td>
</tr>
</table>
<p><font face="Verdana" size="2" color="#000000"><u><b><br>
<br>
</b></u></font> </p>
<div id="tips1" style="position:absolute; width:165px; height:209px; z-index:1; left: 822px; top:
264px; visibility: hidden; background-color: #CC9999; layer-background-color: #CC9999; border: 1px
none #000000"><font face="Verdana" size="2">Masukkan
query yang dikehendaki melalui jenis-jenis query yang tersedia. Untuk query
tujuan, kata kunci, dan modul anda dapat memasukkan sendiri di field yang telah
disediakan. Masukkan satu kata untuk mendapatkan hasil yang lebih banyak. <a href="#"
onClick="MM_showHideLayers('tips1','','hide')">[close]</a></font></div>
<div id="tips2" style="position:absolute; width:172px; height:213px; z-index:2; left: 821px; top:
263px; visibility: hidden; background-color: #CC9999; layer-background-color: #CC9999; border: 1px
none #000000"><font face="Verdana" size="2">Di
sini anda dapat melihat kata-kata kunci apa saja yang ada dalam topik-topik
mata kuliah di MTI. Pilih salah satu kata kunci tersebut untuk melihat modul-modul
yang mengandung kata kunci yang dikehendaki. Kemudian klik pada topik hasil
query anda untuk melihat isi topik yang bersangkutan<a href="#"
onClick="MM_showHideLayers('tips2','','hide')">[close]</a></font></div>
<p>&nbsp;</p>
</body>
</html>

File ‘mainktk.htm’

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#669999" text="#000000" leftmargin="0" topmargin="0" marginwidth="0"


marginheight="0">
<table width="90%" border="0" cellspacing="0" cellpadding="0" height="486">
<tr>
<td width="24%" height="106">&nbsp;</td>
<td width="55%" height="106">&nbsp;</td>
<td width="21%" height="106">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#669999" width="24%" height="83">
<p><font color="#669999"></font></p>
</td>
<td bgcolor="#9999CC" width="55%" height="83" valign="bottom"><img
src="images/home_02.jpg" width=301 height=106></td>
<td bgcolor="#669999" width="21%" height="83">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#669999" width="24%" height="111">
<p><font color="#669999"></font></p>
</td>
<td bgcolor="#9999BB" width="55%" height="111">
<p><font face="Verdana" size="2" color="#FFFFFF">Silahkan mencari modul
yang dikehendaki menurut kata kunci</font></p>
<p><font color="#FFFFFF">&copy; <font face="Verdana">Aditya BS Siregar</font><br>
<font face="Verdana">Team Distance Learning Project 2002</font></font>
</p>
</td>
<td bgcolor="#669999" width="21%" height="111">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#669999" width="24%" height="2"><font color="#669999"></font></td>
<td bgcolor="#9999BB" width="55%" height="2"><img src="images/home_04.jpg" width=301
height=40></td>
<td bgcolor="#669999" width="21%" height="2">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#669999" width="24%">
<p><font color="#669999"></font></p>
</td>
<td bgcolor="#669999" width="55%">&nbsp;</td>
<td bgcolor="#669999" width="21%">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>

File ‘query.htm’

<html>
<head>
<title>Form Query</title>
<script language="JavaScript">
<!--

<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
//-->
</script>
</head>

<body bgcolor="#CCCC99" text="#000000" leftmargin="2" topmargin="0" marginwidth="0"


marginheight="0">
<table width="1000" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right" width="88%"><img src="images/home_01.jpg" width=385 height=106></td>
<td align="left" width="12%"><img src="images/home_02.jpg" width=301 height=106></td>
</tr>
<tr>
<td width="88%"><img src="images/home_03.jpg" width=385 height=54></td>
<td width="12%" valign="top"><img src="images/home_04.jpg" width=301 height=40></td>
</tr>
</table>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="FFFF80">
<td width="18%">
<div align="center"><font size="2" face="Verdana"><a
href="index_cari.htm">HOME</a></font></div>
</td>
<td width="20%">
<div align="center"><font size="2" face="Verdana"><a href="kuliah.xml">Mata
Kuliah </a></font></div>
</td>
<td width="13%">
<div align="center"><font size="2" face="Verdana"><a
href="modul.xml">Modul</a></font></div>
</td>
<td width="14%">
<div align="center"><font size="2" face="Verdana">Search</font></div>
</td>
<td width="22%">
<div align="center"><font size="2" face="Verdana"><a href="utama.htm">Index
Kata kunci</a></font></div>
</td>
</tr>
</table>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">&nbsp;</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<div align="center"><font size="2" face="Verdana"><b><font size="4">Pencarian
Mata Kuliah</font></b></font></div>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<table width="100%" border="1" bgcolor="#669999">
<tr>
<td>
<form name="querymk" method="post" action="http://localhost:8080/skripsi/servlet/Cipta">
<p><font size="2" face="Verdana"> Pilih query berdasar :
<select name="pilih">
<option value="kode" selected>Kode/Nama Mata Kuliah</option>
</select>
<br>
<br>
Pilih mata Kuliah: <br>
<br>
<select name="query" size="1">
<option value="mti 611" selected>MTI 611- Teknologi Informasi</option>
<option value="mti 612">MTI 612- Sistem Informatika</option>
<option value="mti 613">MTI 613- Ekonomi dan Bisnis Informasi</option>
<option value="mti 614">MTI 614- Pengolahan dan Analisis Data</option>
<option value="mti 621">MTI 621- Rekayasa Sistem Informasi</option>
<option value="mti 622">MTI 622- Sistem Basis data</option>
<option value="mti 623">MTI 623- Perilaku Organisasional</option>
<option value="mti 624">MTI 624- Teknologi Informasi dan Masyarakat</option>
<option value="mti 631">MTI 631- Pengambilan Keputusan dengan
Dukungan Komputer</option>
<option value="mti 699">MTI 699- Thesis</option>
<option value="mti 651">MTI 651- Manajemen Data</option>
<option value="mti 652">MTI 652- Jaringan Informasi</option>
<option value="mti 653">MTI 653- Riset Operasi</option>
<option value="mti 654">MTI 654- Aplikasi-Aplikasi Kontemporer
Berbasis Teknologi Informasi</option>
<option value="mti 655">MTI 655- Interaksi Manusia dan Sistem
Komputer</option>
<option value="mti 659">MTI 659- Topik-topik Khusus</option>
</select>
<input type="submit" name="submit2" value="kirim">
</font></p>
</form>
</td>
</tr>
</table>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="52%" bgcolor="#669999">
<form name="querymk2" method="post" action="http://localhost:8080/skripsi/servlet/Cipta">
<p><font size="2" face="Verdana"> Pilih query berdasar :
<select name="pilih">
<option value="sks" selected>SKS</option>
</select>
<br>
<br>
</font><font size="2" face="Verdana">Isikan jumlah SKS :
<select name="query">
<option value="2">2</option>
<option value="3">3</option>
<option value="6">6</option>
</select>
<input type="submit" name="submit3" value="kirim">
</font></p>
</form>
</td>
<td width="48%" valign="top" bgcolor="#CCCCCC">
<form name="querymk" method="post" action="http://localhost:8080/skripsi/servlet/Cipta">
<p><font size="2" face="Verdana"> Pilih query berdasar :
<select name="pilih">
<option value="semester" selected>Semester</option>
</select>
<br>
<br>
</font><font size="2" face="Verdana">Isikan semester :
<select name="query">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="submit" name="submit3" value="kirim">
</font></p>
</form>
</td>
</tr>
<tr valign="top">
<td width="52%" bgcolor="#669999">
<form name="querymk3" method="post" action="http://localhost:8080/skripsi/servlet/Cipta">
<p><font size="2" face="Verdana"> Pilih query berdasar :
<select name="pilih">
<option value="jenis" selected>Jenis</option>
</select>
<br>
<br>
</font><font size="2" face="Verdana">Isikan jenis Kuliah:
<select name="query">
<option value="Wajib" selected>Wajib</option>
<option value="Pilihan">Pilihan</option>
</select>
<input type="submit" name="submit3" value="kirim">
</font></p>
</form>
</td>
<td width="48%" bgcolor="#CCCCCC">
<form name="querymk" method="post" action="http://localhost:8080/skripsi/servlet/Cipta">
<p><font size="2" face="Verdana"> Pilih query berdasar :
<select name="pilih">
<option selected>Pilih Jenis Query</option>
<option value="tujuan">Tujuan</option>
<option value="ktkunci">Kata Kunci</option>
</select>
</font></p>
<p><font size="2" face="Verdana">Isikan kata query :
<input type="text" name="query">
<input type="submit" name="submit3" value="kirim">
</font></p>
</form>
</td>
</tr>
</table>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">&nbsp;</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<div align="center"><font size="2" face="Verdana"><b><font size="4">Pencarian
Topik </font></b></font> </div>
</td>
<td width="155">&nbsp;</td>
</tr>
<tr>
<td width="160">&nbsp;</td>
<td width="685">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#669975">
<form name="querymdl" method="post"
action="http://localhost:8080/skripsi/servlet/Ciptatpk">
<p><font size="2" face="Verdana"> Masukkan query anda :
<input type="text" name="query">
<input type="submit" name="submit" value="Kirim">
</font></p>
</form>
<p>&nbsp;</p>
</td>
</tr>
</table>
</td>
<td width="155">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<p><font size="2" face="Verdana"><b></b></font></p>
</html>

File ‘utama.htm’

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset cols="179,*" frameborder="YES" border="0" framespacing="0" rows="*"
bordercolor="#0000CC">
<frame name="leftFrame" scrolling="YES" noresize src="topik.xml">
<frame name="mainFrame" src="mainktk.htm">
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>

File ‘kuliah.xml’

<?xml version="1.0" encoding="UTF-8"?>


<?xml-stylesheet href="xsl/kuliah.xsl" type="text/xsl"?>
<kuliah>

<mk kodemk="MTI 611">


<nama>Teknologi Informasi</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Teknologi informasi ditinjau dari segi perangkat keras dan perangkat lunak komputer.
Arsitektur teknologi informasi. Teknologi middleware. Faktor kehandalan, skalabilitas, dan keamanan.
Implementasi proses-proses bisnis.</tujuan>
<ktkunci>hardware software bisnis arsitektur middleware kehandalan</ktkunci>
</mk>
<mk kodemk="MTI 612">
<nama>Sistem Informatika</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Sistem informatika sebagai himpunan manusia, mesin dan prosedur,
serta pelembagaannya dalam masyarakat. Ragam dan arsitektur sistem informatika. Strategi dan politik
informasi. Perilaku dan budaya informasi. Proses pengelolaan informasi untuk berbagai keperluan.
</tujuan>
<ktkunci>software</ktkunci>
</mk>
<mk kodemk="MTI 613">
<nama>Ekonomi dan Bisnis Informasi</nama>
<sks>2</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Bisnis sebagai suatu sistem yang memanfaatkan teknologi informasi.
Ekonomi informasi. Teknologi informasi dan keuntungan strategis. Formulasi strategi teknologi dan
manajemen informasi. Sistem informasi dalam bisnis.
</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 614">
<nama>Pengolahan dan Analisis Data</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>1</semester>
<tujuan>Analisis informasi dalam data. Ragam pengolahan data statistik univariat dan multivariat.
Kajian terperinci atas tool(s) yang digunakan.
Studi kasus dengan bantuan piranti lunak statistis.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 621">
<nama>Rekayasa Sistem Informasi</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>2</semester>
<tujuan>Asas-asas kerekayasaan. Rekayasa komponen-komponen sistem informasi. Berbagai
pendekatan dalam proses rekayasa.
Optimasi unjuk kerja sistem informatik. Studi kasus.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 622">
<nama>Sistem Basis Data</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>2</semester>
<tujuan>Pemodelan data. Model E-R dan relasional. Perancangan basis data: proses normalisasi.
Bahasa SQL. Pengenalan basis data terdistribusi.
Studi kasus dengan bantuan paket DBMS yang disediakan.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 623">
<nama>Perilaku Organisasional</nama>
<sks>2</sks>
<jenis>Wajib</jenis>
<semester>2</semester>
<tujuan>Pengenalan terhadap perilaku manajemen. Individu: kemampuan, sikap, dan kepuasan kerja,
motivasi. Kelompok: perilaku kelompok, komunikasi, pengambilan dan keputusan kelompok. Sistem
organisasi: struktur, sumber daya manusia, tekanan kerja. Dinamika organisasi: Perubahan dan
perkembangan organisasi, resistansi untuk berubah, masalah implementasi.
</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 624">
<nama>Teknologi Informasi dan Masyarakat</nama>
<sks>2</sks>
<jenis>Wajib</jenis>
<semester>2</semester>
<tujuan>Hubungan antara kebutuhan dasar manusia, kelembagaan sosial dan teknologi. Dimensi etika
dan moral yang timbul dalam penerapan teknologi informasi dalam lingkungan kerja dan masyarakat.
Teknologi informasi sebagai komponen penting
dalam masyarakat madani modern. Tanggung jawab profesi.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 631">
<nama>Pengambilan Keputusan Dengan Dukungan Komputer</nama>
<sks>3</sks>
<jenis>Wajib</jenis>
<semester>3</semester>
<tujuan>Informasi dan keputusan. Ragam keputusan. Tahap-tahap pengambilan keputusan. Tool(s)
untuk pengambilan keputusan. Dukungan komputer dalam pengambilan keputusan.
Studi kasus dengan bantuan paket-paket yang telah tersedia.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 699">
<nama>Thesis</nama>
<sks>6</sks>
<jenis>Wajib</jenis>
<semester>4</semester>
<tujuan>Penelitian dan atau pengkajian kasus tentang permasalahan yang ada kaitannya dengan
kegiatan pengelolaan teknologi informasi, baik pada tingkat manajerial, perancangan maupun
implementasinya.
Pengungkapan alternatif penyelesaian pada kasus implementasi teknologi informasi di lingkungan
kerja (perusahaan, instansi pemerintah, lembaga perencanaan, dan lain-lain) merupakan porsi utama
dari topik penelitian.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 651">
<nama>Manajemen Data</nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Ragam data. Penyimpanan, organisasi dan manipulasi data. Penggalian data dalam sebuah
sistem basis data. Gudang data.
Integrasi informasi dari berbagai sumber. Studi kasus.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 652">
<nama>Jaringan Informasi</nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Konsep jaringan komputer. Sistem komputer terdistribusi. Internet, protokol akses, dan
berbagai aplikasinya. Aspek interoperabilitas. WWW sebagai sumber dan gudang informasi. Teknik
representasi informasi.Penggalian berbagai ragam informasi. Aspek keamanan jaringan.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 653">
<nama>Riset Operasi</nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Pemodelan. Teori antrian. Optimisasi: model linear dan non-linear.
Tools yang digunakan. Studi kasus</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 654">
<nama>Aplikasi-Aplikasi Kontemporer Berbasis Teknologi Informasi</nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Paradigma baru berbasis informasi. Layanan (service) sebagai komoditi. Ekonomi pelanggan
(customer economy). Model B2B dan B2C. Internet sebagai lingkungan komputasi.
Berbagai aplikasi: e-commerce, e-learning, e-banking, e-government, dan lain-lain. Aspek-aspek
implementasi.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 655">
<nama>Interaksi Manusia Dan Sistem Komputer</nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Konsep interaksi manusia dan komputer. Model-model interaksi. Antarmuka manusia dan
komputer. Perancangan antar muka.
Multimedia. Penggunaan tools untuk merancang dan mengimplementasikan antarmuka manusia dan
komputer.</tujuan>
<ktkunci></ktkunci>
</mk>
<mk kodemk="MTI 659">
<nama>Topik-Topik Khusus </nama>
<sks>3</sks>
<jenis>Pilihan</jenis>
<tujuan>Pembahasan tentang implementasi teknologi informasi dalam bidang-bidang tertentu.
Isu-isu ekonomi, sosial, dan budaya sebagai ekses dari penerapan teknologi informasi. Trend teknologi
informasi dan pengaruhnya terhadap lingkungannya. Beberapa contoh bidang bahasan di antaranya:
a) Teknologi informasi dalam pelayanan publik
b) Teknologi informasi dalam proses produksi
c) Teknologi informasi dalam perencanaan daerah
d) Teknologi informasi dalam pengelolaan lingkungan</tujuan>
<ktkunci></ktkunci>
</mk>

</kuliah>
File ‘modul.xml’

<?xml version="1.0" encoding="UTF-8"?>


<?xml-stylesheet href="xsl/modul.xsl" type="text/xsl"?>
<top>
<modul kodemdl="M 611-1" minggu="1" mk="Teknologi Informasi">
<nama>Asas Teknologi Informasi</nama>
<tujuan>Memberikan pemahaman dasar mengenai konsep TI, implementasinya,
tool-tool yang digunakan, serta keuntungan-keuntungannya</tujuan>
<sumber tipe="Buku">
<judul>Information Technology, Tomorrows advantage today</judul>
<pengarang>Stephen Haag</pengarang>
<penerbit>McGraw-Hill</penerbit>
<tahun>1996</tahun>
</sumber>
</modul>
<modul kodemdl="M 611-2" minggu="1" mk="Teknologi Informasi">
<nama>Perangkat Lunak</nama>
<tujuan>Memberikan pemahaman mengenai fungsi, kedudukan dan peranan perangkat
lunak dalam sistem TI</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 611-3" minggu="2" mk="Teknologi Informasi">
<nama>Input Output</nama>
<tujuan>Memberikan gambaran umum aliran sistem komputer yang terdiri
atas input-processing-output</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 611-4" minggu="3,4,5,6" mk="Teknologi Informasi">
<nama>Memori dan Piranti Penyimpan</nama>
<tujuan>Memberikan gambaran tentang fungsi dan cara kerja memori dan
piranti penyimpan dalam sistem informasi</tujuan>
<sumber tipe="">
</sumber>
<url>http://localhost/skripsi/topik/topik611.xml</url>
</modul>
<modul kodemdl="M 611-5" minggu="7" mk="Teknologi Informasi">
<nama>Database</nama>
<tujuan>Memberikan gambaran tentang pentingnya penyimpanan data dilihat
dari aspek logicnya </tujuan>
<sumber tipe="">
</sumber>
<url>http://localhost/skripsi/topik/topik611.xml</url>
</modul>
<modul kodemdl="M 611-6" minggu="8,9" mk="Teknologi Informasi">
<nama>Communication and Connectivity</nama>
<tujuan>Memberikan pemahaman tentang konsep jaringan dan implementasinya
dalam teknologi informasi.</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 611-7" minggu="10" mk="Teknologi Informasi">
<nama>Information Technology in Business</nama>
<tujuan>Menjelaskan implementasi IT dalam bisnis sebagai business tool, dan
bukan semata sebagai technology tool</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 611-8" minggu="11" mk="Teknologi Informasi">
<nama>Transaction Processing System</nama>
<tujuan>Memberikan gambaran tentang implementasi TI dalam manajemen bisnis</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 611-9" minggu="12" mk="Teknologi Informasi">
<nama>Reaching The World Through IT</nama>
<tujuan>Memberikan gambaran tentang bagaimana kita dapat saling berbagi informasi
dengan berbagai macam budaya dan pengetahuan di seluruh dunia menggunakan TI</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-1" minggu="1,2" mk="Sistem Informatika">
<nama>Gambaran Umum Sistem Informasi dan Teknologi Informasi</nama>
<tujuan>Memberikan gambaran umum tentang sistem informasi,
mencakup definisi, contoh, sifat, kemampuan, model, dan lain-lain</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-2" minggu="3,4" mk="Sistem Informatika">
<nama>Konsep Dasar Sistem Informasi</nama>
<tujuan>Menjelaskan konsep-konsep, istilah-istilah, serta peranan dasar
informasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-3" minggu="5,6" mk="Sistem Informatika">
<nama>Komponen Sistem Informasi</nama>
<tujuan>Menjelaskan komponen-komponen dan Arsitektur Sistem Informasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-4" minggu="7,8" mk="Sistem Informatika">
<nama>Ragam Sistem Informasi</nama>
<tujuan>Menjelaskan jenis-jenis Sistem Informasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-5" minggu="9" mk="Sistem Informatika">
<nama>Pengembangan Sistem Informasi</nama>
<tujuan>Membahas cara-cara dan tahapan pengembagan Sistem Informasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 612-6" minggu="10,11" mk="Sistem Informatika">
<nama>Pengadaan Sistem Informasi</nama>
<tujuan>Membahas cara-cara untuk menerapkan Sistem Informasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 621-1" minggu="1" mk="Rekayasa Sistem Informasi">
<nama>Introduction</nama>
<tujuan>Membahas definisi Rekayasa Sistem Informasi dan keperluannya</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 621-2" minggu="2,3,4,5,6,7,8,9" mk="Rekayasa Sistem Informasi">
<nama>Assignment</nama>
<tujuan>Penugasan mahasiswa dalam hal-hal menyangkut Rekayasa SI</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 621-3" minggu="2,3" mk="Rekayasa Sistem Informasi">
<nama>Software Project Management</nama>
<tujuan>Menjelaskan urgensi memanage suatu proyek pembuatan software</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 621-4" minggu="4,5" mk="Rekayasa Sistem Informasi">
<nama>Object Oriented Development Process</nama>
<tujuan>Menjelaskan cara-cara mengembangkan suatu software yang ditulis dengan
bahasa Pemrograman Berorientasi Obyek</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-1" minggu="1,2" mk="Sistem Basis Data">
<nama>Introduction and E-R Model</nama>
<tujuan>Menjelaskan definisi-definisi dan istilah-istilah dasar dari Sistem Basis Data
serta Model E-R</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-2" minggu="3" mk="Sistem Basis Data">
<nama>Relational Model and SQL</nama>
<tujuan>Menjelaskan konsep pemodelan database secara relational dan contoh
query data menggunakan SQL (Structured Query Language)</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-3" minggu="4" mk="Sistem Basis Data">
<nama>Other Relational Language</nama>
<tujuan>Menjelaskan bahasa-bahasa query selain SQL</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-4" minggu="5,6" mk="Sistem Basis Data">
<nama>Integrity and Security</nama>
<tujuan>Menjelaskan syarat-syarat agar suatu database dapat dikatakan aman
dan terintegrasi dengan baik</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-5" minggu="7,8" mk="Sistem Basis Data">
<nama>Relational Database Design</nama>
<tujuan>Membahas perancangan suatu relational database</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-6" minggu="9,10" mk="Sistem Basis Data">
<nama>Object Oriented Database</nama>
<tujuan>Menjelaskan konsep dan penerapan database berorientasi objek, keunggulan
dan kelemahannya</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 622-7" minggu="11,12" mk="Sistem Basis Data">
<nama>Object Relational Database</nama>
<tujuan>Menjelaskan konsep dan penerapan database relational berorientasi objek, keunggulan
dan kelemahannya</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-1" minggu="1" mk="Perilaku Organisasional">
<nama>Pendahuluan</nama>
<tujuan>Penjelasan mata kuliah, silabus, penilaian, dan konsep dasar perilaku organisasional</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-2" minggu="2" mk="Perilaku Organisasional">
<nama>Organizational Culture</nama>
<tujuan>Membahas sifat, fungsi dan konsep dasar budaya organisasi dan pengaruhnya
terhadap performa organisasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-3" minggu="3,4" mk="Perilaku Organisasional">
<nama>Perbedaan Individu</nama>
<tujuan>Menjelaskan pengaruh perbedaan individu dalam perilaku organisasi. Bagaimana
kita memahami perbedaan yang ada untuk menciptakan sinergi yang baik</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-4" minggu="5,6" mk="Perilaku Organisasional">
<nama>Motivasi dan Reward</nama>
<tujuan>Menjelaskan fungsi dan peranan motivasi dan imbalan dalam peningkatan
performa seseorang</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-5" minggu="7,8" mk="Perilaku Organisasional">
<nama>Dinamika Kelompok, Pembentukan Tim, dan Leadership</nama>
<tujuan>Menjelaskan perilaku kelompok dan teamwork, perilaku antar kelompok,
negosiasi, pembentukan tim, serta membahas kepemimpinan yang baik</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-6" minggu="9,10" mk="Perilaku Organisasional">
<nama>Organization Structure</nama>
<tujuan>Menjelaskan fungsi dan peranan struktur organisasi</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 623-7" minggu="11,12" mk="Perilaku Organisasional">
<nama>Job Design, Komunikasi dan
Pengambilan Keputusan yang Efektif</nama>
<tujuan>Membahas pentingnya komunikasi dan pengambilan keputusan yang
efektif dalam organisasi dan cara-caranya, serta perencanaan suatu penugasan</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-1" minggu="1" mk="Teknologi Informasi dan Masyarakat">
<nama>Budaya</nama>
<tujuan>Menjelaskan konsep dasar dan komponen-komponen budaya</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-2" minggu="2,3" mk="Teknologi Informasi dan Masyarakat">
<nama>Emotional Intelligence</nama>
<tujuan>Menjelaskan komponen-komponen Emotional Quotient (EQ)</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-3" minggu="4" mk="Teknologi Informasi dan Masyarakat">
<nama>Manajemen Perubahan</nama>
<tujuan>Menjelaskan bagaimana kira tanggap dan responsif terhadap perubahab</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-4" minggu="5" mk="Teknologi Informasi dan Masyarakat">
<nama>Negosiasi</nama>
<tujuan>Menjelaskan konsep, urgensi, dan cara negosiasi yang baik</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-5" minggu="6" mk="Teknologi Informasi dan Masyarakat">
<nama>Power</nama>
<tujuan>Menjelaskan jenis dan konsep kekuasaan</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 624-7" minggu="7,8" mk="Teknologi Informasi dan Masyarakat">
<nama>Stratifikasi Sosial</nama>
<tujuan>Menjelaskan penyebab terjadinya stratifikasi sosial</tujuan>
<sumber tipe="">
</sumber>
<url>http://localhost/skripsi/topik/topik624.xml</url>
</modul>
<modul kodemdl="M 653-1" minggu="1,2,3" mk="Jaringan Informasi">
<nama>Model Referensi OSI</nama>
<tujuan>Menjelaskan tentang model jaringan referensi OSI</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 653-1" minggu="4,5" mk="Jaringan Informasi">
<nama>Topologi Jaringan</nama>
<tujuan>Menjelaskan tipe-tipe jaringan</tujuan>
<sumber tipe="">
</sumber>
</modul>
<modul kodemdl="M 653-1" minggu="6,7,8" mk="Jaringan Informasi">
<nama>Ethernet dan IEEE 802.3</nama>
<tujuan>Menjelaskan protokol ethernet dan IEEE 802.3</tujuan>
<sumber tipe="">
</sumber>
</modul>
</top>

File ‘topik.xml’

<?xml version="1.0" encoding="UTF-8"?>


<?xml-stylesheet href="xsl/topikktk.xsl" type="text/xsl"?>
<top>
<topik kodetpk="T 6111-01" minggu="1" mk="Teknologi Informasi">
<judul>Pendahuluan</judul>
<modul>Asas Teknologi Informasi</modul>
<ktkunci>keuntungan</ktkunci>
<ktkunci>asas teknologi informasi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="317KB">
http://localhost/skripsi/modul/611/Pendahuluan.ppt
</isi>
</topik>
<topik kodetpk="T 6111-02" minggu="1" mk="Teknologi Informasi">
<judul>Pendahuluan (2)</judul>
<modul>Asas Teknologi Informasi</modul>
<ktkunci>membangun sistem TI</ktkunci>
<ktkunci>sistem</ktkunci>
<ktkunci>TI</ktkunci>
<ktkunci>karir</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="367KB">
http://localhost/skripsi/modul/611/Pendahuluan2.ppt
</isi>
</topik>
<topik kodetpk="T 6111-03" minggu="1" mk="Teknologi Informasi">
<judul>Asas Teknologi Informasi</judul>
<modul>Asas Teknologi Informasi</modul>
<ktkunci>definisi informasi</ktkunci>
<ktkunci>teknologi informasi</ktkunci>
<ktkunci>piranti</ktkunci>
<ktkunci>piranti input output</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="xml" size="6KB">
http://localhost/skripsi/modul/611/asas.xml
</isi>
</topik>
<topik kodetpk="T 6112-01" minggu="1" mk="Teknologi Informasi">
<judul>Pendahuluan</judul>
<modul>Perangkat Lunak</modul>
<ktkunci>fungsi</ktkunci>
<ktkunci>kedudukan</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="xml" size="5KB">
http://localhost/skripsi/modul/611/perangkat_lunak.xml
</isi>
</topik>
<topik kodetpk="T 6112-02" minggu="1" mk="Teknologi Informasi">
<judul>Jenis-jenis Perangkat Lunak</judul>
<modul>Perangkat Lunak</modul>
<ktkunci>perangkat lunak</ktkunci>
<ktkunci>encarta</ktkunci>
<ktkunci>spreadsheet</ktkunci>
<ktkunci>word processing</ktkunci>
<ktkunci>graphics</ktkunci>
<ktkunci>video conferencing</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="xml" size="3KB">
http://localhost/skripsi/modul/611/Jenis.xml
</isi>
</topik>
<topik kodetpk="T 6112-03" minggu="1" mk="Teknologi Informasi">
<modul>Perangkat Lunak</modul>
<ktkunci>1st generation language</ktkunci>
<ktkunci>layer</ktkunci>
<ktkunci>application</ktkunci>
<ktkunci>education</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="948KB">
http://localhost/skripsi/modul/611/2-Software.ppt
</isi>
</topik>
<topik kodetpk="T 6113-01" minggu="2" mk="Teknologi Informasi">
<judul>Input Output</judul>
<modul>Input Output</modul>
<ktkunci>input</ktkunci>
<ktkunci>output</ktkunci>
<ktkunci>input output</ktkunci>
<ktkunci>processing</ktkunci>
<ktkunci>control</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="312KB">
http://localhost/skripsi/modul/611/3InputOutput.ppt
</isi>
</topik>
<topik kodetpk="T 6113-02" minggu="2" mk="Teknologi Informasi">
<judul>Tren Input Output</judul>
<modul>Input Output</modul>
<ktkunci>logic unit</ktkunci>
<ktkunci>logic</ktkunci>
<ktkunci>convert</ktkunci>
<ktkunci>storage</ktkunci>
<ktkunci>trend</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="msword" size="22KB">
http://localhost/skripsi/modul/611/IOTrend.doc
</isi>
</topik>
<topik kodetpk="T 6114-01" minggu="3" mk="Teknologi Informasi">
<judul>Pendahuluan (Sejarah CPU)</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<ktkunci>location</ktkunci>
<ktkunci>hard disk</ktkunci>
<ktkunci>penyimpan</ktkunci>
<ktkunci>memori</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="550KB">
http://localhost/skripsi/modul/611/4CPU_internal_memory.ppt
</isi>
</topik>
<topik kodetpk="T 6114-02" minggu="4" mk="Teknologi Informasi">
<judul>Cara Kerja CPU</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<ktkunci>akses</ktkunci>
<ktkunci>karakteristik CPU</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="316KB">
http://localhost/skripsi/modul/611/carakerja_CPU.ppt
</isi>
</topik>
<topik kodetpk="T 6114-03" minggu="4" mk="Teknologi Informasi">
<judul>Pengukuran CPU</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<ktkunci>RAM</ktkunci>
<ktkunci>ROM</ktkunci>
<ktkunci>capacity</ktkunci>
<ktkunci>kapasitas</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="15KB">
http://localhost/skripsi/modul/611/pengukuranCPU.ppt
</isi>
</topik>
<topik kodetpk="T 6114-04" minggu="5" mk="Teknologi Informasi">
<judul>Overview</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<ktkunci>sequential</ktkunci>
<ktkunci>random</ktkunci>
<ktkunci>associative</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="303KB">
http://localhost/skripsi/modul/611/CPUOverview.ppt
</isi>
</topik>
<topik kodetpk="T 6114-05" minggu="6" mk="Teknologi Informasi">
<judul>Piranti Penyimpan</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="1537KB">
http://localhost/skripsi/modul/611/7-STORAGE%20DEVICES.ppt
</isi>
</topik>
<topik kodetpk="T 6114-06" minggu="6" mk="Teknologi Informasi">
<judul>Sistem Bus</judul>
<modul>Memori dan Piranti Penyimpan</modul>
<ktkunci>direct</ktkunci>
<ktkunci>I/O</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-doc" size="953KB">
http://localhost/skripsi/modul/611/SISTEM%20BUS.doc
</isi>
</topik>
<topik kodetpk="T 6115-01" minggu="7" mk="Teknologi Informasi">
<judul>Pendahuluan</judul>
<modul>Database</modul>
<ktkunci>database</ktkunci>
<ktkunci>physical storage</ktkunci>
<ktkunci>logical view</ktkunci>
<ktkunci>conventional files</ktkunci>
<ktkunci>traditional file environment</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="142KB">
http://localhost/skripsi/modul/611/8-Databases.ppt
</isi>
</topik>
<topik kodetpk="T 6115-02" minggu="7" mk="Teknologi Informasi">
<judul>Database Management System (DBMS)</judul>
<modul>Database</modul>
<ktkunci>file processing</ktkunci>
<ktkunci>data redundancy</ktkunci>
<ktkunci>security</ktkunci>
<ktkunci>data sharing</ktkunci>
<ktkunci>dbms</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="54KB">
http://localhost/skripsi/modul/611/dbms.ppt
</isi>
</topik>
<topik kodetpk="T 6115-03" minggu="7" mk="Teknologi Informasi">
<judul>Relational DBMS</judul>
<modul>Database</modul>
<ktkunci>data administration</ktkunci>
<ktkunci>panning</ktkunci>
<ktkunci>development</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="84KB">
http://localhost/skripsi/modul/611/rdbms.ppt
</isi>
</topik>
<topik kodetpk="T 6116-01" minggu="8,9" mk="Teknologi Informasi">
<judul>Communication and Connectivity</judul>
<modul>Communication and Connectivity</modul>
<ktkunci>hybrid</ktkunci>
<ktkunci>terminal</ktkunci>
<ktkunci>distributed network</ktkunci>
<ktkunci>centralized network</ktkunci>
<ktkunci>type</ktkunci>
<ktkunci>private</ktkunci>
<ktkunci>public</ktkunci>
<ktkunci>MAN</ktkunci>
<ktkunci>WAN</ktkunci>
<ktkunci>LAN</ktkunci>
<ktkunci>client server</ktkunci>
<ktkunci>client</ktkunci>
<ktkunci>star</ktkunci>
<ktkunci>bus</ktkunci>
<ktkunci>ring</ktkunci>
<ktkunci>mesh</ktkunci>
<ktkunci>token</ktkunci>
<ktkunci>FDDI</ktkunci>
<ktkunci>fiber</ktkunci>
<ktkunci>link</ktkunci>
<ktkunci>transmision media</ktkunci>
<ktkunci>cable</ktkunci>
<ktkunci>coaxial</ktkunci>
<ktkunci>optical</ktkunci>
<ktkunci>microwave</ktkunci>
<ktkunci>satellite</ktkunci>
<ktkunci>switches</ktkunci>
<ktkunci>multiplexer</ktkunci>
<ktkunci>cluster</ktkunci>
<ktkunci>bridge</ktkunci>
<ktkunci>router</ktkunci>
<ktkunci>gateway</ktkunci>
<ktkunci>internetworking</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="748KB">
http://localhost/skripsi/modul/611/9-com_and_conn.ppt
</isi>
</topik>
<topik kodetpk="T 6117-01" minggu="10" mk="Teknologi Informasi">
<judul>Information Technology in Business</judul>
<modul>Information Technology in Business</modul>
<ktkunci>bisnis</ktkunci>
<ktkunci>revenue</ktkunci>
<ktkunci>organization</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="1442KB">
http://localhost/skripsi/modul/611/12-ITBisnis.ppt
</isi>
</topik>
<topik kodetpk="T 6117-02" minggu="10" mk="Teknologi Informasi">
<judul>Informasi dalam manajemen</judul>
<modul>Information Technology in Business</modul>
<ktkunci>process</ktkunci>
<ktkunci>planning</ktkunci>
<ktkunci>staffing</ktkunci>
<ktkunci>granularity</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="48KB">
http://localhost/skripsi/modul/611/information.ppt
</isi>
</topik>
<topik kodetpk="T 6118-01" minggu="11" mk="Teknologi Informasi">
<judul>Transaction Processing System</judul>
<modul>Transaction Processing System</modul>
<ktkunci>management</ktkunci>
<ktkunci>decision support system</ktkunci>
<ktkunci>information</ktkunci>
<ktkunci>executive</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="40KB">
http://localhost/skripsi/modul/611/12-Transaction%20Processing%20System.ppt
</isi>
</topik>
<topik kodetpk="T 6119-01" minggu="12" mk="Teknologi Informasi">
<judul>Reaching The World Through IT</judul>
<modul>Reaching The World Through IT</modul>
<ktkunci>global</ktkunci>
<ktkunci>business</ktkunci>
<ktkunci>world bank</ktkunci>
<ktkunci>foreign market</ktkunci>
<ktkunci>radio network</ktkunci>
<ktkunci>WRN</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat12.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="40KB">
http://localhost/skripsi/modul/611/13-Reach_World_IT.ppt
</isi>
</topik>
<topik kodetpk="T 6121-01" minggu="1" mk="Sistem Informatika">
<judul>Pendahuluan</judul>
<modul>Gambaran Umum Sistem Informasi dan Teknologi Informasi</modul>
<ktkunci>CBIS</ktkunci>
<ktkunci>telemetri</ktkunci>
<ktkunci>EDI</ktkunci>
<ktkunci>electronic data interchange</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="249KB">
http://localhost/skripsi/modul/612/SIIntro.ppt
</isi>
</topik>
<topik kodetpk="T 6121-02" minggu="2" mk="Sistem Informatika">
<judul>Penerapan SI dalam bisnis</judul>
<modul>Gambaran Umum Sistem Informasi dan Teknologi Informasi</modul>
<ktkunci>E-Government</ktkunci>
<ktkunci>komputasi numerik</ktkunci>
<ktkunci>otomatisasi</ktkunci>
<ktkunci>sosioteknologi</ktkunci>
<ktkunci>proses bisnis</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="63KB">
http://localhost/skripsi/modul/612/SIBisnis.ppt
</isi>
</topik>
<topik kodetpk="T 6122-01" minggu="3" mk="Sistem Informatika">
<judul>Konsep Dasar Sistem</judul>
<modul>Konsep Dasar Sistem Informasi</modul>
<ktkunci>sistem informasi</ktkunci>
<ktkunci>aset</ktkunci>
<ktkunci>manajemen</ktkunci>
<ktkunci>internal</ktkunci>
<ktkunci>eksternal</ktkunci>
<ktkunci>arus informasi</ktkunci>
<ktkunci>data</ktkunci>
<ktkunci>citra</ktkunci>
<ktkunci>audio</ktkunci>
<ktkunci>video</ktkunci>
<ktkunci>siklus</ktkunci>
<ktkunci>pengetahuan</ktkunci>
<ktkunci>knowledge</ktkunci>
<ktkunci>hierarki</ktkunci>
<ktkunci>record</ktkunci>
<ktkunci>elemen</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="291KB">
http://localhost/skripsi/modul/612/SI-2-2.ppt
</isi>
</topik>
<topik kodetpk="T 6122-02" minggu="4" mk="Sistem Informatika">
<judul>Konsep Dasar Informasi</judul>
<modul>Konsep Dasar Sistem Informasi</modul>
<ktkunci>karakteristik</ktkunci>
<ktkunci>masukan</ktkunci>
<ktkunci>proses</ktkunci>
<ktkunci>keluaran</ktkunci>
<ktkunci>umpan balik</ktkunci>
<ktkunci>batas</ktkunci>
<ktkunci>boundary</ktkunci>
<ktkunci>subsistem</ktkunci>
<ktkunci>supersistem</ktkunci>
<ktkunci>antarmuka</ktkunci>
<ktkunci>penapisan</ktkunci>
<ktkunci>pengkodean</ktkunci>
<ktkunci>pendekodean</ktkunci>
<ktkunci>pendeteksian</ktkunci>
<ktkunci>penyanggatan</ktkunci>
<ktkunci>pengamanan</ktkunci>
<ktkunci>pengikhtisaran</ktkunci>
<ktkunci>abstrak</ktkunci>
<ktkunci>klasifikasi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="322KB">
http://localhost/skripsi/modul/612/SI-2.ppt
</isi>
</topik>
<topik kodetpk="T 6123-01" minggu="5" mk="Sistem Informatika">
<judul>Komponen Sistem Informasi</judul>
<modul>Komponen Sistem Informasi</modul>
<ktkunci>komponen sistem informasi</ktkunci>
<ktkunci>basis data</ktkunci>
<ktkunci>prosedur</ktkunci>
<ktkunci>jaringan pribadi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="181KB">
http://localhost/skripsi/modul/612/SI-3.ppt
</isi>
</topik>
<topik kodetpk="T 6123-02" minggu="6" mk="Sistem Informatika">
<judul>Arsitektur Informasi</judul>
<modul>Konsep Dasar Sistem Informasi</modul>
<ktkunci>private network</ktkunci>
<ktkunci>arsitektur</ktkunci>
<ktkunci>sentralisasi</ktkunci>
<ktkunci>desentralisasi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="368KB">
http://localhost/skripsi/modul/612/SIArsitektur.ppt
</isi>
</topik>
<topik kodetpk="T 6123-03" minggu="6" mk="Sistem Informatika">
<judul>Tambahan</judul>
<modul>Konsep Dasar Sistem Informasi</modul>
<ktkunci>server</ktkunci>
<ktkunci>end user</ktkunci>
<ktkunci>euc</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="60KB">
http://localhost/skripsi/modul/612/SITambahan.ppt
</isi>
</topik>
<topik kodetpk="T 6124-01" minggu="7" mk="Sistem Informatika">
<judul>Ragam Sistem Informasi (1)</judul>
<modul>Ragam Sistem Informasi</modul>
<ktkunci>ragam sistem informasi</ktkunci>
<ktkunci>klasifikasi sistem informasi</ktkunci>
<ktkunci>level organisasi</ktkunci>
<ktkunci>akuntansi</ktkunci>
<ktkunci>manufaktur</ktkunci>
<ktkunci>keuangan</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="241KB">
http://localhost/skripsi/modul/612/si-4.ppt
</isi>
</topik>
<topik kodetpk="T 6124-02" minggu="8" mk="Sistem Informatika">
<judul>Ragam Sistem Informasi (2)</judul>
<modul>Ragam Sistem Informasi</modul>
<ktkunci>pemasaran</ktkunci>
<ktkunci>SDM</ktkunci>
<ktkunci>CIM</ktkunci>
<ktkunci>produksi</ktkunci>
<ktkunci>Transaction Processing System</ktkunci>
<ktkunci>TPS</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="304KB">
http://localhost/skripsi/modul/612/si-4-2.ppt
</isi>
</topik>
<topik kodetpk="T 6124-03" minggu="8" mk="Sistem Informatika">
<judul>Ragam Sistem Informasi (3)</judul>
<modul>Ragam Sistem Informasi</modul>
<ktkunci>Management Infromation System</ktkunci>
<ktkunci>MIS</ktkunci>
<ktkunci>Office Automation System</ktkunci>
<ktkunci>OAS</ktkunci>
<ktkunci>batch</ktkunci>
<ktkunci>online</ktkunci>
<ktkunci>hibrid </ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="3106KB">
http://localhost/skripsi/modul/612/si-4-3.ppt
</isi>
</topik>
<topik kodetpk="T 6124-04" minggu="8" mk="Sistem Informatika">
<judul>Sistem Informasi Manajemen (SIM)</judul>
<modul>Ragam Sistem Informasi</modul>
<ktkunci>Decision Support System</ktkunci>
<ktkunci>DSS</ktkunci>
<ktkunci>Executive Infromation System</ktkunci>
<ktkunci>EIS</ktkunci>
<ktkunci>ISS</ktkunci>
<ktkunci>Group Support System</ktkunci>
<ktkunci>GSS</ktkunci>
<ktkunci>Intelligent Support System</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="49KB">
http://localhost/skripsi/modul/612/SIM.ppt
</isi>
</topik>
<topik kodetpk="T 6125-01" minggu="9" mk="Sistem Informatika">
<judul>Pengembangan Sistem Informasi</judul>
<modul>Pengembangan Sistem Informasi</modul>
<ktkunci>pengembangan sistem informasi</ktkunci>
<ktkunci>System Development Life Cycle</ktkunci>
<ktkunci>analisis sistem informasi</ktkunci>
<ktkunci>disain sistem informasi</ktkunci>
<ktkunci>implementasi sistem informasi</ktkunci>
<ktkunci>studi kelayakan</ktkunci>
<ktkunci>implementasi sistem informasi</ktkunci>
<ktkunci>pengujian</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="49KB">
http://localhost/skripsi/modul/612/si-5.ppt
</isi>
</topik>
<topik kodetpk="T 6126-01" minggu="10,11" mk="Sistem Informatika">
<judul>Pengadaan Sistem Informasi</judul>
<modul>Pengadaan Sistem Informasi</modul>
<ktkunci>prototipe</ktkunci>
<ktkunci>SDLC</ktkunci>
<ktkunci>RAD</ktkunci>
<ktkunci>Rapid Application Development</ktkunci>
<ktkunci>Computer-Aided Software Engineering</ktkunci>
<ktkunci>Computer-Assisted Software Engineering</ktkunci>
<ktkunci>CASE</ktkunci>
<ktkunci>outsourcing</ktkunci>
<ktkunci>cara menerapkan sistem informasi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="295KB">
http://localhost/skripsi/modul/612/si-6-1.ppt
</isi>
</topik>
<topik kodetpk="T 6126-02" minggu="10,11" mk="Sistem Informatika">
<judul>Data Warehouse, Data Mart, OLAP, dan Data Mining</judul>
<modul>Pengadaan Sistem Informasi</modul>
<ktkunci>Data Warehouse</ktkunci>
<ktkunci>Mart</ktkunci>
<ktkunci>OLAP</ktkunci>
<ktkunci>Mining</ktkunci>
<ktkunci>OLTP</ktkunci>
<ktkunci>SmartMart</ktkunci>
<ktkunci>IBM</ktkunci>
<ktkunci>Visual Warehouse</ktkunci>
<ktkunci>PowerMart Informatica</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ms-ppt" size="1991KB">
http://localhost/skripsi/modul/612/si-6-2.ppt
</isi>
</topik>
<topik kodetpk="T 6211-01" minggu="1" mk="Rekayasa Sistem Informasi">
<judul>Pendahuluan</judul>
<modul>Introduction</modul>
<ktkunci>Information System Engineering</ktkunci>
<ktkunci>human</ktkunci>
<ktkunci>paradigm</ktkunci>
<ktkunci>life cycle</ktkunci>
<ktkunci>prototyping</ktkunci>
<ktkunci>modelling</ktkunci>
<ktkunci>generic</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="61KB">
http://localhost/skripsi/modul/621/intro.ppt
</isi>
</topik>
<topik kodetpk="T 6212-01" minggu="2,3,4,5,6,7,8,9" mk="Rekayasa Sistem Informasi">
<judul>Assignment</judul>
<modul>Assignment</modul>
<ktkunci>target</ktkunci>
<ktkunci>evaluation</ktkunci>
<ktkunci>presentation</ktkunci>
<ktkunci>documentation</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="22KB">
http://localhost/skripsi/modul/621/first%20presentation.ppt
</isi>
</topik>
<topik kodetpk="T 6212-02" minggu="2,3,4,5,6,7,8,9" mk="Rekayasa Sistem Informasi">
<judul>Evaluation</judul>
<modul>Assignment</modul>
<ktkunci>rule</ktkunci>
<ktkunci>schedule</ktkunci>
<ktkunci>software</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="60KB">
http://localhost/skripsi/modul/621/evaluation.ppt
</isi>
</topik>
<topik kodetpk="T 6213-01" minggu="2,3" mk="Rekayasa Sistem Informasi">
<judul>Project Management</judul>
<modul>Software Project Management</modul>
<ktkunci>software project management</ktkunci>
<ktkunci>metrics</ktkunci>
<ktkunci>estimation</ktkunci>
<ktkunci>risk analysis</ktkunci>
<ktkunci>resource allocation</ktkunci>
<ktkunci>controlled budget</ktkunci>
<ktkunci>size function oriented</ktkunci>
<ktkunci>maintainability</ktkunci>
<ktkunci>usability</ktkunci>
<ktkunci>cost</ktkunci>
<ktkunci>decomposition</ktkunci>
<ktkunci>task scheduling</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="127KB">
http://localhost/skripsi/modul/621/project_mngmt.ppt
</isi>
</topik>
<topik kodetpk="T 6214-01" minggu="4,5" mk="Rekayasa Sistem Informasi">
<judul>Object Oriented Development Process (1)</judul>
<modul>Object Oriented Development Process</modul>
<ktkunci>object oriented development process</ktkunci>
<ktkunci>OODP</ktkunci>
<ktkunci>Waterfall</ktkunci>
<ktkunci>Incremental</ktkunci>
<ktkunci>Spiral</ktkunci>
<ktkunci>use case</ktkunci>
<ktkunci>discrete</ktkunci>
<ktkunci>signature</ktkunci>
<ktkunci>requirement gathering</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="223KB">
http://localhost/skripsi/modul/621/reqanalysis.ppt
</isi>
</topik>
<topik kodetpk="T 6214-02" minggu="4,5" mk="Rekayasa Sistem Informasi">
<judul>Object Oriented Development Process (2)</judul>
<modul>Object Oriented Development Process</modul>
<ktkunci>post processing</ktkunci>
<ktkunci>partitioning</ktkunci>
<ktkunci>analysis</ktkunci>
<ktkunci>business rule</ktkunci>
<ktkunci>data dictionary</ktkunci>
<ktkunci>model</ktkunci>
<ktkunci>scenario</ktkunci>
<ktkunci>decision table</ktkunci>
<ktkunci>sequence diagram</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="98KB">
http://localhost/skripsi/modul/621/reqgathering.ppt
</isi>
</topik>
<topik kodetpk="T 6221-01" minggu="1" mk="Sistem Basis Data">
<judul>Introduction</judul>
<modul>Introduction and E-R Model</modul>
<ktkunci>Purpose</ktkunci>
<ktkunci>Database System</ktkunci>
<ktkunci>Data Model</ktkunci>
<ktkunci>Data Definition Language</ktkunci>
<ktkunci>Transaction Management</ktkunci>
<ktkunci>Administrator</ktkunci>
<ktkunci>Users</ktkunci>
<ktkunci>file Structure</ktkunci>
<ktkunci>physical</ktkunci>
<ktkunci>logical</ktkunci>
<ktkunci>abstraction</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="454KB">
http://localhost/skripsi/modul/622/ch1.ppt
</isi>
</topik>
<topik kodetpk="T 6221-02" minggu="2" mk="Sistem Basis Data">
<judul>E-R Model</judul>
<modul>Introduction and E-R Model</modul>
<ktkunci>entity relationship</ktkunci>
<ktkunci>relational model</ktkunci>
<ktkunci>semantic constraint</ktkunci>
<ktkunci>mapping</ktkunci>
<ktkunci>attribute set</ktkunci>
<ktkunci>composite</ktkunci>
<ktkunci>cardinality</ktkunci>
<ktkunci>one to many</ktkunci>
<ktkunci>many to many</ktkunci>
<ktkunci>one to one</ktkunci>
<ktkunci>role</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="1393KB">
http://localhost/skripsi/modul/622/ch2.ppt
</isi>
</topik>
<topik kodetpk="T 6221-03" minggu="3" mk="Sistem Basis Data">
<judul>SQL</judul>
<modul>Introduction and E-R Model</modul>
<ktkunci>primary</ktkunci>
<ktkunci>ternary</ktkunci>
<ktkunci>binary</ktkunci>
<ktkunci>non-binary</ktkunci>
<ktkunci>weak entitiy</ktkunci>
<ktkunci>specialization</ktkunci>
<ktkunci>generalization</ktkunci>
<ktkunci>aggregation</ktkunci>
<ktkunci>decision</ktkunci>
<ktkunci>symbols</ktkunci>
<ktkunci>UML</ktkunci>
<ktkunci>multivalued redundancy</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="1249KB">
http://localhost/skripsi/modul/622/ch4.ppt
</isi>
</topik>
<topik kodetpk="T 6222-01" minggu="3" mk="Sistem Basis Data">
<judul>Relational Model</judul>
<modul>Relational Model and SQL</modul>
<ktkunci>structure</ktkunci>
<ktkunci>relational database model</ktkunci>
<ktkunci>algebra</ktkunci>
<ktkunci>calculus</ktkunci>
<ktkunci>tuple</ktkunci>
<ktkunci>domain</ktkunci>
<ktkunci>extended</ktkunci>
<ktkunci>view</ktkunci>
<ktkunci>attribute</ktkunci>
<ktkunci>relation schema</ktkunci>
<ktkunci>instance</ktkunci>
<ktkunci>E-R Diagram</ktkunci>
<ktkunci>key</ktkunci>
<ktkunci>superkey</ktkunci>
<ktkunci>candidate key</ktkunci>
<ktkunci>query language</ktkunci>
<ktkunci>select</ktkunci>
<ktkunci>project</ktkunci>
<ktkunci>union</ktkunci>
<ktkunci>set difference</ktkunci>
<ktkunci>cartesian product</ktkunci>
<ktkunci>composition</ktkunci>
<ktkunci>rename</ktkunci>
<ktkunci>set intersection</ktkunci>
<ktkunci>natural join</ktkunci>
<ktkunci>division</ktkunci>
<ktkunci>assignment</ktkunci>
<ktkunci>aggregate</ktkunci>
<ktkunci>outer join</ktkunci>
<ktkunci>null value</ktkunci>
<ktkunci>deletion</ktkunci>
<ktkunci>predicate</ktkunci>
<ktkunci>formula</ktkunci>
<ktkunci>Basic Operations</ktkunci>
<ktkunci>Aggregate Functions</ktkunci>
<ktkunci>Nested Subquery</ktkunci>
<ktkunci>Derived Relations</ktkunci>
<ktkunci>Data Definition Language</ktkunci>
<ktkunci>Embedded SQL</ktkunci>
<ktkunci>ODBC</ktkunci>
<ktkunci>JDBC</ktkunci>
<ktkunci>where clause</ktkunci>
<ktkunci>from</ktkunci>
<ktkunci>string</ktkunci>
<ktkunci>duplicate</ktkunci>
<ktkunci>multiset</ktkunci>
<ktkunci>min</ktkunci>
<ktkunci>count</ktkunci>
<ktkunci>group</ktkunci>
<ktkunci>having</ktkunci>
<ktkunci>comparison with conditional transaction</ktkunci>
<ktkunci>char varchar</ktkunci>
<ktkunci>int</ktkunci>
<ktkunci>smallint</ktkunci>
<ktkunci>numeric</ktkunci>
<ktkunci>real</ktkunci>
<ktkunci>double</ktkunci>
<ktkunci>precision</ktkunci>
<ktkunci>float</ktkunci>
<ktkunci>date</ktkunci>
<ktkunci>time</ktkunci>
<ktkunci>timestamp</ktkunci>
<ktkunci>create table construct</ktkunci>
<ktkunci>integrity</ktkunci>
<ktkunci>alter</ktkunci>
<ktkunci>cursor</ktkunci>
<ktkunci>dynamic</ktkunci>
<ktkunci>catalog</ktkunci>
<ktkunci>metadata</ktkunci>
<ktkunci>two tier</ktkunci>
<ktkunci>three tier</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="2615KB">
http://localhost/skripsi/modul/622/ch3.ppt
</isi>
</topik>
<topik kodetpk="T 6223-01" minggu="4" mk="Sistem Basis Data">
<judul>QBE</judul>
<modul>Other Relational Language</modul>
<ktkunci>relational language</ktkunci>
<ktkunci>query by example</ktkunci>
<ktkunci>QBE</ktkunci>
<ktkunci>datalog</ktkunci>
<ktkunci>Basic Structure</ktkunci>
<ktkunci>One Relation query</ktkunci>
<ktkunci>Several Relations query</ktkunci>
<ktkunci>Condition Box</ktkunci>
<ktkunci>Relation Ordering</ktkunci>
<ktkunci>Display Tuples</ktkunci>
<ktkunci>Aggregate Operations</ktkunci>
<ktkunci>Modification</ktkunci>
<ktkunci>negation</ktkunci>
<ktkunci>avg</ktkunci>
<ktkunci>max</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="1011KB">
http://localhost/skripsi/modul/622/ch5.ppt
</isi>
</topik>
<topik kodetpk="T 6223-02" minggu="4" mk="Sistem Basis Data">
<judul>Datalog</judul>
<modul>Other Relational Language</modul>
<ktkunci>sum</ktkunci>
<ktkunci>cnt</ktkunci>
<ktkunci>UNQ</ktkunci>
<ktkunci>insertion</ktkunci>
<ktkunci>delete</ktkunci>
<ktkunci>insert</ktkunci>
<ktkunci>microsoft access</ktkunci>
<ktkunci>recursion</ktkunci>
<ktkunci>safety rules</ktkunci>
<ktkunci>semantic iteration</ktkunci>
<ktkunci>monotonicity</ktkunci>
<ktkunci>report generator</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="235KB">
http://localhost/skripsi/modul/622/ch5b.ppt
</isi>
</topik>
<topik kodetpk="T 6224-01" minggu="5" mk="Sistem Basis Data">
<judul>Integrity</judul>
<modul>Integrity and Security</modul>
<ktkunci>Domain Constraints</ktkunci>
<ktkunci>Referential Integrity</ktkunci>
<ktkunci>Assertions</ktkunci>
<ktkunci>Trigger</ktkunci>
<ktkunci>Authorization</ktkunci>
<ktkunci>SQL</ktkunci>
<ktkunci>subset dependency</ktkunci>
<ktkunci>update</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="166KB">
http://localhost/skripsi/modul/622/ch6.ppt
</isi>
</topik>
<topik kodetpk="T 6224-02" minggu="6" mk="Sistem Basis Data">
<judul>Assertions and Triggers</judul>
<modul>Integrity and Security</modul>
<ktkunci>primary key</ktkunci>
<ktkunci>unique key</ktkunci>
<ktkunci>foreign key</ktkunci>
<ktkunci>cascade</ktkunci>
<ktkunci>set null</ktkunci>
<ktkunci>event</ktkunci>
<ktkunci>action</ktkunci>
<ktkunci>for each statement</ktkunci>
<ktkunci>MS-SQL server</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="38KB">
http://localhost/skripsi/modul/622/ch6b.ppt
</isi>
</topik>
<topik kodetpk="T 6224-03" minggu="6" mk="Sistem Basis Data">
<judul>Security</judul>
<modul>Integrity and Security</modul>
<ktkunci>authentication</ktkunci>
<ktkunci>Eavesdropping</ktkunci>
<ktkunci>Masquerading</ktkunci>
<ktkunci>network</ktkunci>
<ktkunci>index</ktkunci>
<ktkunci>resource</ktkunci>
<ktkunci>alteration</ktkunci>
<ktkunci>drop</ktkunci>
<ktkunci>grant privilege</ktkunci>
<ktkunci>specification</ktkunci>
<ktkunci>revoke</ktkunci>
<ktkunci>encryption</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="51KB">
http://localhost/skripsi/modul/622/ch6c.ppt
</isi>
</topik>
<topik kodetpk="T 6225-01" minggu="7" mk="Sistem Basis Data">
<judul>Relational Database Design (1)</judul>
<modul>Relational Database Design</modul>
<ktkunci>First Normal Form</ktkunci>
<ktkunci>Pitfalls</ktkunci>
<ktkunci>Relational Database Design</ktkunci>
<ktkunci>Functional Dependencies</ktkunci>
<ktkunci>Boyce-Codd</ktkunci>
<ktkunci>Third Normal Form</ktkunci>
<ktkunci>Multivalued Form</ktkunci>
<ktkunci>Overall Process</ktkunci>
<ktkunci>atomicity</ktkunci>
<ktkunci>redundancy</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="913KB">
http://localhost/skripsi/modul/622/ch7.ppt
</isi>
</topik>
<topik kodetpk="T 6225-02" minggu="8" mk="Sistem Basis Data">
<judul>Relational Database Design (2)</judul>
<modul>Relational Database Design</modul>
<ktkunci>Non Lossless Join</ktkunci>
<ktkunci>Attribute Sets</ktkunci>
<ktkunci>canonical cover</ktkunci>
<ktkunci>extraneous</ktkunci>
<ktkunci>normalization</ktkunci>
<ktkunci>lossy join</ktkunci>
<ktkunci>BCNF</ktkunci>
<ktkunci>preservation</ktkunci>
<ktkunci>2NF</ktkunci>
<ktkunci>3NF</ktkunci><ktkunci>FD</ktkunci><ktkunci>MVD</ktkunci>
<ktkunci>denormalization</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="100KB">
http://localhost/skripsi/modul/622/ch7b.ppt
</isi>
</topik>
<topik kodetpk="T 6226-01" minggu="9,10" mk="Sistem Basis Data">
<judul>Object Oriented Database</judul>
<modul>Object Oriented Database</modul>
<ktkunci>Complex Data Types</ktkunci>
<ktkunci>Object Oriented Data Model</ktkunci>
<ktkunci>Persistent Programming</ktkunci>
<ktkunci>C programming</ktkunci>
<ktkunci>variable</ktkunci>
<ktkunci>message</ktkunci>
<ktkunci>method</ktkunci>
<ktkunci>class</ktkunci>
<ktkunci>hierarchy</ktkunci>
<ktkunci>multiple inheritance</ktkunci>
<ktkunci>identity</ktkunci>
<ktkunci>containment</ktkunci>
<ktkunci>access</ktkunci>
<ktkunci>ODMG</ktkunci>
<ktkunci>manipulation</ktkunci>
<ktkunci>constructor</ktkunci>
<ktkunci>OML</ktkunci>
<ktkunci>pointer</ktkunci>
<ktkunci>java</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="279KB">
http://localhost/skripsi/modul/622/ch8.ppt
</isi>
</topik>
<topik kodetpk="T 6227-01" minggu="11,12" mk="Sistem Basis Data">
<judul>Object Relational Database</judul>
<modul>Object Relational Database</modul>
<ktkunci>Nested Relation</ktkunci>
<ktkunci>Complex Types</ktkunci>
<ktkunci>Object Orientation Querying</ktkunci>
<ktkunci>Object Oriented Relational Databases</ktkunci>
<ktkunci>1NF</ktkunci><ktkunci>4NF</ktkunci>
<ktkunci>schema</ktkunci>
<ktkunci>SQL:1999</ktkunci>
<ktkunci>structured</ktkunci>
<ktkunci>collection</ktkunci>
<ktkunci>inheritance</ktkunci>
<ktkunci>multiple table storage</ktkunci>
<ktkunci>supertable</ktkunci>
<ktkunci>subtable</ktkunci>
<ktkunci>reference</ktkunci>
<ktkunci>user generated identifier</ktkunci>
<ktkunci>unnesting</ktkunci>
<ktkunci>nesting</ktkunci>
<ktkunci>function</ktkunci>
<ktkunci>procedure</ktkunci>
<ktkunci>SQL security</ktkunci>
<ktkunci>sandbox</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="332KB">
http://localhost/skripsi/modul/622/ch9.ppt
</isi>
</topik>
<topik kodetpk="T 6231-01" minggu="1" mk="Perilaku Organisasional">
<judul>Pendahuluan</judul>
<modul>Pendahuluan</modul>
<ktkunci>perilaku organisaional</ktkunci>
<ktkunci>organisational behaviour</ktkunci>
<ktkunci>attribut</ktkunci>
<ktkunci>materi</ktkunci>
<ktkunci>level</ktkunci>
<ktkunci>scientific</ktkunci>
<ktkunci>human relation</ktkunci>
<ktkunci>classical organizational theory</ktkunci>
<ktkunci>fundamental assumption</ktkunci>
<ktkunci>pengembangan sumber daya manusia</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="230KB">
http://localhost/skripsi/modul/623/OB1-02.ppt
</isi>
</topik>
<topik kodetpk="T 6232-01" minggu="2" mk="Perilaku Organisasional">
<judul>Organizational Culture</judul>
<modul>Organizational Culture</modul>
<ktkunci>organizational culture</ktkunci>
<ktkunci>budaya organisasi</ktkunci>
<ktkunci>korporat</ktkunci>
<ktkunci>philosophy</ktkunci>
<ktkunci>belief</ktkunci>
<ktkunci>attitudes</ktkunci>
<ktkunci>history</ktkunci>
<ktkunci>tradition</ktkunci>
<ktkunci>Schein</ktkunci>
<ktkunci>sosialisasi efektif</ktkunci>
<ktkunci>Hofstede</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="142KB">
http://localhost/skripsi/modul/623/OB2-BUDAYA.ppt
</isi>
</topik>
<topik kodetpk="T 6233-01" minggu="3,4" mk="Perilaku Organisasional">
<judul>Perbedaan Individu</judul>
<modul>Perbedaan Individu</modul>
<ktkunci>perbedaan individu</ktkunci>
<ktkunci>behaviour</ktkunci>
<ktkunci>kurt lewin</ktkunci>
<ktkunci>Attraction Selection Attrition</ktkunci>
<ktkunci>ASA</ktkunci>
<ktkunci>perception</ktkunci>
<ktkunci>attitude</ktkunci>
<ktkunci>motive</ktkunci>
<ktkunci>bias</ktkunci>
<ktkunci>Fundamental Attribution Error</ktkunci>
<ktkunci>internal causes</ktkunci>
<ktkunci>Halo Effect</ktkunci>
<ktkunci>Similar-To-Me</ktkunci>
<ktkunci>First-Impression</ktkunci>
<ktkunci>Selective Stereotyping</ktkunci>
<ktkunci>Contrast</ktkunci>
<ktkunci>hygiene</ktkunci>
<ktkunci>motivator</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="127KB">
http://localhost/skripsi/modul/623/OB3-individual%20difference.ppt
</isi>
</topik>
<topik kodetpk="T 6234-01" minggu="5" mk="Perilaku Organisasional">
<modul>Motivasi dan Reward</modul>
<judul>Pendahuluan</judul>
<ktkunci>movere</ktkunci>
<ktkunci>arousal</ktkunci>
<ktkunci>direction</ktkunci>
<ktkunci>maintenance</ktkunci>
<ktkunci>exogen</ktkunci>
<ktkunci>endogen</ktkunci>
<ktkunci>Teori-teori motivasi</ktkunci>
<ktkunci>content theories</ktkunci>
<ktkunci>teori kepuasan</ktkunci>
<ktkunci>Contemporary</ktkunci>
<ktkunci>hirarki kebutuhan</ktkunci>
<ktkunci>maslow</ktkunci>
<ktkunci>ERG</ktkunci>
<ktkunci>alderfer</ktkunci>
<ktkunci>herzberg</ktkunci>
<ktkunci>mcclelland</ktkunci>
<ktkunci>teori harapan</ktkunci>
<ktkunci>expectation theory</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="330KB">
http://localhost/skripsi/modul/623/OB4-Motivasi.ppt
</isi>
</topik>
<topik kodetpk="T 6234-02" minggu="6" mk="Perilaku Organisasional">
<modul>Motivasi dan Reward</modul>
<judul>Motivasi dan Reward</judul>
<ktkunci>victor</ktkunci>
<ktkunci>vroom</ktkunci>
<ktkunci>porter</ktkunci>
<ktkunci>lawler</ktkunci>
<ktkunci>bf skinner</ktkunci>
<ktkunci>penetapan tujuan</ktkunci>
<ktkunci>locke</ktkunci>
<ktkunci>latham</ktkunci>
<ktkunci>contemporer</ktkunci>
<ktkunci>Equity</ktkunci>
<ktkunci>ekstrinsik</ktkunci>
<ktkunci>intrinsik</ktkunci>
<ktkunci>reinforcement</ktkunci>
<ktkunci>expectancy</ktkunci>
<ktkunci>finansial</ktkunci>
<ktkunci>promosi</ktkunci>
<ktkunci>golden handcuff</ktkunci>
<ktkunci>borgol emas</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="175KB">
http://localhost/skripsi/modul/623/OB5-Reward.ppt
</isi>
</topik>
<topik kodetpk="T 6235-01" minggu="7" mk="Perilaku Organisasional">
<judul>Dinamika Kelompok</judul>
<modul>Dinamika Kelompok, Pembentukan Tim, dan Leadership</modul>
<ktkunci>dinamika kelompok</ktkunci>
<ktkunci>pembentukan tim</ktkunci>
<ktkunci>teamwork</ktkunci>
<ktkunci>equilibrium model</ktkunci>
<ktkunci>negosiasi efektif</ktkunci>
<ktkunci>konflik</ktkunci>
<ktkunci>intergroup</ktkunci>
<ktkunci>conflict</ktkunci>
<ktkunci>resolution</ktkunci>
<ktkunci>effective negotiation</ktkunci>
<ktkunci>groupthink</ktkunci>
<ktkunci>decision making</ktkunci>
<ktkunci>leadership</ktkunci>
<ktkunci>kepemimpinan</ktkunci>
<ktkunci>ability</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="212KB">
http://localhost/skripsi/modul/623/OB6-groupdynamic.ppt
</isi>
</topik>
<topik kodetpk="T 6235-02" minggu="8" mk="Perilaku Organisasional">
<judul>Leadership</judul>
<modul>Dinamika Kelompok, Pembentukan Tim, dan Leadership</modul>
<ktkunci>personality</ktkunci>
<ktkunci>motivation</ktkunci>
<ktkunci>traits theory</ktkunci>
<ktkunci>behaviour theory</ktkunci>
<ktkunci>teori situasional</ktkunci>
<ktkunci>teori kontingensi</ktkunci>
<ktkunci>contingency theory</ktkunci>
<ktkunci>teori kemungkinan</ktkunci>
<ktkunci>lpc-contingency theory</ktkunci>
<ktkunci>fiedler</ktkunci>
<ktkunci>path</ktkunci>
<ktkunci>goal</ktkunci>
<ktkunci>atribusi</ktkunci>
<ktkunci>likert</ktkunci>
<ktkunci>karismatik</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="160KB">
http://localhost/skripsi/modul/623/OB8-leadership.ppt
</isi>
</topik>
<topik kodetpk="T 6236-01" minggu="9,10" mk="Perilaku Organisasional">
<judul>Organization Structure</judul>
<modul>Organization Structure</modul>
<ktkunci>organization structure</ktkunci>
<ktkunci>drucker</ktkunci>
<ktkunci>organisasi</ktkunci>
<ktkunci>desain</ktkunci>
<ktkunci>homogen</ktkunci>
<ktkunci>heterogen</ktkunci>
<ktkunci>departementalisasi</ktkunci>
<ktkunci>spesialisasi</ktkunci>
<ktkunci>authority</ktkunci>
<ktkunci>matrix</ktkunci>
<ktkunci>divisional</ktkunci>
<ktkunci>international</ktkunci>
<ktkunci>transformasi</ktkunci>
<ktkunci>Sub contracting</ktkunci>
<ktkunci>Strategic alliances</ktkunci>
<ktkunci>Franchising</ktkunci>
<ktkunci>boundaryless company</ktkunci>
<ktkunci>virtual learning</ktkunci>
<ktkunci>modular</ktkunci>
<ktkunci>horizontal</ktkunci>
<ktkunci>interorganizational</ktkunci>
<ktkunci>Transnational Corporation</ktkunci>
<ktkunci>TNC</ktkunci>
<ktkunci>Mintzberg</ktkunci>
<ktkunci>contingency</ktkunci>
<ktkunci>mechanistic</ktkunci>
<ktkunci>organic</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="161KB">
http://localhost/skripsi/modul/623/OB9-ORGSTRC.ppt
</isi>
</topik>
<topik kodetpk="T 6237-01" minggu="11" mk="Perilaku Organisasional">
<judul>Job Design</judul>
<modul>Job Design, Komunikasi dan
Pengambilan Keputusan yang Efektif</modul>
<ktkunci>job design</ktkunci>
<ktkunci>quality work of life</ktkunci>
<ktkunci>QWL</ktkunci>
<ktkunci>conseptual model</ktkunci>
<ktkunci>performance</ktkunci>
<ktkunci>redesign</ktkunci>
<ktkunci>content requirement</ktkunci>
<ktkunci>context rotation</ktkunci>
<ktkunci>enlargement</ktkunci>
<ktkunci>enrichment</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="109KB">
http://localhost/skripsi/modul/623/OB10-JOB%20DESIGN.ppt
</isi>
</topik>
<topik kodetpk="T 6237-02" minggu="11" mk="Perilaku Organisasional">
<judul>Komunikasi yang Efektif</judul>
<modul>Job Design, Komunikasi dan
Pengambilan Keputusan yang Efektif</modul>
<ktkunci>komunikasi efektif</ktkunci>
<ktkunci>komunikasi non verbal</ktkunci>
<ktkunci>media communication</ktkunci>
<ktkunci>individual differences</ktkunci>
<ktkunci>sex differences</ktkunci>
<ktkunci>cross cultural differences</ktkunci>
<ktkunci>differences</ktkunci>
<ktkunci>interpersonal</ktkunci>
<ktkunci>tipe manajer</ktkunci>
<ktkunci>otokratik</ktkunci>
<ktkunci>egosentris</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="217KB">
http://localhost/skripsi/modul/623/OB11-komunikasi.ppt
</isi>
</topik>
<topik kodetpk="T 6237-03" minggu="12" mk="Perilaku Organisasional">
<judul>Pengambilan keputusan</judul>
<modul>Job Design, Komunikasi dan
Pengambilan Keputusan yang Efektif</modul>
<ktkunci>kerangka berpikir selektif</ktkunci>
<ktkunci>value judgement</ktkunci>
<ktkunci>kredibilitas sumber</ktkunci>
<ktkunci>semantik</ktkunci>
<ktkunci>kelompok</ktkunci>
<ktkunci>status</ktkunci>
<ktkunci>video mediated communication</ktkunci>
<ktkunci>VMC</ktkunci>
<ktkunci>managing effective decision making processes</ktkunci>
<ktkunci>effective decision making</ktkunci>
<ktkunci>environment</ktkunci>
<ktkunci>certain risk</ktkunci>
<ktkunci>uncertain risk</ktkunci>
<ktkunci>stretegic empowerment</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="71KB">
http://localhost/skripsi/modul/623/OB12-DECMAK.ppt
</isi>
</topik>
<topik kodetpk="T 6241-01" minggu="1" mk="Teknologi Informasi dan Masyarakat">
<judul>Budaya</judul>
<modul>Budaya</modul>
<ktkunci>teknologi informasi dan masyarakat</ktkunci>
<ktkunci>masyarakat</ktkunci>
<ktkunci>stratifikasi</ktkunci>
<ktkunci>institusi sosial</ktkunci>
<ktkunci>distance</ktkunci>
<ktkunci>individualism</ktkunci>
<ktkunci>collectivism</ktkunci>
<ktkunci>masculinity</ktkunci>
<ktkunci>femininity</ktkunci>
<ktkunci>uncertainty</ktkunci>
<ktkunci>avoidance</ktkunci>
<ktkunci>identifikasi</ktkunci>
<ktkunci>artifact</ktkunci>
<ktkunci>values</ktkunci>
<ktkunci>assumption</ktkunci>
<ktkunci>simbol</ktkunci>
<ktkunci>bahasa</ktkunci>
<ktkunci>ide</ktkunci>
<ktkunci>norma</ktkunci>
<ktkunci>sikap</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="48KB">
http://localhost/skripsi/modul/624/BUDAYA.ppt
</isi>
</topik>
<topik kodetpk="T 6242-01" minggu="2,3" mk="Teknologi Informasi dan Masyarakat">
<judul>Emotional Intelligence</judul>
<modul>Emotional Intelligence</modul>
<ktkunci>emotional intelligence</ktkunci>
<ktkunci>emosi</ktkunci>
<ktkunci>motivasi</ktkunci>
<ktkunci>reaksi</ktkunci>
<ktkunci>psikis</ktkunci>
<ktkunci>psikologi</ktkunci>
<ktkunci>intuisi</ktkunci>
<ktkunci>stress</ktkunci>
<ktkunci>energy</ktkunci>
<ktkunci>tiredness</ktkunci>
<ktkunci>tense</ktkunci>
<ktkunci>calm</ktkunci>
<ktkunci>energi charging</ktkunci>
<ktkunci>stimulus</ktkunci>
<ktkunci>respon</ktkunci>
<ktkunci>kontrol</ktkunci>
<ktkunci>kepribadian</ktkunci>
<ktkunci>empati</ktkunci>
<ktkunci>ekspresi</ktkunci>
<ktkunci>gesture</ktkunci>
<ktkunci>komunikasi</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="109KB">
http://localhost/skripsi/modul/624/EQ%20Telkom.ppt
</isi>
</topik>
<topik kodetpk="T 6243-01" minggu="4" mk="Teknologi Informasi dan Masyarakat">
<judul>Manajemen Perubahan</judul>
<modul>Manajemen Perubahan</modul>
<ktkunci>driving forces</ktkunci>
<ktkunci>tekanan</ktkunci>
<ktkunci>momentum</ktkunci>
<ktkunci>restraining</ktkunci>
<ktkunci>FFA</ktkunci>
<ktkunci>resistance</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="36KB">
http://localhost/skripsi/modul/624/Manajemen%20Perubahan.ppt
</isi>
</topik>
<topik kodetpk="T 6244-01" minggu="5" mk="Teknologi Informasi dan Masyarakat">
<judul>Negosiasi</judul>
<modul>Negosiasi</modul>
<ktkunci>negosiasi</ktkunci>
<ktkunci>negosiator</ktkunci>
<ktkunci>value claimer</ktkunci>
<ktkunci>value creator</ktkunci>
<ktkunci>paradigma</ktkunci>
<ktkunci>distributive bargaining</ktkunci>
<ktkunci>integrative bargaining</ktkunci>
<ktkunci>distributif</ktkunci>
<ktkunci>integratif</ktkunci>
<ktkunci>range</ktkunci>
<ktkunci>strategy</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="42KB">
http://localhost/skripsi/modul/624/Negosiasi.ppt
</isi>
</topik>
<topik kodetpk="T 6245-01" minggu="6" mk="Teknologi Informasi dan Masyarakat">
<judul>Power</judul>
<modul>Power</modul>
<ktkunci>power</ktkunci>
<ktkunci>kekuasaan</ktkunci>
<ktkunci>position</ktkunci>
<ktkunci>personal</ktkunci>
<ktkunci>Legitimate</ktkunci>
<ktkunci>Coercive</ktkunci>
<ktkunci>Reward</ktkunci>
<ktkunci>Expert</ktkunci>
<ktkunci>Referent</ktkunci>
<ktkunci>politik</ktkunci>
<ktkunci>ketrampilan</ktkunci>
<ktkunci>diagnostik</ktkunci>
<ktkunci>taktik</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="55KB">
http://localhost/skripsi/modul/624/Power.ppt
</isi>
</topik>
<topik kodetpk="T 6246-01" minggu="7" mk="Teknologi Informasi dan Masyarakat">
<judul>Stratifikasi Sosial</judul>
<modul>Stratifikasi Sosial</modul>
<ktkunci>stratifikasi sosial</ktkunci>
<ktkunci>kelas</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="ppt" size="36KB">
http://localhost/skripsi/modul/624/Stratifikasi%20Sosial.ppt
</isi>
</topik>
<topik kodetpk="T 6531-01" minggu="1,2,3" mk="Jaringan Informasi" >
<judul>Model Referensi OSI</judul>
<modul>Model Referensi OSI</modul>
<ktkunci>OSI reference model</ktkunci>
<ktkunci>jaringan informasi</ktkunci>
<ktkunci>jaringan</ktkunci>
<ktkunci>network protocol</ktkunci>
<ktkunci>protokol</ktkunci>
<ktkunci>protocol</ktkunci>
<ktkunci>enkapsulasi</ktkunci>
<ktkunci>komunikasi peer to peer</ktkunci>
<ktkunci>peer to peer</ktkunci>
<ktkunci>phisical</ktkunci>
<ktkunci>fisik</ktkunci>
<ktkunci>hub</ktkunci>
<ktkunci>data link</ktkunci>
<ktkunci>NIC</ktkunci>
<ktkunci>switch</ktkunci>
<ktkunci>microsegmentation</ktkunci>
<ktkunci>segmentation</ktkunci>
<ktkunci>local area network</ktkunci>
<ktkunci>transport</ktkunci>
<ktkunci>session</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="pdf" size="332KB">
http://localhost/skripsi/modul/653/Microsoft_PowerPoint_-_mti-01.pdf
</isi>
</topik>
<topik kodetpk="T 6532-01" minggu="4,5" mk="Jaringan Informasi">
<judul>Topologi Jaringan</judul>
<modul>Topologi Jaringan</modul>
<ktkunci>topologi jaringan</ktkunci>
<ktkunci>physical network</ktkunci>
<ktkunci>shared media</ktkunci>
<ktkunci>token ring</ktkunci>
<ktkunci>point to point</ktkunci>
<ktkunci>multipoint</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="pdf" size="80KB">
http://localhost/skripsi/modul/653/Microsoft_PowerPoint_-_mti-02.pdf
</isi>
</topik>
<topik kodetpk="T 6533-01" minggu="6,7,8" mk="Jaringan Informasi">
<judul>Ethernet dan IEEE 802.3</judul>
<modul>Ethernet dan IEEE 802.3</modul>
<ktkunci>ethernet</ktkunci>
<ktkunci>IEEE 802.3</ktkunci>
<ktkunci>CSMA/CD</ktkunci>
<ktkunci>OSI</ktkunci>
<ktkunci>frame</ktkunci>
<ktkunci>MAC</ktkunci>
<ktkunci>flat scheme</ktkunci>
<ktkunci>collision</ktkunci>
<ktkunci>back off algorithm</ktkunci>
<ktkunci>JAM</ktkunci>
<ktkunci>signal</ktkunci>
<urllat>http://localhost/skripsi/latihan/lat6111-01.php</urllat>
<isi tipe="url" doctype="pdf" size="164KB">
http://localhost/skripsi/modul/653/Microsoft_PowerPoint_-_mti-03.pdf
</isi>
</topik>
</top>

File ‘global.xsl’

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="global_header" match="/">
<table width="1000">
<tr><td width="150"></td>
<td bgcolor="#FFFF80" width="140" align="center">
<font face="Verdana" size="2" color="#FFFFFF"><a><xsl:attribute
name="href">http://localhost/skripsi/index_cari.htm
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute>
| HOME |</a></font></td>

<td bgcolor="#FFFF80" width="140" align="center">


<font face="Verdana" size="2" color="#FFFFFF"><a><xsl:attribute
name="href">http://localhost/skripsi/kuliah.xml
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute>
| Mata Kuliah |</a></font></td>

<td bgcolor="#FFFF80" width="140" align="center">


<font face="Verdana" size="2" color="#FFFFFF"><a><xsl:attribute
name="href">http://localhost/skripsi/modul.xml
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute>
| Modul |</a></font></td>

<td bgcolor="#FFFF80" width="140" align="center">


<font face="Verdana" size="2" color="#FFFFFF"><a><xsl:attribute
name="href">http://localhost/skripsi/query.htm
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute>
| Search |</a></font></td>

<td bgcolor="#FFFF80" width="140" align="center">


<font face="Verdana" size="2" color="#FFFFFF"><a><xsl:attribute
name="href">http://localhost/skripsi/utama.htm
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute>
| Index Kata kunci |</a></font></td>

<td width="150"></td>
</tr>
</table>
</xsl:template>

<xsl:template name="global_pic" match="/">

<table><xsl:attribute name="width">1000</xsl:attribute><xsl:attribute name="border">


0</xsl:attribute><xsl:attribute name="cellpadding">0</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<tr><td width="170"></td>
<td width="350" align="right">
<img><xsl:attribute name="src">http://localhost/skripsi/images/home_01.jpg</xsl:attribute>
<xsl:attribute name="width">385</xsl:attribute>
<xsl:attribute name="height">106</xsl:attribute>
</img>
</td>
<td width="350" align="left">
<img><xsl:attribute name="src">http://localhost/skripsi/images/home_02.jpg</xsl:attribute>
<xsl:attribute name="width">301</xsl:attribute>
<xsl:attribute name="height">106</xsl:attribute>
</img></td>
<td width="130"></td>
</tr>
<tr><td width="170"></td>
<td width="350">
<img><xsl:attribute name="src">http://localhost/skripsi/images/home_03.jpg</xsl:attribute>
<xsl:attribute name="width">385</xsl:attribute>
<xsl:attribute name="height">54</xsl:attribute>
</img></td>
<td width="350">
<xsl:attribute name="valign">top</xsl:attribute>
<img><xsl:attribute name="src">http://localhost/skripsi/images/home_04.jpg</xsl:attribute>
<xsl:attribute name="width">301</xsl:attribute>
<xsl:attribute name="height">40</xsl:attribute>
</img></td>
<td width="130"></td></tr>
</table>
</xsl:template>

</xsl:stylesheet>

File ‘kuliah.xsl’

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="global.xsl"/>
<xsl:template match="/">
<html>
<body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<xsl:call-template name="global_pic"/>
<xsl:call-template name="global_header"/>
<a><xsl:attribute name="name">top</xsl:attribute></a>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
<xsl:apply-templates/></font></td><td width="150"></td></tr>
<tr><td width="150"></td>
<td width="700"><a><xsl:attribute name="href">#top</xsl:attribute>ke atas</a></td>
<td width="150"></td></tr>
</table>
</body></html>
</xsl:template>

<xsl:template match="kuliah">
<u><b>Database mata kuliah yang diajarkan di MTI :</b></u>
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="mk">
<p>
<xsl:choose>
<xsl:when test="jenis='Wajib'">
<table cellspacing="1" bgcolor="#669999">
<tr>
<td>
<b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
Kode:</font></b>
</td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@kodemk"/>
</font></td>
</tr>
<tr>
<td>
<b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
Nama:</font></b>
</td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="nama"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Jumlah SKS:
</font></b></td>
<td>
<font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="sks"/>
</font></td>
</tr>
<tr>
<td><b>
<font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Jenis:</font>
</b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="jenis"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Semester:
</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="semester"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Tujuan:
</font></b></td>
<td></td>
</tr>
<tr>
<td></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="tujuan"/>
</font></td>
</tr>
</table>
</xsl:when>
<xsl:when test="jenis='Pilihan'">
<table cellspacing="1" bgcolor="#669000">
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Kode:
</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@kodemk"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Nama:
</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="nama"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Jumlah SKS:
</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="sks"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Jenis:
</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="jenis"/>
</font></td>
</tr>
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Tujuan:
</font></b></td>
<td></td>
</tr>
<tr><td></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="tujuan"/>
</font></td>
</tr>
</table>
</xsl:when>
</xsl:choose>
</p>
</xsl:template>
</xsl:stylesheet>

File ‘modul.xsl’

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="global.xsl"/>
<xsl:template match="/">
<html>
<body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<xsl:call-template name="global_pic"/>
<xsl:call-template name="global_header"/>
<a><xsl:attribute name="name">top</xsl:attribute></a>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
<xsl:apply-templates/></font></td>
<td width="150"></td></tr>
<tr><td width="150"></td>
td width="700"><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
<a><xsl:attribute name="href">#top</xsl:attribute>ke atas</a></font></td>
<td width="150"></td></tr>
</table>
</body>
</html>
</xsl:template>

<xsl:template match="top">
<font face="Verdana" size="2"><b>Index modul</b>
<xsl:apply-templates/></font>
</xsl:template>

<xsl:template match="modul">
<p>
<table cellspacing="1" bgcolor="#669999" width="700">

<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Kode:</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@kodemdl"/></font></td></tr>
<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Nama:</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="nama"/></font></td></tr>
<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Mata Kuliah:</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@mk"/></font></td></tr>

<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Tujuan:</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="tujuan"/></font></td></tr>
<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Sumber:</font></b></td>
<td></td></tr>
<xsl:call-template name="pilih_tipe"/>
<tr><td><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Diselenggarakan:</font></b></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Minggu ke <xsl:value-of
select="@minggu"/></font></td></tr>
<tr><td bgcolor="#000000"></td><td bgcolor="#000000"></td></tr>
<tr><td><font face="verdana" size="2">Klik di <xsl:element name="A"><xsl:attribute
name="HREF">
http://localhost:8080/skripsi/servlet/Panggiltopik?modul=<xsl:value-of
select="nama"/>&amp;mk=<xsl:value-of select="@mk"/>
</xsl:attribute>sini </xsl:element> untuk melihat daftar topik dari modul ini</font></td></tr>

</table>
</p>

</xsl:template>

<xsl:template name="pilih_tipe">
<xsl:for-each select="sumber">
<xsl:choose>
<xsl:when test='@tipe="Web"'>
<tr><td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Tipe :</font></td>
<td><u><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@tipe"/></font></u></td></tr>
<tr><td></td><td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Alamat :</font></td></tr>
<xsl:for-each select="alamat">
<tr><td></td><td><a>
<xsl:attribute name="href">
<font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="."/></font>
</xsl:attribute>
<font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="."/></font></a><br/>---
</td></tr>
</xsl:for-each>
</xsl:when>
<xsl:when test='@tipe="Buku"'>
<tr><td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Tipe :</font></td>
<td><u><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@tipe"/></font></u></td></tr>
<tr><td></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Judul :<xsl:value-of select="judul"/></font></td></tr>
<tr><td></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Pengarang :<xsl:value-of
select="pengarang"/></font></td></tr>
<tr><td></td>
<td><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Penerbit :<xsl:value-of select="penerbit"/>,
<xsl:value-of select="tahun"/></font><br/>---</td></tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>

File ‘topikktk.xsl’

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html><body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<table width="17%"><tr>
<td><xsl:attribute name="width">81%</xsl:attribute>
<img><xsl:attribute name="src">http://localhost/skripsi/images/home_31.jpg</xsl:attribute>
<xsl:attribute name="width">150</xsl:attribute>
<xsl:attribute name="height">50</xsl:attribute>
</img>
</td></tr></table>
<a><xsl:attribute name="top"></xsl:attribute></a>
<p><a><xsl:attribute name="href">http://localhost/skripsi/index_cari.htm
</xsl:attribute><xsl:attribute name="target">_top</xsl:attribute><font><xsl:attribute
name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
| HOME |</font></a>
</p>
<p><b><font><xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Index kata kunci berdasar mata kuliah
</font></b></p>

<xsl:apply-templates/>
</body></html>
</xsl:template>

<xsl:template match="top">
<xsl:for-each select="topik/ktkunci">
<xsl:sort select="."/>
<font face="Verdana" size="2"><a><xsl:attribute name="href">
http://localhost:8080/skripsi/servlet/Ciptatpk?query=<xsl:value-of select="."/>
</xsl:attribute><xsl:attribute name="target">mainFrame</xsl:attribute><xsl:value-of select="."/></a>
</font><br/>
</xsl:for-each>
<p><a><xsl:attribute name="href">#top</xsl:attribute>ke atas</a></p>
</xsl:template>
</xsl:stylesheet>

File ‘topik.xsl’

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html><body><font face="Verdana" size="2">
<xsl:apply-templates/>
</font></body></html>
</xsl:template>

<xsl:template match="judul">
<b><xsl:apply-templates/></b><br/>
</xsl:template>

<xsl:template match="penulis">
<b><xsl:apply-templates/></b><br/>
</xsl:template>

<xsl:template match="body">
<p><xsl:apply-templates/></p>
</xsl:template>

<xsl:template match="body/sub">
<p><b><xsl:apply-templates/></b></p>
</xsl:template>

<xsl:template match="//penting">
<b><i><xsl:apply-templates/></i></b>
</xsl:template>

<xsl:template match="//gambar">
<p><img><xsl:attribute name="src">http://localhost/skripsi/images/<xsl:value-of select="url"/>
</xsl:attribute></img><br/>
<i><xsl:value-of select="keterangan"/></i></p>
</xsl:template>

<xsl:template match="//tabel">
<p><table border="1"><xsl:apply-templates/></table></p>
</xsl:template>

<xsl:template match="//tabel/nama">
<p><i><xsl:apply-templates/></i></p>
</xsl:template>

<xsl:template match="//tabel/baris">
<tr><xsl:apply-templates/></tr>
</xsl:template>
<xsl:template match="//tabel/baris/kolom">
<td><xsl:apply-templates/></td>
</xsl:template>
</xsl:stylesheet>

File ‘query.xsl’

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="global.xsl"/>
<xsl:variable name="n_lokal"><xsl:value-of select="query/nilai"/></xsl:variable>

<xsl:variable name="remote" select="document('http://localhost/skripsi/kuliah.xml')/kuliah"/>


<xsl:variable name="tipe"><xsl:value-of select="query/tipe"/></xsl:variable>
<xsl:template match="/">
<html><body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<xsl:call-template name="global_pic"/>
<xsl:call-template name="global_header"/>
<font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
<xsl:choose>
<xsl:when test='$tipe="kode"'>
<xsl:variable name="upperkode"
select="translate($n_lokal,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<xsl:choose>
<xsl:when test="$upperkode=$remote/mk/@kodemk">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">Anda mencari <b><xsl:value-of select="$upperkode"/></b><br/>
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of
select="$remote/mk[@kodemk=$upperkode]/nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jumlah SKS :</font></td><td
valign="top"><font face="verdana" size="2"><xsl:value-of
select="$remote/mk[@kodemk=$upperkode]/sks"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jenis :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of
select="$remote/mk[@kodemk=$upperkode]/jenis"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Semester :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of
select="$remote/mk[@kodemk=$upperkode]/semester"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of
select="$remote/mk[@kodemk=$upperkode]/tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:when test='$tipe="sks"'>
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font face="verdana" size="2">
Anda mencari mata kuliah yang jumlah sksnya <b><xsl:value-of select="$n_lokal"/></b><br/>
Ditemukan :
</font></td><td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/mk">
<xsl:choose>
<xsl:when test="$n_lokal=sks">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Kode :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="@kodemk"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jenis :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="jenis"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Semester :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="semester"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:when test='$tipe="jenis"'>
<xsl:variable name="upperjenis"
select="translate($n_lokal,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font face="verdana" size="2">
Anda mencari mata kuliah bersifat
<b><xsl:value-of select="$upperjenis"/></b><br/>
</font></td><td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/mk">
<xsl:variable name="isi"><xsl:value-of select="jenis"/>
</xsl:variable>
<xsl:variable name="upperisi"
select="translate($isi,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<xsl:choose>
<xsl:when test="$upperjenis=$upperisi">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Kode :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="@kodemk"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jumlah SKS :</font></td><td
valign="top"><font face="verdana" size="2"><xsl:value-of select="sks"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Semester :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="semester"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:when test='$tipe="semester"'>
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font face="verdana" size="2">
Anda mencari mata kuliah yang diajarkan di semester <b><xsl:value-of select="$n_lokal"/></b><br/>
Ditemukan :
</font></td><td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/mk[semester=$n_lokal]">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Kode :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="@kodemk"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jumlah SKS :</font></td><td
valign="top"><font face="verdana" size="2"><xsl:value-of select="sks"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jenis :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="jenis"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:for-each>
</xsl:when>
<xsl:when test='$tipe="tujuan"'>
<xsl:variable name="uppertujuan"
select="translate($n_lokal,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font face="verdana" size="2">
Anda mencari mata kuliah yang tujuannya mengandung kata
<b><xsl:value-of select="$uppertujuan"/></b><br/>
</font></td><td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/mk">
<xsl:variable name="isi"><xsl:value-of select="tujuan"/>
</xsl:variable>
<xsl:variable name="upperisi"
select="translate($isi,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<xsl:choose>
<xsl:when test="contains($upperisi,$uppertujuan)">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Kode :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="@kodemk"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jumlah SKS :</font></td><td
valign="top"><font face="verdana" size="2"><xsl:value-of select="sks"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jenis :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="jenis"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Semester :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="semester"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:when test='$tipe="ktkunci"'>
<xsl:variable name="upperktkunci"
select="translate($n_lokal,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700"><font face="verdana" size="2">
Anda mencari mata kuliah yang mengandung kata kunci
<b><xsl:value-of select="$upperktkunci"/></b><br/>
</font></td><td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/mk">
<xsl:variable name="isi"><xsl:value-of select="ktkunci"/>
</xsl:variable>
<xsl:variable name="upperisi"
select="translate($isi,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<xsl:choose>
<xsl:when test="contains($upperisi,$upperktkunci)">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999">
<tr><td valign="top"><font face="verdana" size="2">Kode :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="@kodemk"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Nama :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="nama"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jumlah SKS :</font></td><td
valign="top"><font face="verdana" size="2"><xsl:value-of select="sks"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Jenis :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="jenis"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Semester :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="semester"/></font></td></tr>
<tr><td valign="top"><font face="verdana" size="2">Tujuan :</font></td><td valign="top"><font
face="verdana" size="2"><xsl:value-of select="tujuan"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</font></body></html>
</xsl:template>

</xsl:stylesheet>

File ‘querytpk.xsl’

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="global.xsl"/>
<xsl:template match="/">
<html><body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<xsl:call-template name="global_pic"/>
<xsl:call-template name="global_header"/>
<font face="Verdana" size="2">

<xsl:variable name="remote" select="document('http://localhost/skripsi/topik.xml')/top"/>


<xsl:variable name="kata" select="query/nilai"/>
<xsl:variable name="upperkata"
select="translate($kata,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<p><table width="1000">
<tr><td width="150"></td>
<td><b>Topik-topik yang sesuai dengan query <xsl:value-of select="$upperkata"/></b>
</td>
<td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/topik">
<xsl:variable name="ktkunci" select="."/>
<xsl:variable name="upperktkunci"
select="translate($ktkunci,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXY')"/>
<xsl:choose>
<xsl:when test="contains($upperktkunci, $upperkata)">
<p>
<table width="1000">
<tr><td width="150"></td>
<td bgcolor="#669999" width="700">
<table>
<tr>
<td valign="top"><font face="verdana" size="2">Judul Topik :</font></td>
<td valign="top"><font face="verdana" size="2">
<b><xsl:value-of select="judul"/></b></font>
</td>
</tr>
<tr>
<td valign="top"><font face="verdana" size="2">Modul :</font></td>
<td><font face="verdana" size="2"><xsl:value-of select="modul"/></font></td>
</tr>
<tr>
<td valign="top"><font face="verdana" size="2">Mata Kuliah :</font></td>
<td><font face="verdana" size="2"><xsl:value-of select="@mk"/></font></td>
</tr>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
<xsl:choose>
<xsl:when test="isi[@tipe='url']">
<p>
<table width="1000">
<tr><td width="150"></td>
<td width="700">
<table bgcolor="#669999"><font face="verdana" size="2">
File disimpan dalam bentuk <xsl:value-of select="isi/@doctype"/>
berukuran <xsl:value-of select="isi/@size"/>
<br/>Klik di
<xsl:element name="A"><xsl:attribute name="HREF">
<xsl:value-of select="isi"/>
</xsl:attribute><xsl:attribute name="target">
_blank</xsl:attribute>sini</xsl:element>
untuk melihat isi topik</font>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
<xsl:when test="isi[@tipe='lokal']">
<xsl:value-of select="isi"/>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>

</font></body></html>
</xsl:template>

</xsl:stylesheet>
File ‘topikq.xsl’

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="global.xsl"/>
<xsl:param name="modul" select="topik/modul"/>
<xsl:param name="mk" select="topik/mk"/>
<xsl:variable name="remote" select="document('http://localhost/skripsi/topik.xml')/top"/>

<xsl:template match="/">

<html><body><xsl:attribute name="bgcolor">#CCCC99</xsl:attribute>
<xsl:attribute name="text">#000000</xsl:attribute>
<xsl:attribute name="leftmargin">2</xsl:attribute>
<xsl:attribute name="topmargin">0</xsl:attribute>
<xsl:attribute name="marginwidth">0</xsl:attribute>
<xsl:attribute name="marginheight">0</xsl:attribute>
<xsl:call-template name="global_pic"/>
<xsl:call-template name="global_header"/>
<font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>
<p><table width="1000">
<tr><td width="150"></td>
<td>Topik-topik dalam modul <b><xsl:value-of select="$modul"/></b>
Mata Kuliah <b><xsl:value-of select="$mk"/></b>
</td>
<td width="150"></td></tr>
</table>
</p>
<xsl:for-each select="$remote/topik">
<xsl:if test="modul=$modul and @mk=$mk">
<table width="1000">
<tr><td width="150"></td>
<td bgcolor="#669999" width="700">
<table cellspacing="1" bgcolor="#669999">
<tr>
<td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Kode:
</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="@kodetpk"/>
</font></td>
</tr>
<tr><td><b><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute>Judul:</font></b></td>
<td><font>
<xsl:attribute name="face">Verdana</xsl:attribute>
<xsl:attribute name="size">2</xsl:attribute><xsl:value-of select="judul"/></font></td></tr>
</table>
</td>
<td width="150"></td></tr>
</table>
<xsl:choose>
<xsl:when test="isi[@tipe='url']">
<p>
<table width="1000">
<tr><td width="150"></td>
<td bgcolor="#CCCC99" width="700">
<table><font face="verdana" size="2">
File disimpan dalam bentuk <xsl:value-of select="isi/@doctype"/>
berukuran <xsl:value-of select="isi/@size"/>
<br/>Klik di
<xsl:element name="A"><xsl:attribute name="HREF">
<xsl:value-of select="isi"/>
</xsl:attribute><xsl:attribute name="target">
_blank</xsl:attribute>sini</xsl:element>
untuk melihat isi topik</font>
</table>
</td>
<td width="150"></td></tr>
</table>
</p>
</xsl:when>
<xsl:when test="isi[@tipe='lokal']">
<xsl:value-of select="isi"/>
</xsl:when>
</xsl:choose>
</xsl:if>
</xsl:for-each>
</font></body></html>
</xsl:template>

</xsl:stylesheet>

File ‘Cipta.java’

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.lang.*;

public class Cipta extends HttpServlet


{
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/xml");
PrintWriter out = res.getWriter();
String input,pilih,kode,nama,sks,tujuan,jenis,semester,ktkunci;
input = req.getParameter("query");
pilih = req.getParameter("pilih");
String A = new String("kode");
String B = new String("nama");
String C = new String ("sks");
String D = new String ("jenis");
String E = new String ("semester");
String F = new String ("tujuan");
String G = new String ("ktkunci");

if (pilih.equals(A))
{
kode = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+kode+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(B))
{
nama = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+nama+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(C))
{
sks = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+sks+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(D))
{
jenis = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+jenis+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(E))
{
semester = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+semester+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(F))
{
tujuan = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+tujuan+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}
else if (pilih.equals(G))
{
ktkunci = input;
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/query.xsl\" type=\"text/xsl\"?>");
out.println("<query><nilai>"+ktkunci+"</nilai>");
out.println("<tipe>"+pilih+"</tipe></query>");
}

}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
doGet (req,res);
}

File ‘Ciptatpk.java’

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.lang.*;

public class Ciptatpk extends HttpServlet


{
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/xml");
PrintWriter out = res.getWriter();
String input = req.getParameter("query");

out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");


out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/querytpk.xsl\"
type=\"text/xsl\"?>");
out.println("<query><nilai>"+input+"</nilai></query>");

}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
doGet (req,res);
}

}
File ‘Panggiltopik.java’

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.lang.*;

public class Panggiltopik extends HttpServlet


{
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/xml");
PrintWriter out = res.getWriter();
String modul,mk;
modul = req.getParameter("modul");
mk = req.getParameter("mk");
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<?xml-stylesheet href=\"http://localhost:8080/skripsi/xsl/topikq.xsl\"
type=\"text/xsl\"?>");
out.println("<topik><modul>"+modul+"</modul><mk>"+mk+"</mk></topik>");

}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
doGet (req,res);
}

You might also like