Anda di halaman 1dari 88

PROPOSAL

MODEL PREDIKSI TREND TOPIK-TOPIK


PENELITIAN BIDANG TEKNIK INFORMATIKA
MENGGUNAKAN EXTREME LEARNING MACHINE

RESEARCH

Novita Sari

1112400616

Program Pascasarjana Ilmu Komputer


PROGRAM STUDI TEKNIK INFORMATIKA JENJANG S2
UNIVERSITAS BINA NUSANTARA
JAKARTA
2012
PROPOSAL

MODEL PREDIKSI TREND TOPIK-TOPIK


PENELITIAN BIDANG TEKNIK INFORMATIKA
MENGGUNAKAN EXTREME LEARNING MACHINE

RESEARCH

Novita Sari

1112400616

Pembimbing 1 : Pembimbing 2 :

Suharjito, S.Si., M.T., Dr. Agus Widodo, B.Sc., M.T.


27 – 01 – 2012 26 – 01 – 2012

ii
DAFTAR ISI

Halaman
Halaman Judul ........................................................................................................ i
Persetujuan Pembimbing ....................................................................................... ii
DAFTAR ISI ......................................................................................................... iii
DAFTAR GAMBAR ............................................................................................. v
DAFTAR TABEL ................................................................................................. vi
BAB I. PENDAHULUAN ............................................................................... 1
1.1. Latar Belakang ........................................................................................ 1
1.2. Perumusan Masalah................................................................................. 2
1.3. Tujuan Penelitian..................................................................................... 2
1.4. Manfaat Penelitian................................................................................... 3
1.5. Ruang Lingkup ........................................................................................ 3
BAB II. LANDASAN TEORI .......................................................................... 5
2.1. Teknik Informatika .................................................................................. 5
2.1.1. Taksonomi Teknik Informatika ....................................................... 5
2.2. Data Mining............................................................................................. 6
2.2.1. Aplikasi Data Mining ....................................................................... 7
2.2.2. Metodologi Analisis Data Mining ................................................... 9
2.2.3. Time Series .................................................................................... 12
2.2.4. Algoritma Prediksi ......................................................................... 13
2.3. Jaringan Syaraf Tiruan .......................................................................... 16
2.3.1. Arsitektur Jaringan ......................................................................... 16
2.3.2. Fungsi Aktivasi .............................................................................. 19
2.3.3. Metode Pembelajaran..................................................................... 21
2.4. Extreme Learning Machine ................................................................... 24
2.4.1. Cara Kerja Algoritma ELM ........................................................... 26
2.4.2. Implementasi ELM ........................................................................ 28
2.4.3. ELM dan Logika Fuzzy ................................................................. 31
2.5. Prediksi Topik-Topik Penelitian ........................................................... 31

iii
BAB III. METODOLOGI................................................................................. 33
3.1. Kerangka Pikir....................................................................................... 33
3.2. Tata Laksana Penelitian ........................................................................ 34
3.2.1. Tahapan Penelitian ......................................................................... 34
3.2.2. Rencana Kegiatan .......................................................................... 37
3.3. Metode Pengumpulan Data ................................................................... 37
3.4. Metode Prediksi dengan ELM............................................................... 38
3.5. Metode Analisis Kinerja ELM .............................................................. 40
DAFTAR PUSTAKA .......................................................................................... 42
LAMPIRAN .........................................................................................................L1

iv
DAFTAR GAMBAR

Gambar 2.1 – Time Series Konsumsi Listrik Itali................................................ 13


Gambar 2.2 – Arsitektur Jaringan dengan Lapisan Tunggal ............................... 17
Gambar 2.3 – Arsitektur Jaringan dengan Banyak Lapisan ................................ 18
Gambar 2.4 – Arsitektur Jaringan dengan Lapisan Kompetitif ........................... 19
Gambar 2.5 – Fungsi Undak Biner (Hard Limit)................................................. 20
Gambar 2.6 – Fungsi Undak Biner (Threshold) .................................................. 20
Gambar 2.6 – Fungsi Linier ................................................................................. 21
Gambar 2.7 – Arsitektur Jaringan Backpropagation ........................................... 23
Gambar 2.8 – Struktur ELM ................................................................................ 26
Gambar 3.1 – Kerangka Pikir .............................................................................. 34
Gambar 3.2 – Tahapan Penelitian ........................................................................ 36
Gambar 3.3 – Diagram Alur Prediksi dengan Metode ELM ............................... 36

v
DAFTAR TABEL

Tabel 2.1 – Perbandingan Nilai MSE dan MAPE antara Metode ELM, MA, dan
ES untuk Data Kaos ............................................................................................. 29
Tabel 2.2 – Perbandingan Hasil dari Model Prediksi yang Berbeda ................... 29
Tabel 2.3 – Perbandingan Waktu dan Keakuratan dari ELM, Decision Tree, JST,
dan Bayes ........................................................................................................... 30
Tabel 2.4 – Perbandingan Kinerja dari Pembelajaran Fungsi: SinC ................... 30
Tabel 3.1 – Rencana Kegiaatan ........................................................................... 37

vi
BAB I. PENDAHULUAN

1.1. Latar Belakang

Dewasa ini teknik informatika merupakan domain menarik yang menjadi

perhatian oleh para peneliti. Peran teknik informatika terhadap kegiatan manusia

yang cukup besar membuat penelitian terhadap teknik informatika semakin banyak

dan semakin perlu dilakukan. Maka muncul suatu kebutuhan untuk mengetahui

trend atau kecenderungan topik penelitian teknik informatika di masa depan. Oleh

karena itu perlu adanya prediksi untuk mengetahui trend-trend topik penelitian apa

saja yang berhubungan dengan teknik informatika.

Seperti yang diketahui, prediksi dilakukan untuk mengetahui hal-hal yang

belum terjadi. Hasil prediksi sangat berguna untuk menentukan tindakan apa yang

harus kita lakukan sekarang untuk mempersiapkan yang akan datang. Saat ini

penelitian mengenai prediksi trend-trend telah banyak dilakukan di banyak

domain, seperti (Kobayashi, Shirai, Hiyane, Kumeno, Inujima, & Yamauchi, 2005)

memprediksi trend teknologi berdasarkan sumber dari internet, (Small, 2006)

menelusuri dan memprediksi pertumbuhan area di bidang ilmu pengetahuan, dan

(Rahayu & Hasibuan, 2006) mengidentifikasi trend teknologi pada dokumen paten

Indonesia, laporan penelitian kimia dan bidang metallurgy.

Banyak metode yang digunakan untuk mendapatkan hasil ramalan yang

akurat. Salah satunya adalah metode jaringan syaraf tiruan yang mengadopsi

sistem pembelajaran pada otak manusia. Jaringan syaraf tiruan banyak

diaplikasikan secara intensif pada peramalan khususnya sales forecasting, karena

kelebihannya pada kontrol area, prediksi dan pengenalan pola. Banyak penelitian

1
2

menyimpulkan bahwa metode jaringan syaraf tiruan lebih baik daripada metode-

metode peramalan konvensional (Sun, Choi, Au, & Yu, 2008).

Penelitian ini akan mengimplementasikan suatu metode baru dari jaringan

syaraf tiruan yaitu Extreme Learning Machine. Extreme learning machine

merupakan jaringan syaraf tiruan feedforward dengan satu hidden layer atau lebih

dikenal dengan istilah single hidden layer feedforward neural network (Sun, Choi,

Au, & Yu, 2008). Metode extreme learning machine mempunyai kelebihan dalam

learning speed, serta mempunyai tingkat akurasi yang lebih baik dibandingkan

dengan metode konvensional seperti Moving Average dan Exponential Smoothing

(Agustina, Anggraeni, & Mukhlason, 2010). Selain karena metodenya yang

tergolong baru, implementasi extreme learning machine pada prediksi trend topik-

topik penelitian di bidang teknik informatika juga belum pernah dilakukan.

1.2. Perumusan Masalah

Permasalahan yang diangkat pada penelitian ini adalah bagaimana

menentukan model prediksi trend topik-topik penelitian teknik informatika

menggunakan extreme learning machine dengan hasil yang akurat.

1.3. Tujuan Penelitian

Tujuan penelitian ini adalah:


3

- Implementasi extreme learning machine pada prediksi trend topik-topik

penelitian di bidang teknik informatika.

- Analisis keakuratan hasil prediksi extreme learning machine.

1.4. Manfaat Penelitian

Manfaat penelitian ini adalah:

- Menyediakan prediksi yang akurat untuk para pelaku penelitian

mengenai trend topik-topik penelitian di bidang teknik informatika.

- Lingkungan akademik, dapat menambah kajian dan mendukung

pembelajaran mata kuliah rekayasa pengetahuan, teknik informatika, data

mining, serta inteligensia semu.

1.5. Ruang Lingkup

Ruang lingkup penelitian ini adalah sebagai berikut:

- Mengumpulkan data yang akan di uji dari jurnal IEEE Computer Society

dari tahun 1996 sampai tahun 2011.

- Membangun model prediksi menggunakan extreme learning machine

dengan tool MATLAB.

- Menganalisis keakuratan hasil prediksi extreme learning machine dengan

menggunakan Mean Square Error (MSE)

- Membandingkan kinerja ELM dengan kinerja jaringan syaraf tiruan pada

data yang sama.


BAB II. LANDASAN TEORI

2.1. Teknik Informatika

Secara umum teknik informatika (computer science) adalah ilmu yang

mempelajari dasar-dasar teoritis dari informasi dan komputasi. Teknik informatika

juga mencakup teknik-teknik praktis untuk implementasi dan aplikasi ke dalam

sistem komputer. (Comer, Gries, Mulder, Tucker, Turner, & Young, 1989)

2.1.1. Taksonomi Teknik Informatika

(IEEE Computer Society) mengelompokkan teknik informatika berdasarkan

Association for Computer Machinary (ACM). Berikut adalah taksonominya:

1. Literatur umum

2. Piranti Keras

3. Organisasi Sistem Komputer

4. Piranti Lunak / Rekayasa Piranti Lunak

5. Data

6. Teori Komputasi

7. Matematika Komputasi

8. Sistem dan Teknologi Informasi

9. Metodologi Komputasi

10. Aplikasi Komputer

11. Computing Milieux

Taksonomi teknik informatika dijelaskan lebih lengkap pada lampiran.

5
6

2.2. Data Mining

Menurut (Vercellis, 2009, p. 77) istilah data Mining merujuk pada

kesuluruhan proses yang terdiri dari pengumpulan dan analisis data,

pengembangan model pembelajaran induktif dan adopsi praktek pengambilan

keputusan serta konsekuensi dari tindakan berdasarkan pengetahuan yang

diperoleh.

Kegiatan data mining dapat dibagi menjadi dua bagian utama penelitian,

sesuai dengan tujuan utama dari analisisnya yaitu interpretasi dan prediksi

(Vercellis, 2009, p. 78).

- Interpretasi. Tujuan interpretasi adalah untuk megindentifikasi pola-

pola teratur dalam data dan untuk mengekspresikannya melalui aturan

dan kriteria yang dapat dengan mudah dipahami oleh para alhi dalam

domain aplikasi. Sebagai contoh, untuk sebuah perusahaan di industri

ritel mungkin akan menguntungkan apabila bisa mengelompokkan para

pelanggan yang setia berdasarkan profil pembelanjaan mereka. Segmen

yang dihasilkan dengan cara ini terbukti berguna dalam mengidentifikasi

relung pasar baru dan mengarahkan promosi pemasaran perusahaan di

masa depan.

- Prediksi. Tujuan dari prediksi adalah untuk mengantisipasi nilai di mana

variabel acak akan mengasumsikan masa depan atau memperkirakan

kemungkinan kejadian di masa depan. Sebagai contoh, sebuah

perusahaan retail dapat memprediksikan penjualan produk tertentu untuk


7

minggu-minggu berikutnya. Sebagian besar teknik data mining berasal

dari nilai sekumpulan variabel yang berkaitan dengan entity di dalam

database. Sebagai contoh, model data mining dapat menunjukkan bahwa

kemungkinan seorang pelanggan akan melakukan pembelian lagi di masa

depan tergantung pada fitur-fitur seperti usia, pekerjaan, dan lain-lain.

2.2.1. Aplikasi Data Mining

Data mining dapat diterapkan pada berbagai domain, dari kontrol proses

pemasaran dan manufaktur sampai kepada pembelajaran faktor risiko dalam

diagnosis medis, dari evaluasi efektivitas obat baru sampai deteksi penipuan

(Vercellis, 2009, p. 81).

- Pemasaran

Beberapa aplikasi yang berhubungan dengan pemasaran adalah:

 Identifikasi segmen pelanggan untuk mengarahkan promosi ke

target yang benar.

 Prediksi tingkat tanggapan positif pelanggan terhadap promosi

pemasaran.

 Interpretasi dan pemahaman perilaku pembelian pelanggan.

 Analisis keranjang pasar (market basket analysis)

- Deteksi Penipuan
8

Penipuan dapat mempengaruhi industri yang berbeda seperti telepon,

