Oleh: Romi Satria Wahono (http://www.ilmukomputer.com/)
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
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.
Tidak ada komentar:
Posting Komentar