Sabtu, 12 Mei 2012

Klasifikasi Ilmu Komputer

 



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:
    1. pendefinisian (definition)
    2. pembuatan teorema (theorema)
    3. pembuktian (proof)
    4. 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:
    1. membentuk hipotesa (form a hypothesis)
    2. membuat suatu model dan melakukan prediksi (construct a model and make a predition)
    3. mendesain eksperimen dan mengumpulkan data (design an experiment and collect data)
    4. 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:
    1. menyatakan requirement (state requirements),
    2. menyatakan spesifikasi (state specifications)
    3. melakukan desain dan implementasi sistem (design and implement the system)
    4. 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.
  1. Sistem Klasifikasi 1998
  2. Sistem Klasifikasi 1991
  3. Sistem Klasifikasi 1964

Referensi

  1. Peter Denning, et al., "Computing as a Discipline," Communications of ACM, 32, 1 (January), 9-23, 1989.
  2. Peter Denning, "Computer Science: the Discipline," In Encyclopedia of Computer Science (A. Ralston and D. Hemmendinger, Eds), 1999.
  3. 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