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.
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.
Sumber : ilmukomputer.com
0 komentar:
Posting Komentar