asuransi (klaim palsu) dan perbankan (penggunaan kartu kredit dan cek

bank secara ilegal)

- Evaluasi Risiko

Tujuan dari analisis risiko adalah untuk memperkirakan risiko yang

berhubungan dengan keputusan masa depan. Misalnya, dengan

menggunakan pengamatan terakhir yang tersedia, sebuah bank dapat

mengembangkan model prediksi untuk menentukan apakah tepat untuk

memberikan pinjaman uang atau kredit rumah, berdasarkan karakteristik

pemohon.

- Text Mining

Data mining dapat diterapkan untuk berbagai jenis teks, yang mewakili

data tidak terstruktur, dengan tujuan untuk mengklasifikasikan artikel,

buku, dokumen, email, dan halaman web. Contohnya adalah mesin

pencari web. Aplikasi teks lainnya adalah penyaring pesan email.

- Pengenalan Citra

Klasifikasi gambar digital, baik statis maupun dinamis, adalah sebuah

subyek yang menarik baik untuk kepentingan teoritis dan aplikasi. Hal

ini berguna untuk mengenali karakter tulisan, membandingkan dan

mengidentifikasi wajah manusia, serta deteksi perilaku mencurigakan

melalui kamera video pengawas.

- Web Mining
9

Web mining dapat berguna untuk analisis situs e-commerce, di mana

menawarkan pengetahuan mengenai halaman yang paling populer.

- Diagnosis Medis

Model pembelajaran adalah alat bantu dalam bidang medis untuk deteksi

dini penyakit berdasarkan hasil pengujian klinis. Analisis citra untuk

tujuan diagnosis adalah salah satu bidang penelitian yang saat ini sedang

berkembang.

2.2.2. Metodologi Analisis Data Mining

Menurut (Vercellis, 2009, p. 90), ada tujuh kegiatan dasar data mining, yaitu:

- Karakterisasi dan Diskriminasi

Sebelum mengembangkan model klasifikasi, ada baiknya melakukan

analisis eksplorasi. Tujuannya ada dua. Yang pertama adalah untuk

mendapatkan karakterisasi dengan cara membandingkan distribusi dari

nilai-nilai atribut yang dimiilki oleh kelas yang sama. Yang ke dua adalah

untuk mendeteksi perbedaan melalui perbandingan distribusi dari nilai-

nilai atribut yang dimiliki oleh kelas yang berbeda.

- Klasifikasi

Teknik klasifikasi merupakan teknik yang paling umum digunakan untuk

data mining. Klasifikasi melihat perilaku dan atribut kelompok yang telah

ditentukan. Data mining dapat menetapkan klasifikasi data baru dengan

memeriksa data yang sudah diklasifikasian dan menggunakan hasil

tersebut untuk menyimpulkan suatu set aturan. Aturan ini kemudian akan

diterapkan pada data yang yang akan diklasifikasikan. Teknik ini sering
10

menggunakan induksi yang terawasi yaitu mempekerjakan pelatihan

kecil set catatan yang sudah diklasifikasikan untuk menentukan

klasifikasi tambahan. Contohnya adalah untuk menemukan karakteristik

pelanggan yang akan atau tidak akan membeli produk jenis tertentu.

Beberapa algoritma klasifikasi adalah decision trees, jaringan syaraf, dan

Naïve Bayes.

- Regresi

Tidak seperti klasifikasi yang ditujukan untuk target yang terpisah regresi

digunakan saat variabel sasaran memiliki nilai kontinu. Regresi

digunakan untuk memetakan data dengan prediksi atribut bernilai real.

Misalnya untuk memprediksi jumlah penjualan produk baru atau

memprediksi kecepatan memutar (wind velocities) pada fungsi

temperature dan tekanan udara.

- Time Series

Terkadang atribut target berkembang dari waktu ke waktu dan oleh

karena itu berhubungan dengan sumbu waktu. Misalnya, penjualan

mingguan suatu produk dalam waktu 2 tahun mengandung 104

pengamatan.

- Asosiasi

Teknik data mining ini digunakan untuk mengidentifikasi perilaku dari

suatu peristiwa atau proses tertentu. Penemuan asisiasi menghubungkan

kejadian dalam peristiwa tunggal. Contohnya, pria yang membeli kopi

dengan merek premium tiga kali lebih mungkin untuk membeli rokok

yang mereknya impor dibanding pria yang hanya membeli kopi degan
11

merek standar. Penemuan asosiasi berdasarkan aturan berikut: “Jika item

A adalah bagian dari suatu kejadian, maka X persen dari waktu (faktor

keyakinan), item B adalah bagian dari kejadian yang sama.”. Contohnya

adalah sebagai berikut:

 Jika pelanggan membeli makanan ringan, maka 85 persen

kemungkinan bahwa pelanggan tersebut akan membeli minuman

ringan atau bir.

 Jika sesorang membeli tiket penerbangan untuk keluarganya, maka

85 persen kemungkinan bahwa dia akan menyewa mobil ukuran

besar untuk ke lokasi liburan.

Dengan bantuan pemindai, toko retail menggunakan teknik data mining

ini untuk menemukan pola pembelian toko grosir. Karena konteksnya

seperti sebuah toko grosir, asosiasi kadang-kadang disebut dengan

analisis keranjang pasar (market basket analysis) (Moss & Atre, 2003, p.

388).

- Clustering

Teknik clustering digunakan untuk menemukan kelompok yang berbeda

dalam data. Clustering serupa dengan klasifikasi, hanya saja kelompok-

kelompok tersebut belum didefinisikan pada saat menjalankan tool data

mining. Teknik clustering yang sering digunakan adalah jaringan syaraf

tiruan atau metode statistika. Clustering digunakan untuk mendeketeksi

masalah seperti cacat manufaktur atau kelompok afinitas untuk kartu

kredit.

- Deskripsi dan Visualisasi


12

Tujuan dari data mining terkadang adalah untuk memberikan representasi

yang sederhana dan ringkas dari informasi yang tersimpan dalam dataset

yang besar. Berbeda dengan clustering dan asosisasi, analisis deskriptif

tidak melakukan pengelompokkan atau pembagian dalam dataset.

Sebuah deskripsi singkat mengenai dataset yang besar sangat membantu,

dan mungkin juga menjelaskan pola-pola tersembunyi dalam data.

2.2.3. Time Series

Time series adalah suatu himpunan pengamatan yang dibangun secara beru-

rutan dalam waktu. Waktu atau periode yang dibutuhkan untuk melakukan suatu

peramalan itu biasanya disebut sebagai lead time yang bervariasi pada tiap

persoalan.

Berdasarkan himpunan pengamatan yang tersedia maka time series

dikatakan kontinu jika himpunan pengamatan tersebut adalah kontinu dan

dikatakan diskrit bila himpunan pengaamatan tersebut juga diskrit. Dalam time

series diskrit. interval waktunya seragam seperti, menit, jam, hari, minggu, bulan,

kwartal atau tahunan (Vercellis, 2009, p. 187).

Contohnya time series digunakan untuk memprediksi konsumsi

penggunaan industri. Gambar 2.1 menunjukkan konsumsi listrik di Italia

dinyatakan dalam puluhan juta kilowatt per jam, direkam setiap dua bulan dari dua

bulan pertama tahun 1998 sampai dua bulan ke enam tahun 2003.
13

105
100
95
90
85
80
75
70
65
1998 1999 2000 2001 2002 2003 2004

Gambar 2.1 – Time Series Konsumsi Listrik Itali

Tiga komponen time series dibagi menjadi tiga yaitu: tren, musiman, dan

random noise.

- Tren. Komponen tren jangka panjang menggambarkan perilaku rata-rata

dari waktu ke waktu, dan trennya dapat meningkat, menurun, atau statis.

Usaha yang dibuat untuk perkiraan tren time series dilambangkan dengan

Mt, menggunakan fungsi sederhana dari bentuk linier, polinomial,

eksponensial, dan logaritma.

- Musiman. Komponen musiman dilambangkan dengan Qt, yaitu hasil

gelombang fluktuasi jangka pendek dari frekuensi yang muncul dalam

time series tertentu.

- Random Noise. Adalah komponen fluktuasi dari time series yang

digunakan untuk mewakili semua variasi yang tidak beraturan dalam data

yang tidak bisa dijelaskan oleh komponen lainnya.

2.2.4. Algoritma Prediksi

Berikut ini adalah algoritma yang sering digunakan untuk melakukan

prediksi time series (Singh & Balasundaram, 2007):


14

- ARIMA

Model ARIMA merupakan penggabungan dari dua metode yaitu

Autoregressive dan Moving Average. ARIMA mencari pola yang paling

cocok dalam kesatuan waktu dengan menggunakan nilai masa lalu, dan

meramalkan pola masa depan dalam jangka pendek. ARIMA cocok jika

observasi time series secara statistik berhubungan satu sama lain.

- Support Vector Regression

Support Vector Regression (SVR) merupakan Support Vector Machines

(SVM) untuk regresi yang merepresentasikan fungsi dengan sebagian

training data, yang biasa disebut support vectors. Implementasi SVM

untuk prediksi time series menunjukkan performance yang sangat baik.

- Jaringan Syaraf Tiruan

Jaringan syaraf tiruan terdiri atas sejumlah proses yang sangat sederhana

yang disebut dengan node atau simpul. Simpul ini analog dengan neuron

yang ada di otak manusia. Kumpulan simpul–simpul yang membentuk

suatu konfigurasi tertentu dikenal sebagai jaringan syaraf tiruan. Jaringan

syaraf tiruan terdiri atas lapisan input dan output. Tetapi ada juga yang

mempunyai lapisan tersembunyi diantara lapisan input dan output.

Karakteristik jaringan syaraf tiruan ditentukan oleh pola hubungan antara

neuron-neuronnya yang biasanya disebut arsitektur/topologi jaringan,

metode penentuan bobot sambungannya (pelatihan jaringan) dan fungsi

aktivasinya. (Eliyani, 2007) melakukan peramalan harga saham

perusahaan dengan menggunakan jaringan syaraf tiruan dan akaike

information criterion.
15

Algortima lainnya yang digunakan untuk prediksi antara lain:

- Decision Tree

Decision tree adalah sebuah diagram alur dengan struktur seperti pohon.

Setiap node berisi menandakan suatu tes pada atribut. Setiap cabang

mewakili hasil tes. Node daun merepresentasikan kelas distribusi.

Struktur decision tree menunjukkan aturan “jika-maka” (bukan

persamaan matematika) sehingga hasilnya mudah untuk ditafsirkan.

Penelitian decision tree berkembang di bidang-bidang seperti rekayasa,

bisnis, kedokteran dan pendidikan. (Fang & Lu, 2009) mengembangkan

model decision tree unruk memprediksi kinerja siswa dalam dinamika

teknik.

- Naive Bayes

Naive bayes merupakan teknik sederhana yang sangat cocok saat dimensi

dari input tinggi. Meskipun sederhana, naive bayes seringkali dapat

mengungguli metode klasifikasi yang lebih canggih. Aturan naive bayes

merupakan dasar dari banyak machine learning dan metode data mining.

Aturan naive bayes digunakan untuk membuat model dengan

kemampuan prediksi. Algoritma ini digunakan saat:

 Dimensi dari input tinggi

 Atributnya tidak bergantung satu sama lain

 Ingin output yang lebih efisien

(G.Subbalakshmi, Ramesh, & Rao, 2011) menggunakan algoritma

naive bayes dalam sistem pendukung keputusan prediksi penyakit

jantung.
16

- Logika Fuzzy

Logika fuzzy merupakan sebuah metodologi sistem kontrol penyelesaian

masalah yang cocok diimplementasikan dalam sistem, mulai dari sistem

yang sederhana, kecil, embedded micro-controllers, hingga yang besar,

jaringan, multi chanel PC dan sistem kontrol. Logika fuzzy menyediakan

sebuah cara yang sederhana untuk mendapatkan kesimpulan berdasarkan

informasi yang kabur, ambigu, tidak tepat atau bahkan yang hilang.

Umumnya, logika fuzzy adalah metode cukup efektif untuk sistem yang

model matematikanya tidak diketahui atau tidak dapat dibuat (Aydin,

Karakose, & Akin, 2009). Penggunaan logika fuzzy untuk prediksi telah

banyak digunakan, seperti prediksi pemesanan hotel (Hoekstra, 2010)

dan prediksi penggunaan bandwidth (Din & Fisal, 2008).

2.3. Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (JST) telah secara luas diterapkan untuk klasifikasi

pola dan masalah regresi. Alasan utama keberhasilan dari JST adalah

kemampuannya dalam memperoleh fungsi model perkiraan non-linier yang

menggambarkan hubungan antara variabel dependen dan independen dengan

menggunakan input sampel yang diberikan. (Singh & Balasundaram, 2007)

2.3.1. Arsitektur Jaringan

Ada beberapa arsitektur jaringan syaraf, antara lain (Kusumadewi, 2003, p.

212):
17

