MODUL PERKULIAHAN Aplikasi Komputer Modul Pengenalan Komputer Fakultas Ilmu Komputer Program Studi Teknik Informatika Tatap Muka 01 Kode MK Disusun Oleh Devi Fitrianah Abstract Kompetensi Modul ini berisi materi tentang pengenalan komputer, sejarah dan perkembangannya Mahasiswa mengetahui definisi komputerm pengenalan dan sejarah perkembangan komputer Pengenalan Komputer SEJARAH ILMU KOMPUTER Disiplin Ilmu Komputer sudah muncul sejak era tahun 1940, seiring dengan berpadunya teori algoritma dan logika matematika, serta ditemukannya komputer elektronik dengan kemampuan penyimpanan program. Adalah Alan Turing dan Kurt Godel, yang pada tahun 1930-an berhasil memadukan algoritma, logika, dan penghitungan matematika serta merealisasikannya dalam sebuah alat atau rule system. Prinsip algoritma yang digunakan adalah dari Ada Lovelace, yang dikembangkan 60 tahun sebelumnya. Penemu algoritma sendiri yang tercatat dalam sejarah awal adalah dari seorang yang bernama Abu Abdullah Muhammad Ibn Musa al Khwarizmi. Al Khwarizmi adalah seorang ahli matematika dari Uzbekistan yang hidup di masa tahun 770-840 masehi. Di literatur barat ia lebih terkenal dengan sebutan Algorizm. Kata algoritma sendiri berasal dari sebutannya ini. Sedangkan komputer analog diciptakan oleh Vannevar Bush pada tahun 1920, dan disusul dengan komputer elektronik yang dikembangkan oleh Howard Aiken dan Konrad Zuse tahun 1930. Kemudian John Von Neumann mendemonstrasikan salah satu karya fenomenalnya pada tahun 1945, yaitu sebuah arsitektur komputer yang disebut "von Neumann machine", dimana program disimpan di memori. Arsitektur komputer inilah yang kemudian digunakan oleh komputer modern sampai sekarang. Tahun 1960 adalah babak baru dimulainya formalisasi Ilmu Komputer. Jurusan Ilmu Komputer pada universitas-universitas mulai marak dibangun. Disiplin ilmu baru ini kemudian terkenal dengan sebutan Ilmu Komputer (Computer Science), Teknik Komputer (Computer Engineering), Komputing (Computing), atau Informatika (Informatics). DEFINISI ILMU KOMPUTER Seiring dengan perkembangan Ilmu Komputer, dewasa ini banyak sekali peneliti yang mencoba membuat kajian dan melakukan pendefinisian terhadap Ilmu Komputer. Bagaimanapun juga, dasar Ilmu Komputer adalah matematika dan engineering (teknik). 2013 2 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Matematika menyumbangkan metode analisa, dan engineering menyumbangkan metode desain pada bidang ini. CSAB [3] (Computing Sciences Accreditation Board, http://www.csab.org) membuat definisi menarik tentang Ilmu Komputer: Ilmu Komputer adalah ilmu pengetahuan yang berhubungan dengan komputer dan komputasi. Di dalamnya terdapat teoritika, eksperimen, dan pendesainan komponen, serta termasuk didalamnya hal-hal yang berhubungan dengan: 1. Teori-teori untuk memahami komputer device, program, dan sistem 2. Eksperimen untuk pengembangan dan pengetesan konsep 3. Metodologi desain, algoritma, dan tool untuk merealisasikannya 4. Metode analisa untuk melakukan pembuktian bahwa realisasi sudah sesuai dengan requirement yang diminta Beberapa definisi lain yang lebih abstrak adalah: Ilmu Komputer adalah ilmu yang mempelajari tentang representasi pengatahuan (knowledge representation) dan implementasinya. ataupun definisi Ilmu Komputer adalah ilmu yang mempelajari tentang abstraksi dan bagaimana mengendalikan kekompleksan. Denning mendefinisikan Ilmu Komputer dalam makalahnya yang cukup terkenal tentang disiplin ilmu komputer [1]. Makalah ini adalah laporan akhir dari proyek dan task force tentang the Core of Computer Science yang dibentuk oleh dua society ilmiah terbesar bidang komputer, yaitu ACM [4] (http://acm.org) dan IEEE Computer Society [5] (http://computer.org). Ilmu Komputer adalah studi sistematik tentang proses algoritmik yang mengjelaskan dan mentrasformasikan informasi: baik itu berhubungan dengan teori-teori, analisa, desain, efisiensi, implementasi, ataupun aplikasi-aplikasi yang ada padanya. Pertanyaan mendasar berhubungan dengan Ilmu Komputer adalah, "Apa yang bisa diotomatisasikan secara efisien". Kita bisa simpulkan dari persamaan pemakaian terminologi dan hakekat makna dalam definisi yang digunakan para peneliti diatas, bahwa: Ilmu Komputer adalah ilmu pengetahuan yang berisi tentang teori, metodologi, desain dan implementasi, berhubungan dengan komputasi, komputer, dan 2013 3 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id algoritmanya dalam perspektif perangkat lunak (software) maupun perangkat keras (hardware). Persepsi Yang Salah Tentang Ilmu Komputer Beberapa persepsi yang salah kaprah tentang Ilmu Komputer bisa kita rangkumkan seperti dibawah: Ilmu Komputer adalah ilmu yang mempelajari tentang komputer. Ilmu Komputer bukanlah ilmu yang hanya mempelajari tentang komputer, seperti juga ilmu astronomi yang bukan ilmu tentang teleskop, atau ilmu biologi adalah juga bukan ilmu yang hanya mempelajari tentang mikroskop. Komputer, teleskop dan mikroskop adalah alat dari ilmu, dan bukan ilmu itu sendiri. Ilmu Komputer adalah ilmu yang mempelajari tentang bagaimana menulis program komputer. Ilmu Komputer adalah ilmu yang mempelajari tentang pengunaan aplikasi-aplikasi 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 Bahasa Pemrograman (Algorithms and Data (Programming Languages) Structures) Arsitektur Sistem Operasi dan Jaringan (Architecture) (Operating Systems and Networks) Software Engineering Database dan Sistim Retrieval Informasi (Database and Information Retrieval Systems) 2013 4 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Artificial Intelligence dan Robotik Grafik (Artificial Intelligence and (Graphics) Robotics) Ilmu Komputasi Human Computer Interaction (Computational Sciences) BioInformatik Organizational Informatics (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) 2013 5 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id 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 Teori Komputabilitas Algoritma Teori Komputasi Kompleks Desain Paralel dan Terdistribusi Komputasi Paralel Algoritma dan Struktur Data Program Aplikasi Teori Graf Algoritma Kriptografi Algoritma Efisien dan Optimal dan Teori Probabilistik Bahasa Bahasa Formal Automata Pemrograman dan BNF Turing Machines 2013 6 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Bahasa Pemrograman Teori Abstraksi Desain Metode Parsing, Compiling, Translator, Formal Semantics Interpretation Aljabar Boolean Arsitektur Nueman Kompiler, Interpreter Produk Hardware (PC, Superkomputer, Mesin Arsitektur Teori Coding Hardware Reliability Von Neumann) Teori Switching Finite State Machine Model Sirkuit, Data Teori Finite State Machine Path, Struktur Sistem CAD dan Simulasi Logika Kontrol Manajemen Memori, Produk Teori Concurrency Job Scheduling Model Sistem Operasi Teori Scheduling Komputer Terdistribusi dan Jaringan Networking Teori Manajemen Memori Teori Reliability Program Verification and Software Proof Engineering Temporal Logic dan Relational Sistim Retrieval Kalkulus Database 2013 7 APLIKOM Devi Fitrianah Aljabar dan (Protokol, OS (UNIX, Windows, Mach, dsb) File dan File Sistem Pustaka untuk Utilities Naming, (Editor, Formatter, dsb) Linker, dsb) Metode Spesifikasi Bahasa Spesifikasi Metode Otomatisasi Metodologi Pengembangan Pengembangan Program Software Tool Tool Pengembangan Pengembangan Software Software Data Model Teknik untuk Pendesainan Database (Relational, Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Teori Informasi Abstraksi Desain Hierarchical, Network, Teori Dependency dsb) Teori Concurrency Teknik Skima Database Performance Analysis Pendesainan Database Sistem (Ingres, Dbase, Oracle, dsb) Sorting dan Searching Representasi untu Retrieval Statistical Inference Teori Logika Semantik Model dan untuk Sintatik Natural Language Artificial Intelligence dan Robotik File Conceptual Dependency Knowledge Logic Representation (Prolog) Metode Pencarian Heuristic Model Reasoning dan Learning Model Memori Kinematics and Dynamics Manusia, of Robot Motion Autonomous Learning Teori Grafik dan Warna Grafik Teori Chaos Human 2013 8 Algoritma Komputer Grafik Geometri Dimensi Dua atau Model untuk Virtual Lebih Risk Analysis APLIKOM Devi Fitrianah Hypertext System Reality Metode Grafik Programming Neural Network Sistem Pakar Teknik Pendesaian Software untuk Logic Programming Pustaka untuk Grafik Grafik Standar Komputer Image Enhacement System Pattern Recognition Flight Simulation Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Computer Interaction Teori Abstraksi Desain Cognitive Psychology Sistem CAD Usability Engineering Discrete Approximations, Number Theory Fast Fourier Transform and Pustaka dan Paket Poisson Solvers untuk Tool Penelitian Ilmu Komputasi (Chem, Macsyma, Binary Representation Backward Error Mathematica, Maple, Propagation Reduce, dsb) Finite Element Teori Quantum Models, Management Organizational Science Model dan Simlasi Information Systems berhubungan Organizationa dengan l Informatics Decision Sciences organizational Decision Support informatics Systems Model Komputasi Organic Memory DNA Kimia Devices Protipe Retina dari Proyek Database Silikon Genom Manusia Organizational Dynamics Teori Komputasi Ilmu Biologi Bioinformatik Analisa Komputer Medicine Model Database Terhadap Struktur Genom Manusia Enzim untuk Kesehatan 2013 9 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id 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 perpustakaanperpustakaan. 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 SEJARAH KOMPUTER Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan. Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa. Diantaranya adalah sistem komputer di kassa supermarket yang mampu membaca kode barang belanjaan, sentral telepon yang menangani jutaan panggilan dan komunikasi, jaringan komputer dan internet yang mennghubungkan berbagai tempat di dunia. Bagaimanapun juga alat pengolah data dari sejak jaman purba sampai saat ini bisa kita golongkan ke dalam 4 golongan besar. 1. Peralatan manual: yaitu peralatan pengolahan data yang sangat sederhana, dan faktor terpenting dalam pemakaian alat adalah menggunakan tenaga tangan manusia 2. Peralatan Mekanik: yaitu peralatan yang sudah berbentuk mekanik yang digerakkan dengan tangan secara manual 3. Peralatan Mekanik Elektronik: Peralatan mekanik yang digerakkan oleh secara otomatis oleh motor elektronik 4. Peralatan Elektronik: Peralatan yang bekerjanya secara elektronik penuh 2013 10 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Tulisan ini akan memberikan gambaran tentang sejarah komputer dari masa ke masa, terutama alat pengolah data pada golongan 2, 3, dan 4. Klasifikasi komputer berdasarkan Generasi juga akan dibahas secara lengkap pada tulisan ini. Definisi Komputer berasal dari bahasa latin computare yang mengandung arti menghitung. Karena luasnya bidang garapan ilmu komputer, para pakar dan peneliti sedikit berbeda dalam mendefinisikan termininologi komputer. Menurut Hamacher [1], komputer adalah mesin penghitung elektronik yang cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai dengan program yang tersimpan di memorinya, dan menghasilkan output berupa informasi. Menurut Blissmer [2], komputer adalah suatu alat elektonik yang mampu melakukan beberapa tugas sebagai berikut: - menerima input - memproses input tadi sesuai dengan programnya - menyimpan perintah-perintah dan hasil dari pengolahan - menyediakan output dalam bentuk informasi Sedangan Fuori [3] berpendapat bahwa komputer adalah suatu pemroses data yang dapat melakukan perhitungan besar secara cepat, termasuk perhitungan aritmetika dan operasi logika, tanpa campur tangan dari manusia. Untuk mewujudkan konsepsi komputer sebagai pengolah data untuk menghasilkan suatu informasi, maka diperlukan sistem komputer (computer system) yang elemennya terdiri dari hardware, software dan brainware. Ketiga elemen sistem komputer tersebut harus saling berhubungan dan membentuk kesatuan. Hardware tidak akan berfungsi apabila tanpa software, demikian juga sebaliknya. Dan keduanya tiada bermanfaat apabila tidak ada manusia (brainware) yang mengoperasikan dan mengendalikannya. 1. Hardware atau Perangkat Keras: peralatan yang secara fisik terlihat dan bisa djamah. 2. Software atau Perangkat Lunak: program yang berisi instruksi/perintah untuk melakukan pengolahan data. 3. Brainware: manusia yang mengoperasikan dan mengendalikan sistem komputer. 2013 11 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id PENGGOLONGAN KOMPUTER Literatur terbaru tentang komputer melakukan penggolongan komputer berdasarkan tigal hal: data yang diolah, penggunaan, kapasitas/ukurannya, dan generasinya. Berdasarkan Data Yang Diolah 1. Komputer Analog 2. Komputer Digital 3. Komputer Hybrid Berdasarkan Penggunannya 1. Komputer Untuk Tujuan Khusus (Special Purpose Computer) 2. Komputer Untuk Tujuan Umum (General Purpose Computer) Berdasarkan Kapasitas dan Ukurannya 1. Komputer Mikro (Micro Computer) 2. Komputer Mini (Mini Computer) 3. Komputer Kecil (Small Computer) 4. Komputer Menengah (Medium Computer) 5. Komputer Besar (Large Computer) 6. Komputer Super (Super Computer) Berdasarkan Generasinya 1. Komputer Generasi Pertama (1946-1959) 2. Komputer Generasi Kedua (1959-1964) 3. Komputer Generasi Ketiga (1964-1970) 4. Komputer Generasi Keempat (1979-sekarang) 5. Komputer Generasi Kelima STRUKTUR KOMPUTER Struktur komputer didefinisikan sebagai cara-cara dari tiap komponen saling terkait. Struktur sebuah komputer secara sederhana, dapat digambarkan dalam diagram blok pada Gambar berikut: 2013 12 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Sedangkan fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut: 1. Input Device (Alat Masukan) Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer 2. Output Device (Alat Keluaran) Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara. 3. I/O Ports Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini. 4. CPU (Central Processing Unit) CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer. 5. Memori 2013 13 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan. 6. Data Bus Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel. 7. Address Bus Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel. 8. Control Bus Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur paralel. Daftar Pustaka 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 Ralstonand 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 2013 14 APLIKOM Devi Fitrianah Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id