|
Dasar Klasifikasi
Ilmu komputer adalah disiplin ilmu yang melingkupi
cabang ilmu yang cukup luas, dari masalah teori-teori dasar sampai
teknologi aplikasi. Pengklasifikasian Ilmu Komputer biasanya merefer ke Matriks Dennings, yaitu salah satu matriks penggolongan Ilmu Komputer yang diciptakan oleh Peter J. Dennings [1][2].
Klasifikasi ini mengalami beberapa perbaikan,
dimana versi terakhir adalah versi tahun 1999 [2][3]. Dalam versi
terakhir ini ilmu komputer terbagi dalam 12 subbidang (versi sebelumnya adalah 9 subbidang). 12 subbidang Ilmu Komputer ini adalah:
Algoritma dan Struktur Data (Algorithms and Data Structures) |
Bahasa Pemrograman (Programming Languages) |
Arsitektur (Architecture) |
Sistem Operasi dan Jaringan (Operating Systems and Networks) |
Software Engineering |
Database dan Sistim Retrieval Informasi (Database and Information Retrieval Systems) |
Artificial Intelligence dan Robotik (Artificial Intelligence and Robotics) |
Grafik (Graphics) |
Human Computer Interaction |
Ilmu Komputasi (Computational Sciences) |
Organizational Informatics |
BioInformatik (BioInformatics) |
Dennings memberi catatan khusus untuk bidang BioInformatik
sebagai bidang baru yang merupakan gabungan antara Ilmu Komputer dan
Biologi, dan saat ini mengalami perkembangan yang cukup signifikan.
Kemudian seiring dengan peningkatan ilmu dan
teknologi, ada kemungkinan matriks ini akan mengalami perbaikan lagi di
kelak kemudian hari. Baris dalam matriks Denning ini menggambarkan
bidang-bidang dalam ilmu komputer. Sedangkan kolom pada matriks
menggambarkan paradigma bidang-bidang tersebut, yang direfleksikan dalam
tiga hal: Teori (Theory), Abstraksi (Abstraction), dan Desain (Design).
Teori: adalah berlandaskan pada pendekatan
matematika, dimana untuk mendapatkan suatu teori yang valid, harus
melalui proses-proses sbb:
- pendefinisian (definition)
- pembuatan teorema (theorema)
- pembuktian (proof)
- penginterpretasian hasil (interpret result)
Abstraksi: atau pemodelan (modeling),
adalah berlandaskan pada metode eksperimen ilmiah, dimana dalam
melakukan invesitigasi terhadap suatu fenomena, harus melalui
proses-proses sbb:
- membentuk hipotesa (form a hypothesis)
- membuat suatu model dan melakukan prediksi (construct a model and make a predition)
- mendesain eksperimen dan mengumpulkan data (design an experiment and collect data)
- menganalisa hasil (analyze hasil)
Desain: adalah berlandaskan pada
pendekatann engineering (teknik), dimana pada saat mendesain sebuah
sistem atau device untuk memecahkan masalah, harus melalui proses-proses
sbb:
- menyatakan requirement (state requirements),
- menyatakan spesifikasi (state specifications)
- melakukan desain dan implementasi sistem (design and implement the system)
- melakukan pengetesan terhadap sistem (test the system)
Dari penjelasan diatas, bisa kita pahami bahwa yang
bergerak dalam masalah penelitian ilmu komputer akan banyak berhubungan
dengan dua kolom pertama matriks (Teori dan Abstraksi). Sedangkan yang
bergerak dalam masalah yang lebih teknis dengan memakai pendekatan
engineering, akan lebih banyak berkecimpung dalam ruang lingkup dua
kolom terakhir matriks (Abstraksi dan Desain).
Klasifikasi Ilmu Komputer
Rangkumkan lengkap klasifikasi ilmu komputer
berdasarkan Matriks Denning versi 1999 adalah seperti dibawah. Penulis
sengaja melakukan perbaikan, penerjemahan, dan penyingkatan, untuk lebih
mempermudah pemahaman terhadap klasifikasi ilmu komputer ini.
|
Teori |
Abstraksi |
Desain |
Algoritma dan Struktur Data |
Teori
Komputabilitas |
Algoritma Paralel dan Terdistribusi |
Program Aplikasi |
Teori Komputasi
Kompleks |
Komputasi
Paralel |
Algoritma Efisien dan Optimal |
Teori Graf |
Kriptografi |
Algoritma dan
Teori Probabilistik |
Bahasa Pemrograman |
Bahasa
Formal dan Automata |
BNF |
Bahasa
Pemrograman |
Turing Machines |
Metode Parsing,
Compiling, Interpretation |
Formal Semantics |
Translator,
Kompiler, Interpreter |
Arsitektur |
Aljabar Boolean |
Arsitektur
Nueman |
Produk Hardware (PC,
Superkomputer, Mesin Von Neumann) |
Teori Coding |
Hardware Reliability |
Teori Switching |
Finite State Machine |
Sistem CAD dan Simulasi Logika |
Teori Finite
State Machine |
Model Sirkuit, Data Path, Struktur Kontrol |
Sistem Operasi dan Jaringan |
Teori
Concurrency |
Manajemen Memori, Job Scheduling |
Produk OS (UNIX,
Windows, Mach, dsb) |
Teori Scheduling |
Model Komputer Terdistribusi |
File dan File Sistem |
Teori Manajemen
Memori |
Networking (Protokol, Naming, dsb) |
Pustaka untuk Utilities (Editor, Formatter, Linker, dsb) |
Software Engineering |
Teori Reliability |
Metode Spesifikasi |
Bahasa Spesifikasi |
Program Verification and Proof |
Metode Otomatisasi Pengembangan Program |
Metodologi Pengembangan Software |
Temporal Logic |
Tool Pengembangan Software |
Tool untuk Pengembangan Software |
Database dan Sistim
Retrieval Informasi |
Relational
Aljabar dan Kalkulus |
Data Model |
Teknik Pendesainan Database (Relational, Hierarchical, Network, dsb) |
Teori Dependency |
Teori
Concurrency |
Skima Database |
Teknik Pendesainan Database Sistem (Ingres, Dbase, Oracle, dsb) |
Performance Analysis |
Sorting dan
Searching |
Representasi
File untu Retrieval |
Hypertext System |
Statistical Inference |
Artificial Intelligence dan
Robotik |
Teori Logika |
Knowledge
Representation |
Logic Programming (Prolog) |
Semantik dan Sintatik Model untuk Natural Language |
Metode Pencarian Heuristic |
Neural Network |
Conceptual Dependency |
Model Reasoning dan Learning |
Sistem Pakar |
Kinematics and Dynamics of Robot Motion |
Model Memori Manusia, Autonomous Learning |
Teknik Pendesaian Software untuk Logic Programming |
Grafik |
Teori Grafik
dan Warna |
Algoritma
Komputer Grafik |
Pustaka untuk Grafik |
Geometri Dimensi
Dua atau Lebih |
Model untuk Virtual Reality |
Grafik Standar |
Teori Chaos |
Metode Komputer Grafik |
Image Enhacement System |
Human Computer Interaction |
Risk Analysis |
Pattern
Recognition |
Flight Simulation |
Cognitive
Psychology |
Sistem CAD |
Usability Engineering |
Ilmu Komputasi |
Number Theory |
Discrete
Approximations, Fast Fourier Transform and Poisson Solvers |
Pustaka dan
Paket untuk Tool Penelitian (Chem,
Macsyma, Mathematica, Maple, Reduce, dsb) |
Binary Representation |
Backward
Error Propagation |
Teori Quantum |
Finite Element
Models, |
Organizational Informatics |
Organizational Science |
Model dan Simlasi berhubungan dengan organizational informatics |
Management Information Systems |
Decision Support Systems |
Decision
Sciences |
Organizational
Dynamics |
Bioinformatik |
Teori Komputasi |
Model Komputasi DNA Kimia |
Organic Memory Devices |
Ilmu Biologi |
Protipe Retina dari Silikon |
Proyek Database Genom Manusia |
Medicine |
Model Database Genom Manusia |
Analisa Komputer Terhadap Struktur Enzim untuk Kesehatan |
|
ACM Computing Classification System (CCS)
Association
for Computing Machinary (ACM) sebagai asosiasi ilmiah bidang komputer
tertua di dunia juga menyusun sistem klasifikasi untuk bidang komputasi ( computing),
yang terkenal dengan sebutan ACM Computing Classification System (CSS).
ACM Computing Classification System terbagi menjadi tiga level, dimana
sistem penyusunannya mirip dengan Dewey Decimal Classification System (DCC)
yang saat ini digunakan sebagai standar penyusunan katalog buku di
perpustakaan-perpustakaan. Sistem Klasifikasi ini terbagi menjadi tiga
besar, berdasarkan tahun dikeluarkannya. Klasifikasi selengkapnya adalah
seperti dibawah.
- Sistem Klasifikasi 1998
- Sistem Klasifikasi 1991
- Sistem Klasifikasi 1964
Referensi
Peter Denning, et al., "Computing as a Discipline," Communications of ACM, 32, 1 (January), 9-23, 1989.
Peter Denning, "Computer Science: the Discipline," In Encyclopedia of Computer Science (A. Ralston and D. Hemmendinger, Eds), 1999.
A. Tucker, Jr. and P. Wegner, "Computer Science and Engineering: the Discipline and Its Impact," In Handbook of Computer Science and Engineering, CRC Press, Chapter 1, 1996.
|
0 komentar:
Posting Komentar