- Jaringan dengan lapisan tunggal (single layer net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan

bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian

secara langsung akan mengolahnya menjadi output tanpa harus melalui

lapisan tersembunyi.

Nilai Input

X X X
Lapisan Input

w11 w12 w21 w22

w31 w32 Matriks Bobot

Y Y
Lapisan Output

Nilai Output

Gambar 2.2 – Arsitektur Jaringan dengan Lapisan Tunggal

Gambar 2.2 menunjukkan arsitektur jaringan dengan lapisan tunggal.

Lapisan input memiliki tiga neuron, yaitu X1, X2 dan X3. Sedangkan pada

lapisan output memiliki dua neuron yaitu Y1 dan Y2. Neuron-neuron pada

kedua lapisan saling berhubungan. Seberapa besar hubungan antara 2

neuron ditentukan oleh bobot yang bersesuaian. Semua unit input akan

dihubungkan dengan setiap unit output.


18

- Jaringan dengan banyak lapisan (multi layer net)

Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang

terletak di antara lapisan input dan lapisan output. Umumnya ada lapisan

bobot-bobot yang terletak antara dua lapisan tersebut. Gambar 2.3

menunjukkan arsitektur jaringan dengan banyak lapisan.

Nilai Input

X X X
Lapisan Input

v11 v12 v21 v22

v31 v32 Matriks Bobot Pertama

Z Z
Lapisan Tersembunyi

w1 w2

Matriks Bobot Ke Dua

Y
Lapisan Output

Nilai Output

Gambar 2.3 – Arsitektur Jaringan dengan Banyak Lapisan

- Jaringan dengan lapisan kompetitif (competitive layer net)

Merupakan jenis jaringan saraf yang memiliki bobot yang telah

ditetapkan dan tidak memiliki proses pelatihan. Digunakan untuk


19

mengetahui neuron pemenang dari sejumlah neuron yang ada. Nilai

bobot untuk diri sendiri tiap neuron adalah 1, sedangkan untuk neuron

lain adalah bobot random negatif. Gambar 2.4 menunjukkan salah satu

contoh arsitektur jaringan dengan lapisan kompetitif yang memiliki bobot


A A



-η -η

Ai Aj

Gambar 2.4 – Arsitektur Jaringan dengan Lapisan Kompetitif

2.3.2. Fungsi Aktivasi

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan saraf

tiruan, antara lain:

- Fungsi Undak Biner (Hard Limit)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step

function) untuk mengkonversikan input dari suatu variabel yang bernilai

kontinu ke suatu output biner yaitu 0 atau 1 (Gambar 2.5). Fungsi undak

biner (hard limit) dirumuskan sebagai berikut:

0, 𝑗𝑖𝑘𝑎 𝑥 ≤ 0
𝑦= {
1, 𝑗𝑖𝑘𝑎 𝑥 > 0
20

y
1

0 x

Gambar 2.5 – Fungsi Undak Biner (Hard Limit)

- Fungsi Undak Biner (Threshold)

Fungsi undak biner dengan menggunakan nilai ambang sering juga

disebut dengan nama fungsi nilai ambang (threshold) atau fungsi

Heaviside (Gambar 2.6). Fungsi undak biner (dengan nilai ambang θ)

dirumuskan sebagai berikut:

0, 𝑗𝑖𝑘𝑎 𝑥 < θ
𝑦= {
1, 𝑗𝑖𝑘𝑎 𝑥 ≥ θ

y
1

0 θ x

Gambar 2.6 – Fungsi Undak Biner (Threshold)

- Fungsi Linier

Fungsi linear memiliki nilai output yang sama dengan nilai inputnya

(Gambar 2.7). Fungsi linear dirumuskan sebagai:

𝑦=𝑥
21

y
1
-1
0 1 x
-1

Gambar 2.6 – Fungsi Linier

- Fungsi Sigmoid

Fungsi dengan kurva berbentuk huruf S. Setiap nilai x dipetakan ke dalam

interval 0 sampai 1dinamakan fungsi sigmoid biner. Sedangkan output

yang memiliki rentang antara -1 sampai 1 disebut sigmoid tan.

Fungsi sigmoid biner dirumuskan sebagai berikut:


1
𝑦 = 𝑓(𝑥) = 1+𝑒 −𝜎𝑥

dengan: 𝑓 ′ (𝑥) = 𝜎𝑓(𝑥)[1 − 𝑓(𝑥)]

Fungsi sigmoid tan dirumuskan sebagai berikut:

𝑒 𝑥 −𝑒 −𝑥
𝑦 = 𝑓(𝑥) = 𝑒 𝑥 +𝑒 −𝑥

dengan: 𝑓 ′ (𝑥) = [1 + 𝑓(𝑥)]1 − 𝑓(𝑥)]

2.3.3. Metode Pembelajaran

JST sering diklasifikasikan ke dalam pembelajaran terawasi (supervised

learning) dan tidak terawasi (unsupervised learning) berdasarkan metode

pembelajarannya (Cho, Chun, & Lee, 2007). Metode pembelajaran pada jaringan

syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya.
22

Sedangkan metode pembelajaran yang tidak terawasi tidak memerlukan target

output.

Algoritma berikut ini merupakan metode pembelajaran JST yang terawasi

(Kusumadewi, 2003, p. 224).

- Perceptron

Perceptron biasanya digunakan untuk mengklasfikasikan suatu tipe pola

tertentu yang sering dikenal dengan pemisahan secara linear. Pada

dasarnya, perceptron pada jaringan syaraf dengan satu lapisan memiliki

bobot yang bisa diatur dan suatu nilai ambang (threshold). Algortima

yang digunakan oleh aturan perceptron ini akan mengatur parameter-

parameter bebasnya melalui proses pembelajaran.

- Backpropagation

Backpropagation merupakan algoritma pembelajaran yang terawasi dan

biasanya digunakan oleh perceptron dengan banyak lapisan untuk

mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada

pada lapisan tersembunyinya. Algoritma backpropagation menggunakan

error output untuk mengubah nilai bobot-bobotnya dalam arah mundur

(backward). Untuk mendapatkan error ini, tahap perambatan maju

(forward propagation) harus dikerjakan terlebih dahulu. Pada saat

perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi

aktivasi sigmoid, yaitu:

1
𝑓(𝑥) =
1 + 𝑒 −𝑥
23

Aristektur jaringan backpropagation dapat dilihat pada Gambar 2.7 di

bawah ini.

X V11 Y

V12 W11
Z W12
V21 W13
X V22 Y
W21
Z
W22
V31 W23
X V32
Y

Gambar 2.7 – Arsitektur Jaringan Backpropagation

Salah satu algoritma untuk pembelajaran JST yang tidak terawasi adalah

jaringan kohonen. Pada jaringan ini, suatu lapisan yang berisi neuron-neuron akan

menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok

yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang

memiliki vektor bobot paling cocok dengan pola input yaitu yang memiliki jarak

paling dekat akan terpilih sebagai pemenang. Neuron yang menjadi pemenang

beserta neuron-neuron tetangganya akan memperbaiki bobot-bobotnya.


24

2.4. Extreme Learning Machine

Extreme learning machine merupakan jaringan syaraf tiruan feedforward

dengan satu hidden layer atau lebih dikenal dengan istilah single hidden layer

feedforward neural network (Sun, Choi, Au, & Yu, 2008).

Tingkat pembelajaran jaringan syaraf feed-forward (feed-forward neural

network - FFNN) lebih banyak mengkonsumsi waktu. Menurut (Huang, Zhu, &

Siew, 2004) ada dua alasan kenapa ini bisa terjadi, pertama adalah karena

penggunaan algoritma pembelajaran dengan gradien yang lambat untuk pelatihan

jaringan syaraf dan yang ke dua adalah karena tuning berulang dari parameter

jaringan karena algoritma ini. Untuk mengatasi masalah ini, (Huang, Zhu, & Siew,

2004) mengajukan sebuah algoritma pembelajaran yang dinamakan extreme

learning machine (ELM) untuk jaringan syaraf single hidden layer feed-forward

(SLFNs) yang memilih secara acak bobot input dan secara analitik menentukan

bobot output SLNFs. (Huang, Zhu, & Siew, 2004) menyatakan “Secara teori,

algoritma ini cenderung memberikan kinerja generalisasi terbaik pada kecepatan

pembelajaran yang sangat cepat.”

ELM memiliki fitur yang menarik dan signifikan, berbeda dengan algoritma

pembelajaran berbasiskan gradien yang populer untuk jaringan syaraf feed-

forward. Fitur yang dimaksud adalah sebagai berikut (Huang, Zhu, & Siew, 2006):

- Kecepatan belajar ELM sangat cepat. Dalam simulasi yang dilaporkan

dalam literatur, fase pembelajaran ELM dapat diselesaikan dalam

hitungan detik untuk banyak aplikasi. Sebelumnya, tampaknya ada

penghalang kecepatan virtual yang sebagaian besar algortima

pembelajaran klasik tidak dapat menembusnya. Dan bukan hal yang tidak
25

biasa lagi kalau pelatihan jaringan syaraf feed-forward yang

menggunakan algorima pembelajaran klasik memerlukan waktu yang

cukup lama bahkan untuk aplikasi yang sederhana.

- ELM memiliki kinerja geneneralisasi yang lebih bak dibandingkan

pembelajaran berbasiskan gradien, seperti backpropagation dalam

kebanyakan kasus. Algoritma pembelajaran klasik berbasiskan gradien

dan beberapa algoritma pembelajaran lainnya menghadapi beberapa

masalah seperti minima lokal, tingkat pembelajaran yang tidak tepat, dan

lain-lain. Untuk menghindari masalah ini, beberapa metode seperti

peluruhan bobot dan metode pemberhentian lebih awal sering digunakan

pada algoritma klasik ini.

- ELM cenderung untuk mencapai solusi sederhana tanpa masalah sepele

seperti itu. Algoritma pembelajaran ELM terlihat jauh lebih sederhana

dari algoritma pembelajaran jaringan syaraf feed-forward kebanyakan.

Tidak seperti algoritma pembelajaran berbasiskan gradien yang hanya

bekerja untuk fungsi aktivasi terdiferensiasi, algortima ELM dapat

digunakan untuk melatih SLFNs dengan banyak fungsi aktivasi yang

tidak terdiferensiasi.
26

2.4.1. Cara Kerja Algoritma ELM

Gambar 2.8 merupakan struktur dari ELM.

Output
Layer
β

… Hidden
Layer
w

… Input
Layer

Xi1 Xi2 X…
i

Gambar 2.8 – Struktur ELM

Metode ELM mempunyai model matematis yang berbeda dari jaringan

syaraf tiruan feedforward. Model matematis dari ELM lebih sederhana dan efektif.

Berikut ini adalah model matematis dari ELM. Untuk N jumlah sampel yang

berbeda (Xi, ti)

𝑋𝑖 = [𝑋𝑖1 , 𝑋𝑖2 , … , 𝑋𝑖𝑛 ] 𝑇 𝜖 𝑅 𝑛 (1)

𝑋𝑡 = [𝑋𝑡1 , 𝑋𝑡2 , … , 𝑋𝑡𝑛 ] 𝑇 𝜖 𝑅 𝑛 (2)

Standar SLFNs dengan jumlah node tersembunyi sebanyak N dan fungsi

aktivasi g(x) dapat digambarkan secara matematis sebagai berikut:

∑𝑁 𝑁
𝑖=1 𝛽𝑖𝑔𝑖 (𝑥𝑗) = ∑𝑖=1 𝛽𝑖𝑔𝑖 (𝑊𝑖 . 𝑋𝑗 + 𝑏𝑖 ) = 𝑜𝑗 (3)

Dimana:

J = 1, 2, …, N
27

Wi = (Wi1, Wi2, … , Win)T merupakan vektor dari bobot (weight) yang

menghubungkan ith node tersembunyi dan

node input.

βi = (βi1, βi2, … , βin)T merupakan vektor bobot (weight vector) yang

menghubungkan ith node tersembunyi dan

node output.

bi threshold dari ith node tersembunyi

wixj merupakan inner produk dari wi dan xj

SLFNs dengan N hidden nodes dan activation function g ( x ) diasumsikan

dapat memperkirakan dengan tingkat error 0 atau dapat dinotasikan sebagai

berikut:

∑𝑁
𝑗=1‖𝑂𝑗 − 𝑡𝑗 ‖ = o sehingga 𝑂𝑗 = 𝑡𝑗 (4)

∑𝑁
𝑖=1 𝛽𝑖𝑔𝑖 (𝑊𝑖 . 𝑋𝑗 + 𝑏𝑖 ) = 𝑡𝑗 (5)

Persamaan [5] dapat dituliskan secara sederhana sebagai berikut:

𝐻𝛽 = 𝑇 (6)

𝐻 = (𝑤𝑖 , … , 𝑤𝑁 , 𝑏𝑖 , … , 𝑏𝑁 , 𝑥𝑖 , … , 𝑥𝑁 )

𝑔(𝑤𝑖 . 𝑥𝑖 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑖 + 𝑏𝑁 )
= ⋮ ⋮ ⋮ (7)
𝑔(𝑤𝑖 . 𝑥𝑁 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑁 + 𝑏𝑁 )

𝛽1𝑇
𝛽= ⋮ (8)
𝛽𝑁𝑇

𝑡1𝑇
𝑇= ⋮ (9)
𝑡𝑁𝑇

H pada persamaan [7] di atas adalah layar tersembunyi output matriks.

𝑔(𝑤𝑖 . 𝑥𝑖 + 𝑏𝑖 ) menunjukkan output dari neuron tersembunyi yang berhubungan


28

dengan input 𝑥𝑖 . 𝛽 merupakan matriks dari output bobot dan matriks T dari target

atau output.

Pada ELM bobot input dan bias tersembunyi ditentukan secara acak, maka

bobot output yang berhubungan dengan layer tersembunyi dapat ditentukan dari

persamaan [6].

𝛽 = 𝐻𝑇 𝑇 (10)

2.4.2. Implementasi ELM

Meskipun tergolong algoritma baru, beberapa penerapan ELM untuk

prediksi telah dilakukan, seperti prediksi properti material (El-Sebakhy, 2008),

prediksi permintaan barang (Agustina, Anggraeni, & Mukhlason, 2010), prediksi

penjualan di industri retail (Chen & Ou, 2011), dan klasifikasi nasabah bank

(Duan, Huang, & Wang, 2009).

Hasil penerapan metode ELM untuk prediksi permintaan barang

menunjukkan bahwa metode ELM memiliki tingkat akurasi lebih baik

dibandingkan dengan metode konvensional seperti Moving Average (MA) dan

Exponential Smoothing (ES). Di mana tingkat kesalahan (Mean Square Error dan

Mean Absolut Precentage Error) metode ELM lebih kecil dibandingkan dengan

dua metode konvensional tersebut. Berikut ini adalah perbandingan nilai MSE dan

MAPE antara metode ELM, MA, dan ES. (Agustina, Anggraeni, & Mukhlason,

2010)
29

Tabel 2.1 – Perbandingan Nilai MSE dan MAPE antara Metode ELM, MA,

dan ES untuk Data Kaos

MA ES ELM

MSE 116.74 502.19 0.0481

MAPE 19.19 32.93 0.0042

(Chen & Ou, 2011) mengkombinasikan metode Grey Relation Analysis

(GRA) dan ELM untuk model prediksi industri retail. Kombinasi ini disebut

dengan GELM. Kinerja GELM dibandingkan dengan model prediksi Generalized

ARCH (GARCH), Back Propagation Network (GBPN), dan GRA Multilayer

Functional Link Network (GMFLN) dengan hasil sebagai berikut:

Tabel 2.2 – Perbandingan Hasil dari Model Prediksi yang Berbeda

Tipe Model MAD MSE Lama Pelatihan

Model time series statistik GARCH 0.13876 0.03191 -

GBPN 0.09837 0.01979 11.573


Model jaringan syaraf
GMFLN 0.08911 0.01883 4.216
tiruan
GELM 0.07039 0.00907 0.3750

(Duan, Huang, & Wang, 2009) menggunakan ELM untuk mengklasifikasi

nasabah bank. Kinerja ELM juga dibandingkan dengan algoritma decision tree,

jaringan syaraf tiruan, serta Bayes dengan hasil sebagai berikut:


30

Tabel 2.3 – Perbandingan Waktu dan Keakuratan dari ELM, Decision

Tree, JST, dan Bayes

Waktu Keakuratan

Algoritma Training Testing (s) Training Testing

(s)

ELM 0.8590 0.3440 0.9530 0.9200

Decision 3.6520 1.3450 0.8600 0.8300

Tree

JST 3.1231 1.1240 0.9460 0.8840

Bayes 2.9315 0.9134 0.9840 0.9000

(Huang, Zhu, & Siew, 2006) melakukan evaluasi kinerja ELM dengan

membandingkannya dengan algoritma feed-forward yang cukup populer yaitu

backpropagation (BP) dan support vector machine for regression (SVR). Salah

satu hasil evaluasinya ditunjukkan pada tabel di bawah ini:

Tabel 2.4 – Perbandingan Kinerja dari Pembelajaran Fungsi: SinC

Algoritma Waktu (s) Training Testing Jumlah

Training Testing RMS Dev RMS Dev dari SV

s/node

ELM 0.125 0.031 0.1148 0.0037 0.0097 0.0028 20

BP 21.26 0.032 0.1196 0.0042 0.0159 0.0041 20

SVR 1273.4 5.9067 0.1149 0.0007 0.0130 0.0012 2499.9

Keterangan:
31

RMS = root mean square error

Dev = standar deviasi

Sebagai teknik pembelajaran, ELM telah mendemonstrasikan potensi yang

bagus untuk menyelesaikan masalah regresi dan klasifikasi. Akhir-akhir ini, teknik

ELM menerima perhatian yang cukup banyak dari komunitas computational

intelligence dan machine learning, baik dari segi teori dan aplikasinya (Huang,

Wang, & Lan, 2011).

2.4.3. ELM dan Logika Fuzzy

(Huynh & Won, 2009) mengajukan fungsi aktivasi bebasiskan logika fuzzy

untuk SLFN yang dilatih oleh algoritma ELM. Berdasarkan percobaan, hasilnya

menunjukkan bahwa fungsi aktivasi ini menawarkan kinerja yang baik yang sesuai

dengan fungsi aktivasi sigmoid.

2.5. Prediksi Topik-Topik Penelitian

Dalam perencanaan teknologi dan bisnis, sangat diperlukan untuk

memahami teknologi secara keseluruhan dan memprediksi apa yang akan terjadi

dalam waktu dekat (Kobayashi, Shirai, Hiyane, Kumeno, Inujima, & Yamauchi,

2005).

Penelitian mengenai prediksi trend-trend telah banyak dilakukan di banyak

domain. (Kobayashi, Shirai, Hiyane, Kumeno, Inujima, & Yamauchi, 2005)

memprediksi trend teknologi berdasarkan sumber dari internet. Subyek penting

lainnya dalam dokumen paten adalah kebutuhan manusia, khususnya pestisida,

obat-obatan, dan deterjen. Subyek paking besar dalam legiatan penelitian adalah
32

teknologi pangan, khususnya minyak kelapa, minyak kelapa sawit, dan

penyimpanan. Topik yang menonjol pada tahun 1993 sampai 1996 adalah proses

fermentasi, proses penyimpanan, dan alat pengering.

(Rahayu & Hasibuan, 2006) mengidentifikasi trend teknologi pada dokumen

paten Indonesia, laporan penelitian kimia dan bidang metallurgy. Tujuan dari

penelitiannya adalah untuk mengetahui trend topik yang inti, menonjol, dan

berkembang. Hasil penelitiannya menunjukkan subyek dan kata kunci yang

berulang pada dokumen dari tahun 1993 sampai 1997 adalah kimia organik,

terutama mengenai pewarnaan dan ekstraksi.

(Small, 2006) mengeksplorasi peluang menggunakan co-citation cluster

berdasarkan tiga periode waktu untuk melacak perkebangan dan pertumbuhan area

penelitian, dan kemudian memprediksi perubahan jangka dekatnya. Data setnya

berasal dari tiga data enam tahunan yang berulang yaitu: 1996-2001, 1997-2002

dan 1198-2003.

(Daim, Rueda, Martin, & Gerdsri, 2006) memprediksi tiga area teknologi

berkembang dengan mengintegrasikan penggunaan bibliometrik dan analisis paten

ke dalam tool teknologi prediksi seperti scenario planning, growth curves, dan

analogi. Teknologi yang diprediksi adalah sel bahan bakar, keamanan pangan, dan

teknologi penyimpanan optik.


BAB III. METODOLOGI

3.1. Kerangka Pikir

Teknik informatika yang memiliki andil yang cukup besar dalam berbagai

kegiatan manusia membuat penilitian dengan domain teknik informatika

merupakan hal yang menarik dilakukan. Penelitian murni maupun terapan

dilakukan untuk mengembangkan serta memperkaya pengetahuan mengenai

teknik informatika. Animo peneliti dalam melakukan riset di bidang teknik

informatika memunculkan sebuah kebutuhan untuk mengetahui trend atau

kecenderungan topik penelitian teknik informatika di masa depan. Oleh karena itu

perlu adanya prediksi untuk mengetahui trend-trend topik penelitian apa saja yang

berhubungan dengan teknik informatika.

Adalah extreme learning machine (ELM) yang merupakan metode jaringan

syaraf tiruan baru yang pertama kali diperkenalkan oleh Huang pada tahun 2004

(Huang, Zhu, & Siew, 2006). Metode pembelajaran extreme learning machine

dibuat untuk mengatasi kelemahan-kelemahan dari jaringan syaraf tiruan

feedforward terutama dalam hal kecepatan belajar (learning speed). Metode ini

memiliki keunggulan dalam menghasilkan kinerja generalisasi yang baik.

Penelitian ini akan mengimplementasikan ELM pada prediksi trend topik-

topik penelitian di bidang teknik informatika dan menganalisis keakuratan

algoritma ELM dalam memprediksi.

Secara garis besar prediksi menggunakan ELM di bagi menjadi tiga tahap

yaitu preprocessing data, training, dan testing (Agustina, Anggraeni, &

Mukhlason, 2010). Gambar 3.1 menunjukkan kerangka pikir dari penelitian ini.

33
34

Secara lebih rinci, tahapan prediksi dengan menggunakan metode ELM akan

dibahas pada sub bab selanjutnya.

Trend Teknologi Penggunaan TI Masalah Yang


Saat Ini yang Luas Harus Diselesaikan

Peneliti
Mengeksplorasi TI

Membutuhkan

Trend Topik Penelitian Paper Hasil


yang Menjanjikan Penelitian

Menghasilkan

Prediksi Trend Topik-Topik Penelitian Menggunakan Extreme Learning Machine

Studi
Analisis
Literatur

Implementasi Pengumpulan
ELM Data

Gambar 3.1 – Kerangka Pikir

3.2. Tata Laksana Penelitian

3.2.1. Tahapan Penelitian

Langkah-langkah pembuatan model prediksi topik-topik penelitian teknik

informatika dengan menggunakan metode ELM adalah: pengumpulan data,


35

implementasi metode ELM untuk prediksi melalui pembagian data, training dan

testing ELM, serta analisis hasil prediksi ELM.

Pada tahap awal penelitian dimulai dengan menentukan latar belakang dan

tujuan penelitian serta mendefinisikan ruang lingkup. Studi literatur dilakukan

untuk memperdalam pemahaman mengenai cara kerja metode ELM serta tahapan-

tahapan apa saja yang diperlukan untuk prediksi dengan menggunakan metode

ELM. Selain itu, studi literatur juga dilakukan untuk mengetahui arah penelitian

teknik informatika supaya pengumpulan data memiliki fokus yang lebih baik.

Tahap ke dua dari penelitian ini adalah pengumpulan data. Tahap ke tiga

adalah implementasi metode ELM melalui pembagian data, training dan testing

ELM. Tahap ke empat adalah analisis hasil prediksi ELM. Kemudian tahap

terakhir adalah menarik kesimpulan dan memberikan saran.

Persiapan Penelitian

Latar Belakang dan


Perumusan Masalah

Penentuan Tujuan
Studi Literatur
dan Ruang Lingkup

Pengumpulan Data

Implementasi ELM

Pembagian Data

Training ELM

Testing ELM

Analisis Prediksi ELM

Kesimpulan dan Saran


36

Gambar 3.2 – Tahapan Penelitian

Mulai

Pengumpulan
Data

Output: Data
Input: Data Time Pembagian
Training dan Data
Series Data
Testing

Training ELM

Input: Data Normalisasi


Training Data Training

Set Fungsi Aktivasi


dan Jumlah Hidden
Neuron

Hitung Bobot Output,


Bias Hidden Neuron
dan Bobot Input Tidak

Apakah
MSE <= Tidak
1%?

Ya

Output: Bobot
Denormalisasi
Input, Bias, dan
Output
Bobot Output

Input: Data Testing Testing ELM Output: Prediksi

Apakah
MSE <=
1%?

Ya

Analisis Hasil
Prediksi ELM

Selesai

Gambar 3.3 – Diagram Alur Prediksi dengan Metode ELM


37

3.2.2. Rencana Kegiatan

Tabel 3.1 – Rencana Kegiaatan

Bulan
No Kegiatan
1 2 3 4 5 6 7 8

1. Studi Literatur

2. Pengumpulan Data

3. Implementasi ELM

4. Analisis Kinerja ELM

5. Penulisan Tesis

3.3. Metode Pengumpulan Data

Data yang digunakan adalah data dari jurnal ilmiah yaitu IEEE Computer

Society. Di mana data yang diambil berupa judul, abstrak, dan kata kunci dari

jurnal yang disubmit dari tahun 1996 sampai tahun 2011. Data dari jurnal-jurnal

ini akan dipisah berdasarkan tahunnya.

Untuk mendapatkan jumlah penelitian topik tertentu setiap tahunnya, maka

data akan diproses terlebih dahulu. Data per tahun yang ada di dalam database

akan dikelompokkan berdasarkan taksonomi teknik informatika menurut (IEEE

Computer Society).
38

3.4. Metode Prediksi dengan ELM

Prediksi topik-topik penelitian teknik informatika ini akan menggunakan

MATLAB sebagai tool-nya.

- Pembagian data training dan testing

Proses training dan testing mutlak diperlukan pada proses prediksi

menggunakan ELM. Proses training digunakan untuk mengembangkan

proses ELM sedangkan testing digunakan untuk mengevaluasi

kemampuan ELM sebagai alat prediksi.

Pembagian data training dan testing akan dibagai dengan komposisi

sebagai berikut:

1. Data training sebanyak 80% dari total data

2. Data testing 20% dari total data

- Training ELM

Training ELM akan dilakukan dengan menggunakan tool MATLAB.

Proses training ELM dibagi lagi ke dalam lima bagian, yaitu:

1. Normalisasi data training

Data yang akan dimasukkan ke dalam ELM dinormalisasi sehingga

mempunyai nilai dengan rentang tertentu. Hal ini diperlukan karena

fungsi aktivasi yang digunakan akan menghasilkan output dengan

rentang data [0,1] atau [-1,1].

Berikut ini merupakan rumus yang digunakan untuk normalisasi:

(𝑥𝑝 − min 𝑥𝑝 )
𝑥 =2× − 1
(max 𝑥𝑝 − 𝑚𝑖𝑛 𝑥𝑝 )

Dimana:
39

x = nilai hasil normalisasi dengan rentang antara -1 sampai 1

𝑥𝑝 = nilai data asli yang belum dinormalisasi

𝑚𝑖𝑛 𝑥𝑝 = nilai minimum pada dataset

max 𝑥𝑝 = nilai maksimum pada dataset

2. Menentukan fungsi aktivasi dan jumlah hidden neuron

Pada proses training jumlah hidden neuron dan fungsi aktivasi dari

ELM ditentukan terlebih dahulu. Penelitian ini akan menggunakan

fungsi aktivasi sigmoid tan. Menurut (Sun, Choi, Au, & Yu, 2008)

ELM menghasilkan output peramalan yang stabil dengan jumlah

hidden neuron 0-30. Tetapi, jika output yang dihasilkan ELM

kurang optimal maka jumlah hidden neuron-nya akan diubah.

3. Menghitung bobot input, bias dari hidden neuron, dan bobot output.

Output dari proses pelatihan ELM adalah bobot input, bobot output,

dan bias dari hidden neuron dengan tingkat kesalahan rendah yang

diukur dengan MSE. Bobot input ditentukan secara random,

sedangkan bobot output merupakan invers dari matriks hidden layer

dan output. Secara matematis dapat ditulis sebagai berikut:

𝛽 = 𝐻𝑇 𝑇

𝐻 = (𝑤𝑖 , … , 𝑤𝑁 , 𝑏𝑖 , … , 𝑏𝑁 , 𝑥𝑖 , … , 𝑥𝑁 )

𝑔(𝑤𝑖 . 𝑥𝑖 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑖 + 𝑏𝑁 )
= ⋮ ⋮ ⋮
𝑔(𝑤𝑖 . 𝑥𝑁 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑁 + 𝑏𝑁 )

𝛽1𝑇 𝑡1𝑇
𝛽= ⋮ 𝑇= ⋮
𝛽𝑁𝑇 𝑡𝑁𝑇
40

4. Denormalisasi Output

Output yang dihasilkan dari proses pelatihan dideonrmalisasi.

Berikut rumus denormalisasi yang digunakan:

𝑥 = 0.5 × (𝑥𝑝 + 1) × (max 𝑥𝑝 − 𝑚𝑖𝑛 𝑥𝑝 ) + 𝑚𝑖𝑛 𝑥𝑝

Dimana:

x = nilai data setelah denormalisasi

𝑥𝑝 = nilai data asli yang belum denormalisasi

𝑚𝑖𝑛 𝑥𝑝 = nilai minimum pada dataset sebelum normalisasi

max 𝑥𝑝 = nilai maksimu pada dataset sebelum normalisasi

- Testing ELM

Berdasarkan bobot input dan bobot output yang didapatkan dari proses

training, maka tahap selanjutnya adalah melakukan peramalan dengan

ELM. Data yang digunakan adalah data testing sebanyak 20% dari data.

Pada tahap ini data input dinormalisasi dan didenormalisasi dengan

rentang dan rumus yang sama dengan data training.

3.5. Metode Analisis Kinerja ELM

Analisis keakuratan hasil prediksi kinerja ELM akan dilakukan dengan

melihat apakah tingkat kesalahan Mean Square Error (MSE) yang kecil. Berikut

ini adalah rumus dari MSE:


𝑁
1
𝑚𝑠𝑒 = ∑(𝑦𝑖 − 𝑡𝑖 )2
𝑁
𝑖=1

Dimana :

N = jumlah data

yi = data output
41

ti = data actual

Untuk menunjukkan kecepatan proses pembelajaran dan keakuratan ELM

maka kinerja ELM akan dibandingkan dengan kinerja jaringan syaraf tiruan pada

data yang sama.


DAFTAR PUSTAKA

Agustina, I. D., Anggraeni, W., & Mukhlason, A. (2010). Penerapan Metode

Extreme Learning Machine untuk Peramalan. ITS Library .

Aydin, I., Karakose, M., & Akin, a. E. (2009). The Prediction Algorithm Based on

Fuzzy Logic Using Time Series Data Mining Method. World Academy of

Science, Engineering and Technology .

Chen, F. L., & Ou, T. Y. (2011). Constructing A Sales Forecasting Model By

Integrating GRA and ELM : A Case Study For Retail Industry. International

Journal of Electronic Business Management , 107-121.

Cho, J., Chun, M., & Lee, D. (2007). Parameter Optimization of Extreme Learning

Machine Using Bacterial Foraging Algorithm. Citeseer , 742-747.

Comer, D. E., Gries, D., Mulder, M. C., Tucker, A., Turner, A. J., & Young, P. R.

(1989). Computing As A Discipline. Communications of the ACM 32 .

Din, N. M., & Fisal, N. (2008). Fuzzy Logic Bandwidth Prediction and Policing in

a DiffServ-Aware Network. Journal of Computers .

Duan, G., Huang, Z., & Wang, J. (2009). Extreme Learning Machine for Bank

Clients Classification. IEEE .

Eliyani. (2007). Peramalan Harga Saham Perusahaan Menggunakan Artificial

Neural Network dan Akaike Information Criterion. Seminar Nasional

Aplikasi Teknologi Informasi. Yogyakarta, Indonesia.

El-Sebakhy, E. A. (2008). Extreme Learning Machine as a New Framework in

Predicting Material Properties: Methodology and Comparison. The 12th

42
International Conference of International Association for Computer

Methods and Advances in Geomechanics. Goa, Indoa.

Fang, N., & Lu, J. (2009). Work in Progress - A Decision Tree Approach to

Predicting Student Performance in A HighEnrollment, High-Impact,and

Core Engineering Course. 39th ASEE/IEEE Frontiers in Education

Conference. San Antonio, Texas: IEEE.

G.Subbalakshmi, Ramesh, K., & Rao, M. C. (2011). Decision Support in Heart

Disease Prediction System using Naive Bayes. Indian Journal of Computer

Science and Engineering (IJCSE) .

Hoekstra, M. (2010). Hotel Booking Prediction by Means of Fuzzy Logic

Prediction. BMI Paper .

Huang, G. B., Wang, D. H., & Lan, Y. (2011). Extreme Learning Machines: A

Survey. Springer , 107-122.

Huang, G. B., Zhu, Q. Y., & Siew, C. K. (2006). Extreme Learning Machine :

Theory and Applications. Elsevier Science : Neurocomputing 70 , 489-501.

Huynh, H. T., & Won, Y. (2009). Extreme Learning Machine with Fuzzy

Activation Function. Fifth International Joint Conference on INC, IMS and

IDC. IEEE.

IEEE Computer Society. (n.d.). Retrieved 2012, from

http://www.computer.org/portal/web/publications/acmtaxonomy

Kobayashi, S., Shirai, Y., Hiyane, K., Kumeno, F., Inujima, H., & Yamauchi, N.

(2005). Technology Trends Analysis from the Internet Resources. Springer .

Kusumadewi, S. (2003). Artificial Intelligence (Teknik dan Aplikasinya).

Yogyakarta: Graha Ilmu.

43
Moss, L. T., & Atre, S. (2003). Business Intelligence Roadmap: The Complete

Project Lifecycle for. Boston: Addison Wesley.

Singh, R., & Balasundaram, S. (2007). Application of Extreme Learning Machine

Method for Time Series Analysis. World Academy of Science, Engineering

and Technology .

Sun, Z. L., Choi, T. M., Au, K. F., & Yu, Y. (2008). Sales Forecasting using

Extreme Learning Machine with Application in Fashion Retailing. Elsevier

Decision Support Systems 46 , 411-419.

Vercellis, C. (2009). Business Intelligence: Data Mining and Optimization For

Decision Making. Chennai: John Wiley & Sons.

44
LAMPIRAN

Taksonomi teknik informatika berdasarkan (IEEE Computer Society):


1. General Literature
0. General
I. Biographies/Autobiographies
II. Conference Proceedings
III. General Literary Works
I. Introductory and Survey
II. Reference
III. Miscellaneous

2. Hardware
0. General
I. Control Structures and Microprogramming
1. General
2. Control Design Styles
i. Hardwired control
ii. Microprogrammed logic arrays
iii. Writable control store
3. Control Structure Performance Analysis and Design Aids
i. Automatic synthesis
ii. Formal models
iii. Simulation
4. Control Structure Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
5. Microprogram Design Aids
i. Firmware engineering
ii. Languages and compilers
iii. Machine-independent microcode generation
iv. Optimization
v. Verification
6. Microcode Applications
i. Direct data manipulation
ii. Firmware support of operating systems/instruction sets
iii. Instruction set interpretation
iv. Peripheral control
v. Special-purpose
7. Miscellaneous
i. Emerging technologies
II. Arithmetic and Logic Structures
1. General

L1
2. Design Styles
i. Calculator
ii. Parallel
iii. Pipeline
iv. Multiple valued logic
3. Performance Analysis and Design Aids
i. Simulation
ii. Verification
iii. Worst-case analysis
4. Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
5. High-Speed Arithmetic
i. Algorithms
ii. Cost/performance
6. Miscellaneous
III. Memory Structures
1. General
2. Semiconductor Memories
i. DRAM
ii. ROM
iii. SRAM
3. Design Styles
i. Associative memories
ii. Cache memories
iii. Interleaved memories
iv. Mass storage
v. Primary memory
vi. Sequential-access memory
vii. Shared memory
viii. Virtual memory
4. Performance Analysis and Design Aids
i. Formal models
ii. Simulation
iii. Worst-case analysis
5. Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
6. Miscellaneous
IV. I/O and Data Communications
1. General
2. Data Communications Devices
i. Processors
ii. Receivers

L2
iii. Transmitters
3. Input/Output Devices
i. Channels and controllers
ii. Data terminals and printers
iii. Image display
iv. Voice
4. Interconnections (Subsystems)
i. Asynchronous/synchronous operation
ii. Fiber optics
iii. Interfaces
iv. Parallel I/O
v. Physical structures
vi. Topology
vii. Web technologies
viii. Wireless systems
5. Performance Analysis and Design Aids
i. Formal models
ii. Simulation
iii. Verification
iv. Worst-case analysis
6. Reliability, Testing, and Fault-Tolerance
i. Built-in tests
ii. Diagnostics
iii. Error-checking
iv. Hardware reliability
v. Redundant design
vi. Test generation
7. Miscellaneous
V. Register-Transfer-Level Implementation
1. General
2. Design
i. Arithmetic and logic units
ii. Control design
iii. Data-path design
iv. Memory design
v. Styles
3. Design Aids
i. Automatic synthesis
ii. Hardware description languages
iii. Optimization
iv. Simulation
v. Verification
4. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Redundant design
iv. Test generation
v. Testability

L3
5. Miscellaneous
VI. Logic Design
1. General
2. Design Styles
i. Cellular arrays and automata
ii. Combinational logic
iii. Logic arrays
iv. Memory control and access
v. Memory used as logic
vi. Parallel circuits
vii. Sequential circuits
3. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Redundant design
iv. Test generation
v. Testability
4. Design Aids
i. Automatic synthesis
ii. Hardware description languages
iii. Optimization
iv. Simulation
v. Switching theory
vi. Verification
5. Miscellaneous
VII. Integrated Circuits
1. General
2. Types and Design Styles
i. Advanced technologies
ii. Algorithms implemented in hardware
iii. Gate arrays
iv. Input/output circuits
v. Memory technologies
vi. Microprocessors and microcomputers
vii. Network connectivity chips
viii. Standard cells
ix. VLSI
3. Design Aids
i. Graphics
ii. Layout
iii. Placement and routing
iv. Simulation
v. Verification
4. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Fault injection
iv. Redundant design

L4
v. Test generation
vi. Testability
5. Miscellaneous
VIII. Performance and Reliability
1. General
2. Reliability, Testing, and Fault-Tolerance
3. Performance Analysis and Design Aids
4. Miscellaneous
IX. Power Management
1. Low-power design
2. Energy-aware systems
X. Miscellaneous
1. Design management

3. Computer Systems Organization


0. General
1. Emerging technologies
2. Hardware/software interfaces
3. Instruction set design
4. Modeling of computer architecture
5. System architectures, integration and modeling
6. Systems specification methodology
I. Processor Architectures
1. General
2. Single Data Stream Architectures
i. MISD processors
ii. Pipeline processors
iii. RISC/CISC, VLIW architectures
iv. SISD processors
v. Von Neumann architectures
3. Multiple Data Stream Architectures (Multiprocessors)
i. Array and vector processors
ii. Associative processors
iii. Connection machines
iv. Interconnection architectures
v. Load balancing and task assignment
vi. MIMD processors
vii. Parallel processors
viii. Pipeline processors
ix. TC scheduling and synchronization
x. SIMD processors
4. Other Architecture Styles
i. Adaptable architectures
ii. Analog computers
iii. Capability architectures
iv. Cellular architecture
v. Dataflow architectures
vi. Heterogeneous (hybrid) systems

L5
vii. High-level language architectures
viii. Multithreaded processors
ix. Neural nets
x. Neurocomputers
xi. Pipeline processors
xii. Stack-oriented processors
5. Parallel Architectures
i. Distributed architectures
ii. Mobile processors
iii. Real-time distributed
iv. Scheduling and task partitioning
6. Miscellaneous
i. Analog computers
ii. Hybrid systems
II. Communication/Networking and Information Technology
1. General
i. Architecture
ii. Data communications
iii. Emerging technologies
iv. Infrastructure protection
v. Interprocessor communications
vi. Network-level security and protection
vii. OSI reference model
viii. Standards
2. Network Architecture and Design
i. ATM
ii. Centralized networks
iii. Circuit-switching networks
iv. Distributed networks
v. Frame relay networks
vi. ISDN
vii. Network communications
viii. Network topology
ix. Packet-switching networks
x. Store and forward networks
xi. Wireless communication
3. Network Protocols
i. Applications
ii. Protocol architecture
iii. Protocol verification
iv. Routing protocols
4. Network Operations
i. Network management
ii. Network monitoring
iii. Public networks
5. Distributed Systems
i. Client/server
ii. Distributed applications

L6
iii. Distributed databases
iv. Network operating systems
6. Local-Area Networks
i. Access schemes
ii. Buses
iii. Ethernet
iv. High-speed
v. Internet
vi. Token rings
7. Internetworking
i. Bridges
ii. Gateways
iii. Multicast
iv. Protocols
v. Routers
vi. Standards
8. Wide-area networks
i. CATV
ii. Optical fiber
iii. Sensor networks
iv. Telephony
v. Wireless
9. Mobile Computing
i. Algorithm/protocol design and analysis
ii. Architectures
iii. Mobile communication systems
iv. Mobile environments
v. Support services
10. Miscellaneous
III. Special-Purpose and Application-Based Systems
1. Application studies resulting in better multiple-processor systems
2. Microprocessor/microcomputer applications
3. Process control systems
4. Real-time and embedded systems
5. Reconfigurable hardware
6. Signal processing systems
7. Smartcards
8. Ubiquitous computing
IV. Performance of Systems
1. Design studies
2. Fault tolerance
3. Measurement techniques
4. Modeling techniques
5. Performance attributes
6. Reliability, availability, and serviceability
7. Measurement, evaluation, modeling, simulation of multiple-
processor systems
V. Computer System Implementation

L7
1. General
2. Large and Medium ("Mainframe")
i. Super (very large) computers
3. Minicomputers
4. Microcomputers
i. Microprocessors
ii. Personal computers
iii. Portable devices
iv. Workstations
5. VLSI Systems
i. Impact of VLSI on system design
6. Servers
i. Web server
ii. Web browser
7. Multiprocessor Systems
8. Wearable Computers
9. Miscellaneous

4. Software/Software Engineering
0. General
I. Programming Techniques
1. General
2. Applicative (Functional) Programming
3. Automatic Programming
4. Concurrent Programming
5. Sequential Programming
6. Object-Oriented Programming
7. Logic Programming
8. Visual Programming
9. Distributed programming
10. Miscellaneous
II. Software Engineering
1. General
i. Protection mechanisms
ii. Software psychology
iii. Software engineering for Internet projects
iv. Standards
v. Surveys of historical development of one particular area
2. Requirements/Specifications
i. Analysis
ii. Elicitation methods
iii. Languages
iv. Management
v. Methodologies
vi. Process
vii. Specification
viii. Tools
ix. Validation

L8
3. Design Tools and Techniques
i. CASE
ii. Decision tables
iii. Distributed/Internet based software engineering tools and
techniques
iv. Modules and interfaces
v. Programmer workbench
4. Coding Tools and Techniques
i. Object-oriented programming
ii. Pretty printers
iii. Program editors
iv. Reentrant code
v. Standards
vi. Structured programming
vii. Top-down programming
5. Software/Program Verification
i. Assertion checkers, assertion languages, performance
ii. Class invariants
iii. Correctness proofs
iv. Formal methods
v. Model checking
vi. Programming by contract
vii. Reliability
viii. Statistical methods
ix. Validation
6. Testing and Debugging
i. Code inspections and walkthroughs
ii. Debugging aids
iii. Diagnostics
iv. Distributed debugging
v. Dumps
vi. Error handling and recovery
vii. Monitors
viii. Reliability
ix. Symbolic execution
x. Test levels
xi. Testing strategies
xii. Test design
xiii. Test coverage of code
xiv. Test coverage of specifications
xv. Test execution
xvi. Test documentation
xvii. Test management
xviii. Testing tools
xix. Tracing
xx. Usability testing
7. Programming Environments/Construction Tools
i. Environments for multiple-processor systems

L9
ii. Graphical environments
iii. Integrated environments
iv. Interactive environments
v. Programmer workbench
8. Distribution, Maintenance, and Enhancement
i. Conversion from sequential to parallel forms
ii. Corrections
iii. Documentation
iv. Enhancement
v. Evolving Internet applications
vi. Extensibility
vii. Maintainability
viii. Maintenance management
ix. Maintenance measurement
x. Maintenance planning
xi. Maintenance process
xii. Portability
xiii. Restructuring, reverse engineering, and reengineering
xiv. Version control
9. Metrics/Measurement
i. Complexity measures
ii. Performance measures
iii. Process metrics
iv. Product metrics
v. Software science
10. Management
i. Copyrights
ii. Cost estimation
iii. Enactment
iv. Initiation and scope definition
v. Organizational management and coordination
vi. Planning
vii. Postclosure activities
viii. Productivity
ix. Programming teams
x. Project close out
xi. Project control & modeling
xii. Review and evaluation
xiii. Risk management
xiv. Schedule and organizational issues
xv. Software acquisition
xvi. Time estimation
11. Design
i. Design concepts
ii. Design notations and documentation
iii. Representation
iv. State diagrams
v. Evolutionary prototyping

L10
vi. Methodologies
vii. Object-oriented design methods
viii. Quality analysis and evaluation
ix. Rapid prototyping
x. Representation
12. Software Architectures
i. Data abstraction
ii. Domain-specific architectures
iii. Information hiding
iv. Languages
v. Patterns
13. Interoperability
i. Data mapping
ii. Distributed objects
iii. Interface definition languages
14. Reusable Software
i. Domain engineering
ii. Reusable libraries
iii. Reuse models
15. Human Factors in Software Design
i. User interfaces
16. Software and System Safety
17. Configuration Management
i. Configuration auditing
ii. Configuration control
iii. Configuration identification
iv. Configuration management process
v. Configuration status accounting
vi. Software release management and delivery
18. Software Construction
i. Construction planning
ii. Code design
iii. Code tuning
iv. Data design and management
v. Error processing
vi. Source code organization
vii. Code documentation
viii. Construction QA
ix. Programming paradigms
x. System integration and implementation
19. Software Engineering Process
i. Life cycle
ii. Process infrastructure
iii. Process measurement
iv. Process definition
v. Software process models
vi. Qualitative process analysis
vii. Process implementation and change

L11
20. Software Quality/SQA
i. Quality concepts
ii. Planning for SQA and V&V
iii. Methods for SQA and V&V
iv. Measurement applied to SQA and V&V
21. Miscellaneous
i. Software libraries
ii. System issues
III. Programming Languages
1. General
i. Standards
2. Formal Definitions and Theory
i. Semantics
ii. Syntax
3. Language Classifications
i. Applicative (functional) languages
ii. Componentware
iii. Compression technologies
iv. Concurrent, distributed, and parallel languages
v. Constraint and logic languages
vi. Dataflow languages
vii. Design languages
viii. Development tools
ix. Extensible languages
x. Java
xi. Macro and assembly languages
xii. Microprogramming languages
xiii. Multiparadigm languages
xiv. Nondeterministic languages
xv. Nonprocedural languages
xvi. Object-oriented languages
xvii. Query languages
xviii. Scripting languages
xix. Specialized application languages
xx. Very high-level languages
4. Language Constructs and Features
i. Abstract data types
ii. Classes and objects
iii. Concurrent programming structures
iv. Constraints
v. Control structures
vi. Coroutines
vii. Data types and structures
viii. Distributed objects, components, containers
ix. Dynamic storage management
x. Frameworks
xi. Inheritance
xii. Input/output

L12
xiii. Modules, packages
xiv. Patterns
xv. Polymorphism
xvi. Procedures, functions, and subroutines
xvii. Recursion
5. Processors
i. Code generation
ii. Compilers
iii. Debuggers
iv. Incremental compilers
v. Interpreters
vi. Memory management
vii. Optimization
viii. Parsing
ix. Preprocessors
x. Retargetable compilers
xi. Runtime environments
xii. Translator writing systems and compile
6. Miscellaneous
IV. Operating Systems
1. General
2. Process Management
i. Concurrency
ii. Deadlocks
iii. Multiprocessing/multiprogramming/multitasking
iv. Mutual exclusion
v. Scheduling
vi. Synchronization
vii. Threads
3. Storage Management
i. Allocation/deallocation strategies
ii. Distributed memories
iii. Garbage collection
iv. Main memory
v. Secondary storage
vi. Segmentation
vii. Storage hierarchies
viii. Swapping
ix. Virtual memory
4. File Systems Management
i. Access methods
ii. Directory structures
iii. Distributed file systems
iv. File organization
v. Maintenance
5. Communications Management
i. Buffering
ii. Input/output

L13
iii. Message sending
iv. Network communication
v. Terminal management
6. Reliability
i. Backup procedures
ii. Checkpoint/restart
iii. Disconnected operation
iv. Fault-tolerance
v. High availability
vi. Verification
7. Security and Privacy Protection
i. Access controls
ii. Authentication
iii. Cryptographic controls
iv. Information flow controls
v. Invasive software
vi. Security kernels
vii. Verification
8. Organization and Design
i. Batch processing systems
ii. Distributed systems
iii. Hierarchical design
iv. Interactive systems
v. Real-time systems and embedded systems
vi. Parallel systems
9. Performance
i. Measurements
ii. Modeling and prediction
iii. Monitors
iv. Operational analysis
v. Queuing theory
vi. Simulation
vii. Stochastic analysis
10. Systems Programs and Utilities
i. Command and control languages
ii. Linkers
iii. Loaders
iv. Window managers
11. Support for Adaptation
i. Application-aware adaptation
ii. Application-transparent adaptation
iii. Fidelity, agility, and stability
iv. Low-bandwidth operation
v. Transcoding
12. Miscellaneous

5. Data
0. General

L14
1. Data communications aspects
2. Data dependencies
3. Data encryption
4. File organization
5. Knowledge and data engineering tools and techniques
6. System applications and experience
I. Data Structures
1. Arrays
2. Distributed data structures
3. Distributed file systems
4. Graphs and networks
5. Lists, stacks, and queues
6. Records
7. Tables
8. Trees
II. Data Storage Representations
1. Composite structures
2. Contiguous representations
3. Hash-table representations
4. Linked representations
5. Object representation
6. Primitive data items
III. Data Encryption
1. Code breaking
2. DES
3. Public key cryptosystems
4. Standards
IV. Coding and Information Theory
1. Data compaction and compression
2. Error control codes
3. Normal models of communication
4. Nonsecret encoding schemes
V. Files
1. Backup/recovery
2. Optimization
3. Organization/structure
4. Sorting/searching
VI. Miscellaneous

6. Theory of Computation
0. General
I. Computation by Abstract Devices
1. General
2. Models of Computation
i. Automata
ii. Bounded-action devices
iii. Computability theory
iv. Relations between models

L15
v. Self-modifying machines
vi. Unbounded-action devices
3. Modes of Computation
i. Alternation and nondeterminism
ii. Interactive and reactive computation
iii. Online computation
iv. Parallelism and concurrency
v. Probabilistic computation
vi. Relations among modes
vii. Relativized computation
4. Complexity Measures and Classes
i. Complexity hierarchies
ii. Machine-independent complexity
iii. Reducibility and completeness
iv. Relations among complexity classes
v. Relations among complexity measures
5. Miscellaneous
II. Analysis of Algorithms and Problem Complexity
1. General
2. Numerical Algorithms and Problems
i. Computation of transforms
ii. Computations in finite fields
iii. Computations on matrices
iv. Computations on polynomials
v. Number-theoretic computations
3. Nonnumerical Algorithms and Problems
i. Complexity of proof procedures
ii. Computations on discrete structures
iii. Geometrical problems and computations
iv. Pattern matching
v. Routing and layout
vi. Sequencing and scheduling
4. Sorting and searching
5. Miscellaneous
III. Logics and Meanings of Programs
1. General
2. Specifying and Verifying and Reasoning about Programs
i. Assertions
ii. Invariants
iii. Logics of programs
iv. Mechanical verification
v. Pre- and post-conditions
vi. Specification techniques
3. Semantics of Programming Languages
i. Algebraic approaches to semantics
ii. Denotational semantics
iii. Operational semantics
iv. Partial evaluation

L16
v. Process models
vi. Program analysis
4. Studies of Program Constructs
i. Control primitives
ii. Functional constructs
iii. Object-oriented constructs
iv. Program and recursion schemes
v. Type structure
5. Miscellaneous
IV. Mathematical Logic and Formal Languages
1. General
2. Mathematical Logic
i. Computability theory
ii. Computational logic
iii. Lambda calculus and related systems
iv. Logic and constraint programming
v. Mechanical theorem proving
vi. Modal logic
vii. Model theory
viii. Proof theory
ix. Recursive function theory
x. Set theory
xi. Temporal logic
3. Grammars and Other Rewriting Systems
i. Decision problems
ii. Grammar types
iii. Parallel rewriting systems
iv. Parsing
v. Thue systems
4. Formal Languages
i. Algebraic language theory
ii. Classes defined by grammars or automata
iii. Classes defined by resource-bounded automata
iv. Decision problems
v. Operations on languages
5. Miscellaneous
V. Miscellaneous

7. Mathematics of Computing
0. General
I. Numerical Analysis
1. General
i. Computer arithmetic
ii. Conditioning and ill-conditioning
iii. Error analysis
iv. Interval arithmetic
v. Multiple precision arithmetic
vi. Numerical algorithms

L17
vii. Parallel algorithms
viii. Stability and instability
2. Interpolation
i. Difference formulas
ii. Extrapolation
iii. Interpolation formulas
iv. Smoothing
v. Spline and piecewise polynomial interpolation
3. Approximation
4. Approximation of surfaces and contours
i. Chebyshev approximation and theory
ii. Elementary function approximation
iii. Fast Fourier transforms
iv. Least squares approximation
v. Linear approximation
vi. Minimax approximation and algorithms
vii. Nonlinear approximation
viii. Rational approximation
ix. Special function approximations
x. Spline and piecewise polynomial approximation
xi. Wavelets and fractals
5. Numerical Linear Algebra
i. Conditioning
ii. Determinants
iii. Eigenvalues and eigenvectors
iv. Error analysis
v. Linear systems
vi. Matrix inversion
vii. Pseudoinverses
viii. Singular value decomposition
ix. Sparse, structured, and very large systems
6. Quadrature and Numerical Differentiation
i. Adaptive and iterative quadrature
ii. Automatic differentiation
iii. Equal interval integration
iv. Error analysis
v. Finite difference methods
vi. Gaussian quadrature
vii. Iterative methods
viii. Multidimensional (multiple) quadrature
7. Roots of Nonlinear Equations
i. Continuation (homotopy) methods
ii. Convergence
iii. Error analysis
iv. Iterative methods
v. Polynomials, methods for
vi. Systems of equations
8. Optimization

L18
i. Constrained optimization
ii. Convex programming
iii. Global optimization
iv. Gradient methods
v. Inter programming
vi. Least squares methods
vii. Linear programming
viii. Nonlinear programming
ix. Quadratic programming methods
x. Simulated annealing
xi. Stochastic programming
xii. Unconstrained optimization
9. Ordinary Differential Equations
i. Boundary value problems
ii. Chaotic systems
iii. Convergence and stability
iv. Differential-algebraic equations
v. Error analysis
vi. Finite difference methods
vii. Initial value problems
viii. Multistep and multivalue methods
ix. One-step (single step) methods
x. Stiff equations
10. Partial Differential Equations
i. Domain decomposition methods
ii. Elliptic equations
iii. Finite difference methods
iv. Finite element methods
v. Finite volume methods
vi. Hyperbolic equations
vii. Inverse problems
viii. Iterative solution techniques
ix. Method of lines
x. Multigrid and multilevel methods
xi. Parabolic equations
xii. Spectral methods
11. Integral Equations
i. Delay equations
ii. Fredholm equation
iii. Intro-differential equations
iv. Volterra equations
12. Applications
13. Miscellaneous
II. Discrete Mathematics
1. General
2. Combinatorics
i. Combinatorial algorithms
ii. Counting problems

L19
iii. Generating functions
iv. Permutations and combinations
v. Recurrences and difference equations
3. Graph Theory
i. Graph algorithms
ii. Graph labeling
iii. Hypergraphs
iv. Network problems
v. Path and circuit problems
vi. Trees
4. Applications
5. Miscellaneous
III. Probability and Statistics
1. Contingency table analysis
2. Correlation and regression analysis
3. Distribution functions
4. Experimental design
5. Markov processes
6. Multivariate statistics
7. Nonparametric statistics
8. Probabilistic algorithms
9. Queuing theory
10. Random number generation
11. Reliability and life testing
12. Renewal theory
13. Robust regression
14. Statistical computing
15. Statistical software
16. Stochastic processes
17. Survival analysis
18. Time series analysis
IV. Mathematical Software
1. Algorithm design and analysis
2. Certification and testing
3. Documentation
4. Efficiency
5. Parallel and vector implementations
6. Portability
7. Reliability and robustness
8. User interfaces
9. Verification
V. Miscellaneous
1. Queuing theory

8. Information Technology and Systems


0. General
1. Infrastructure Protection
I. Models and Principles

L20
1. General
2. Systems and Information Theory
i. General systems theory
ii. Information theory
iii. Value of information
3. User/Machine Systems
i. Human factors
ii. Human-centered computing
iii. Human information processing
iv. Software psychology
4. Miscellaneous
II. Database Management
1. General
i. Security, integrity, and protection
ii. Database design, modeling and management
iii. Query design and implementation languages
2. Logical Design
i. Data models
ii. Database architectures
iii. Database integration
iv. Database models
v. Normal forms
vi. Schema and subschema
3. Physical Design
i. Access methods
ii. Deadlock avoidance
iii. Indexing methods
iv. Physical database design prototypes
v. Recovery and restart
4. Languages
i. Data description languages
ii. Data manipulation languages
iii. Database (persistent) programming languages
iv. Database semantics
v. Query languages
vi. Report writers
5. Systems
i. Active databases
ii. Buffer management
iii. Concurrency
iv. Distributed databases
v. Multimedia databases
vi. Object-oriented databases
vii. Parallel databases
viii. Query processing
ix. Relational database
x. Rule-based databases
xi. Spatial databases

L21
xii. Statistical databases
xiii. Temporal databases
xiv. Textual databases
xv. Transaction processing
xvi. Workflow management
6. Heterogeneous Databases
i. Data translation
ii. Program translation
7. Database Machines
8. Database Administration
i. Data dictionary/directory
ii. Data warehouse and repository
iii. Logging and recovery
iv. Security, integrity, and protection
9. Database Applications
i. Bioinformatics (genome or protein) databases
ii. Clustering, classification, and association rules
iii. Data and knowledge visualization
iv. Data mining
v. Feature extraction or construction
vi. Knowledge management applications
vii. Image databases
viii. Interactive data exploration and discovery
ix. Mining methods and algorithms
x. Modeling structured, textual and multimedia data
xi. Personalization
xii. Text mining
xiii. Web mining
xiv. Scientific databases
xv. Spatial databases and GIS
xvi. Statistical databases
10. Miscellaneous
III. Information Storage and Retrieval
1. General
i. Web Search
2. Context Analysis and Indexing
i. Abstracting methods
ii. Dictionaries
iii. Indexing methods
iv. Linguistic processing
v. Thesauruses
3. Information Storage
i. Document/file management
ii. File organization
iii. Record classification
iv. Storage/repositories
4. Information Search and Retrieval
i. Clustering

L22
ii. Information filtering
iii. Internet search
iv. Metadata
v. Query formulation
vi. Relevance feedback
vii. Retrieval models
viii. Search process
ix. Selection process
5. Systems and Software
i. Current awareness systems
ii. Distributed systems
iii. Information networks
iv. Performance evaluation
v. Question-answering systems
vi. User profiles and alert services
6. Online Information Services
i. Commercial services
ii. Data sharing
iii. DOM
iv. HTML/DHTML CSS
v. Web-based services
vi. XML/XSL/RDF
7. Library Automation
i. Large text archives
8. Digital Libraries
i. Collection
ii. Dissemination
iii. Standards
iv. Systems issues
v. User issues
9. Miscellaneous
IV. Information Technology and Systems Applications
1. General
2. Office Automation
i. Desktop publishing
ii. Equipment
iii. Groupware
iv. Spreadsheets
v. Time management
vi. Word processing
vii. Workflow management
3. Types of Systems
i. Decision support
ii. Logistics
4. Communications Applications
i. Bulletin boards
ii. Computer conferencing, teleconferencing, and
videoconferencing

L23
iii. Electronic mail
iv. Information browsers
v. Videotex
5. Miscellaneous
V. Information Interfaces and Representation (HCI)
1. General
2. Multimedia Information Systems
i. Animations
ii. Artificial, augmented, and virtual realities
iii. Audio input/output
iv. Evaluation/methodology
v. Hypertext navigation and maps
vi. Image/video retrieval
vii. Video
3. User Interfaces
i. Auditory (non-speech) feedback
ii. Benchmarking
iii. Design for wearability
iv. Ergonomics
v. Evaluation/methodology
vi. Graphical user interfaces
vii. Haptic I/O
viii. Input devices and strategies
ix. Interaction styles
x. Natural language
xi. Prototyping
xii. Screen design
xiii. Standardization
xiv. Style guides
xv. Theory and methods
xvi. Training, help, and documentation
xvii. User-centered design
xviii. User interface management systems
xix. Vision I/O
xx. Voice I/O
xxi. Windowing systems
4. Group and Organization Interfaces
i. Asynchronous interaction
ii. Collaborative computing
iii. Computer-supported cooperative work
iv. Evaluation/methodology
v. Organizational design
vi. Synchronous interaction
vii. Theory and models
viii. Web-based interaction
5. Hypertext/Hypermedia
i. Architectures
ii. Navigation

L24
iii. Theory
iv. User issues
6. Sound and Music Computing
i. Methodologies and techniques
ii. Modeling
iii. Signal analysis, synthesis, and processing
iv. Systems
7. Miscellaneous
VI. Miscellaneous

9. Computing Methodologies
0. General
I. Symbolic and algebraic manipulation
1. General
2. Expressions and Their Representation
i. Representations
ii. Simplification of expressions
3. Algorithms
i. Algebraic algorithms
ii. Algorithms for data and knowledge management
iii. Analysis of algorithms
iv. Nonalgebraic algorithms
v. Performance evaluation of algorithms and systems
4. Languages and Systems
i. Evaluation strategies
ii. Nonprocedural languages
iii. Special-purpose algebraic systems
iv. Special-purpose hardware
v. Substitution mechanisms
5. Applications
6. Miscellaneous
II. Artificial Intelligence
1. General
i. Cognitive simulation
ii. Philosophical foundations
2. Applications and Expert Knowledge-Intensive Systems
i. Cartography
ii. Computer vision
iii. Decision support
iv. Education
v. Environment
vi. Games and infotainment
vii. Industrial automation
viii. Law
ix. Mathematics
x. Medicine and science
xi. Military
xii. Natural language interfaces

L25
xiii. Office automation
xiv. Space
xv. Transportation
3. Automatic Programming
i. Automatic analysis of algorithms
ii. Program modification
iii. Program synthesis
iv. Program transformation
v. Program verification
4. Deduction and Theorem Proving and Knowledge Processing
i. Answer/reason extraction
ii. Constraint-based processing
iii. Deduction
iv. Inference engines
v. Logic processing
vi. Logic programming
vii. Mathematical induction
viii. Metatheory
ix. Nonmonotonic reasoning and belief revision
x. Resolution
xi. Rule-based processing
xii. Uncertainty, "fuzzy," and probabilistic reasoning
5. Knowledge Representation Formalisms and Methods
i. Agent communication languages
ii. Distributed representations
iii. Frames and scripts
iv. Knowledge base management
v. Knowledge base verification
vi. Modal logic
vii. Predicate logic
viii. Relation systems
ix. Representation languages
x. Representations (procedural and rule-based)
xi. Semantic networks
xii. Storage mechanisms
xiii. Temporal logic
6. Programming Languages and Software
i. Expert and knowledge-intensive system tools and
techniques
7. Learning
i. Analogies
ii. Concept learning
iii. Connectionism and neural nets
iv. Heuristics design
v. Induction
vi. Knowledge acquisition
vii. Machine learning
viii. Language acquisition

L26
ix. Parameter learning
8. Natural Language Processing
i. Discourse
ii. Language generation
iii. Language models
iv. Language parsing and understanding
v. Language summarization
vi. Machine translation
vii. Speech recognition and synthesis
viii. Text analysis
ix. Web text analysis
9. Problem Solving, Control Methods, and Search
i. Backtracking
ii. Constraint satisfaction
iii. Control theory
iv. Dynamic programming
v. Graph and tree search strategies
vi. Heuristic methods
vii. Plan execution, formation, and generation
viii. Scheduling
10. Robotics
i. Autonomous vehicles
ii. Biorobotics
iii. Commercial robots and applications
iv. Kinematics and dynamics
v. Manipulators
vi. Nanorobots
vii. Neuromorphic computing
viii. Operator interfaces
ix. Propelling mechanisms
x. Sensors
xi. Workcell organization and planning
xii. Vision
11. Vision and Scene Understanding
i. 3D/stereo scene analysis
ii. Architecture and control structures
iii. Intensity, color, photometry, and thresholding
iv. Modeling and recovery of physical attributes
v. Motion
vi. Perceptual reasoning
vii. Representations, data structures, and transforms
viii. Shape
ix. Texture
x. Video analysis
12. Distributed Artificial Intelligence
i. Coherence and coordination
ii. Intelligent agents
iii. Languages and structures

L27
iv. Multiagent systems
13. Intelligent Web Services and Semantic Web
i. Intelligent Web service languages
ii. Internet reasoning services
iii. Ontology design
iv. Ontology languages
14. Knowledge Management
i. Knowledge acquisition
ii. Knowledge engineering methodologies
iii. Knowledge life cycles
iv. Knowledge maintenance
v. Knowledge modeling
vi. Knowledge personalization and customization
vii. Knowledge publishing
viii. Knowledge retrieval
ix. Knowledge reuse
x. Knowledge valuation
15. Miscellaneous
i. Adaptive hypermedia
ii. Computational neuroscience
iii. Evolutionary computing and genetic algorithms
iv. Wearable AI
III. Computer Graphics
1. General
2. Hardware Architecture
i. Graphics processors
ii. Hardcopy devices
iii. Input devices
iv. Parallel processing
v. Raster display devices
vi. Storage devices
vii. Three-dimensional displays
viii. Vector display devices
3. Graphics Systems
i. Distributed/network graphics
ii. Remote systems
iii. Stand-alone systems
4. Picture/Image Generation
i. Antialiasing
ii. Bitmap and frame buffer operations
iii. Digitizing and scanning
iv. Display algorithms
v. Image-based rendering
vi. Line and curve generation
vii. Viewing algorithms
5. Graphics Utilities
i. Application packages
ii. Device drivers

L28
iii. Graphics editors
iv. Graphics packages
v. Meta files
vi. Paint systems
vii. Picture description languages
viii. Software support
ix. Virtual device interfaces
6. Computational Geometry and Object Modeling
i. Boundary representations
ii. Constructive solid geometry
iii. Curve, surface, solid, and object representations
iv. Geometric algorithms, languages, and systems
v. Hierarchy and geometric transformations
vi. Modeling packages
vii. Modeling from video
viii. Object hierarchies
ix. Physically based modeling
x. Splines
7. Methodology and Techniques
i. Device independence
ii. Ergonomics
iii. Graphics data structures and data types
iv. Interaction techniques
v. Languages
vi. Standards
8. Three-Dimensional Graphics and Realism
i. Animation
ii. Color, shading, shadowing, and texture
iii. Fractals
iv. Hidden line/surface removal
v. Radiosity
vi. Raytracing
vii. Virtual reality
viii. Visible line/surface algorithms
9. Applications
10. Miscellaneous
IV. Image Processing and Computer Vision
1. General
i. Image displays
ii. Image processing software
2. Digitization and Image Capture
i. Camera calibration
ii. Imaging geometry
iii. Quantization
iv. Radiometry
v. Reflectance
vi. Sampling
vii. Scanning

L29
3. Compression (Coding)
i. Approximate methods
ii. Exact coding
iii. Model-based coding
iv. MP-4 and MP-7
v. Video coding
4. Enhancement
i. Filtering
ii. Geometric correction
iii. Grayscale manipulation
iv. Registration
v. Sharpening and deblurring
vi. Smoothing
5. Restoration
i. Inverse filtering
ii. Kalman filtering
iii. Pseudoinverse restoration
iv. Wiener filtering
6. Reconstruction
i. Series expansion methods
ii. Summation methods
iii. Transform methods
7. Segmentation
i. Edge and feature detection
ii. Graph-theoretic methods
iii. Markov random fields
iv. Pixel classification
v. Region growing, partitioning
vi. Relaxation
vii. Stochastic methods
8. Feature Measurement
i. Feature representation
ii. Invariants
iii. Moments
iv. Projections
v. Size and shape
vi. Texture
9. Scene Analysis
i. Color
ii. Depth cues
iii. Image models
iv. Motion
v. Object recognition
vi. Photometry
vii. Range data
viii. Sensor fusion
ix. Shading
x. Shape

L30
xi. Stereo
xii. Surface fitting
xiii. Time-varying imagery
xiv. Tracking
10. Applications
11. Image Representation
i. Hierarchical
ii. Morphological
iii. Multidimensional
iv. Statistical
v. Volumetric
12. Miscellaneous
V. Pattern Recognition
1. General
2. Models
i. Deterministic
ii. Fuzzy set
iii. Geometric
iv. Neural nets
v. Statistical
vi. Structural
vii. Syntactic
3. Design Methodology
i. Classifier design and evaluation
ii. Feature evaluation and selection
iii. Pattern analysis
4. Clustering
i. Algorithms
ii. Similarity measures
5. Applications
i. Arts
ii. Computer vision
iii. Computational models of vision
iv. Face and gesture recognition
v. Government
vi. Handwriting analysis
vii. Industry
viii. Medicine
ix. Military
x. Remote sensing
xi. Robotics
xii. Sciences
xiii. Signal processing
xiv. Text processing
xv. Waveform analysis
6. Implementation
i. Interactive systems
ii. Real-time systems

L31
iii. Special architectures
7. Miscellaneous
VI. Simulation, Modeling, and Visualization
1. General
2. Simulation Theory
i. Model classification
ii. Systems theory
iii. Types of simulation
3. Simulation Languages
4. Applications
5. Model Validation and Analysis
6. Model Development
i. Modeling methodologies
7. Simulation Output Analysis
8. Simulation Support Systems
i. Environments
9. Types of Simulation
i. Animation
ii. Combined
iii. Continuous
iv. Discrete event
v. Distributed
vi. Gaming
vii. Monte Carlo
viii. Parallel
ix. Visual
10. Visualization
i. Applications
ii. Flow visualization
iii. Information visualization
iv. Multivariate visualization
v. Visual programming and program visualization
vi. Visualization systems and software
vii. Visualization techniques and methodologies
viii. Volume visualization
11. Miscellaneous
VII. Document and Text Processing
1. General
2. Document and Text Editing
i. Document management
ii. Languages
iii. Spelling
iv. Version control
3. Document Preparation
i. Desktop publishing
ii. Format and notation
iii. Hypertext/hypermedia
iv. Index generation

L32
v. Languages and systems
vi. Markup languages
vii. Multi/mixed media
viii. Photocomposition/typesetting
ix. Scripting languages
x. Standards
4. Index Generation
5. Electronic Publishing
6. Document Capture
i. Document analysis
ii. Document indexing
iii. Graphics recognition and interpretation
iv. Optical character recognition
v. Scanning
7. Miscellaneous
Miscellaneous

10. Computer Applications


0. General
I. Administrative Data Processing
1. Business
2. Education
3. Financial
4. Government
5. Law
6. Manufacturing
7. Marketing
8. Military
II. Physical Sciences and Engineering
1. Aerospace
2. Archaeology
3. Astronomy
4. Chemistry
5. Earth and atmospheric sciences
6. Electronics
7. Engineering
8. Mathematics and statistics
9. Physics
III. Life and Medical Sciences
1. Biology and genetics
2. Health
3. Medical information systems
IV. Social and Behavioral Sciences
1. Economics
2. Psychology
3. Sociology
V. Arts and Humanities
1. Architecture

L33
2. Arts, fine and performing
3. Fine arts
4. Language translation
5. Linguistics
6. Literature
7. Music
8. Performing arts
VI. Computer-Aided Engineering
1. Computer-aided design
2. Computer-aided manufacturing
VII. Computers in Other Systems
1. Command and control
2. Consumer products
3. Industrial control
4. Military
5. Process control
6. Publishing
7. Real time
VIII. Internet Applications
1. Client/server and multitier systems
2. Databases
3. Database connectivity
4. Distributed file systems
5. Electronic commerce
6. Engineering design
7. Games
8. Health care
9. Intranet/extranet/VPNs
10. Libraries/information repositories/publishing
11. Manufacturing
12. Middleware/business logic
13. Network repositories/data mining/backup
14. Software engineering
15. Traffic analysis
16. Transaction software
17. Web browsers
18. Web servers
19. Web site management/development tools
IX. Mobile Applications
1. Location-dependent and sensitive
2. Nomadic computing
3. Multimedia applications and multimedia signal processing
4. Pervasive computing
5. Wearable computers and body area networks
6. Wireless sensor networks
X. Miscellaneous

11. Computing Milieux

L34
0. General
I. The Computer Industry
1. Markets
2. Standards
3. Statistics
4. Suppliers
II. History of Computing
1. Hardware
2. People
3. Software
4. Systems
5. Theory
III. Computers and Education
1. General
2. Computer Uses in Education
i. Collaborative learning
ii. Computer-assisted instruction
iii. Computer-managed instruction
iv. Distance learning
3. Computer and Information Science Education
i. Accreditation
ii. Computer science education
iii. Curriculum
iv. Information systems education
v. Literacy
vi. Self-assessment
4. Miscellaneous
i. Accreditation
ii. Computer literacy
IV. Computers and Society
1. General
2. Public Policy Issues
i. Abuse and crime involving computers
ii. Computer-related health issues
iii. Ethics
iv. Human safety
v. Intellectual property rights
vi. Privacy
vii. Regulation
viii. Transborder data flow
ix. Use/abuse of power
3. Social Issues
i. Abuse and crime involving computers
ii. Assistive technologies for persons with disabilities
iii. Employment
iv. Handicapped persons/special needs
4. Organizational Impacts
i. Automation

L35
ii. Computer-supported collaborative work
iii. Deployment, usage experience
iv. Employment
v. Reengineering
vi. Scalability, maintainability
5. Electronic Commerce
i. Cybercash, digital cash
ii. Distributed commercial transactions
iii. Electronic data interchange
iv. Intellectual property
v. Payment schemes
vi. Security
vii. Internet security policies
viii. Mobile code security
ix. Economic and other policies
6. Miscellaneous
V. Legal Aspects of Computing
1. General
2. Hardware/Software Protection
i. Copyrights
ii. Licensing
iii. Patents
iv. Proprietary rights
v. Trade secrets
3. Governmental Issues
i. Censorship
ii. Regulation
iii. Taxation
4. Miscellaneous
i. Contracts
ii. Hardware patents
VI. Management of Computing and Information Systems
1. General
i. Economics
ii. Information resource management
2. Project and People Management
i. Life cycle
ii. Management techniques
iii. Staffing
iv. Strategic information systems planning
v. Systems analysis and design
vi. Systems development
vii. Training
3. Installation Management
i. Benchmarks
ii. Computer selection
iii. Computing equipment management
iv. Performance and usage measurement

L36
v. Pricing and resource allocation
4. Software Management
i. Software development
ii. Software maintenance
iii. Software process
iv. Software selection
5. System Management
i. Centralization/decentralization
ii. Management audit
iii. Quality assurance
6. Security and Protection
i. Authentication
ii. Insurance
iii. Invasive software (viruses, worms, Trojan horses)
iv. Physical security
v. Unauthorized access (hacking, phreaking)
7. Miscellaneous
i. Insurance
ii. Security
VII. The Computing Profession
1. General
i. Carreer Management
2. Occupations
3. Organizations
4. Testing, Certification, and Licensing
5. Professional Ethics
i. Codes of ethics
ii. Codes of good practice
iii. Ethical dilemmas
6. Miscellaneous
VIII. Personal Computing
1. General
i. Games
2. Application Packages
i. Data communications
ii. Database processing
iii. Freeware/shareware
iv. Graphics
v. Spreadsheets
vi. Word processing
3. Hardware
4. Management/Maintenance
5. Miscellaneous
IX. Miscellaneous
1. Business
2. Education
3. Financial
4. Healthcare

L37
5. Industrial
6. IT Applications
7. Legal
8. Library
9. Military
10. Publishing
11. Sports

L38

Anda mungkin juga menyukai