APLIKASI KOMPUTER DALAM MANAJEMEN KONSTRUKSI 3 batagem.com Perangkat Lunak (Software) System Software Operating System Utility Programming Languages Applications Horizontal Vertical Aplikasi Komputer dalam MK 2 Operating System (OS) Program paling penting Melakukan tugas utama: Input data Output data Kelola file dan direktori Kontrol peripheral devices Kontrol instruksi Kelola memori Aplikasi Komputer dalam MK 3 Klasifikasi OS Multi User -- dua atau lebih user run program pada bersamaan Multiprocessing -- lebih dari satu CPU Multitasking -- lebih dari satu program Multithreading -- beberapa bagian dari satu program berjalan bersamaan Real Time -- response langsung thd input Aplikasi Komputer dalam MK 4 Bagian OS Kernel Supervisor program Memory resident User Interface / Shell Command line Menu-driven Graphical User Interface (GUI) Aplikasi Komputer dalam MK 5 OS yang Populer UNIX Xerox PARC MS DOS Mac OS Microsoft Windows (3.x, 95, 98, 2000, CE, NT) Linux Aplikasi Komputer dalam MK 6 Utility Software Back-up Antivirus File Compression Disk Defragmentation File Protection Cleaner Dll. Aplikasi Komputer dalam MK 7 Bahasa Pemrograman Perangkat lunak komputer dibuat dengan bahasa pemrograman Merupakan bahasa buatan (artificial) yang digunakan untuk memerintahkan komputer untuk melakukan sesuatu proses Dengan menggunakan kata-kata/notasi dan aturan tertentu (syntax) Aplikasi Komputer dalam MK 8 Generasi I Disebut sebagai bahasa mesin (machine language) karena berdasarkan pada 0 dan 1 (binary numbers) Harus ditulis sesuai dengan perangkat keras yang digunakan (machine-dependent) Untuk mempermudah pembacaan digunakan notasi octal atau hexadesimal Aplikasi Komputer dalam MK 9 Generasi I (lanjutan) Seorang system programmer perlu mengetahui ini untuk menbaca keluaran komputer yang muncul dalam format ini Contoh: 10001011 00000101 atau 8B 05 yang berarti menambahkan sesuatu konstan pada variabel A Aplikasi Komputer dalam MK 10 Generasi II Disebut sebagai bahasa assembly yang mencoba untuk machine-independent Bahasanya hampir mirip bahasa mesin (lowlevel language) Programer dengan bahasa assembly harus mengetahui cara komputer bekerja Aplikasi Komputer dalam MK 11 Generasi II (lanjutan) Menggunakan singkatan perintah yang disebut mnemonics, contoh: ADDA Program ditulis dalam text file (source code) dan untuk dijalankannya harus diterjemahkan ke dalam bahasa mesin dengan assembler Aplikasi Komputer dalam MK 12 Generasi III Bahasa permograman prosedural: memerintahkan komputer apa yang harus dilakukan dan bagaimana melakukannya High-level language: mengurangi kebutuhan akan pengetahuan detail bagaimana komputer bekerja Mengunakan kata-kata/notasi yang lebih/telah dikenal oleh manusia, contoh: A = A+x Aplikasi Komputer dalam MK 13 Generasi III (lanjutan) Satu baris bahasa ini merupakan gabungan beberapa bahasa assembly atau machine code Programer membuat source code. Untuk digunakan pada jenis komputer tertentu, maka diperlukan penterjemah: compiler atau interpreter Aplikasi Komputer dalam MK 14 Generasi III (lanjutan) Compiler : Menterjemahkan seluruh source code kepada object code (sebuah file yang mengandung perintah dalam bentuk/mirip bahasa mesin jenis komputer tertentu). Pada compiler tertentu diperlukan linker atau assembler yang merubah object code menjadi program yang dapat dieksekusi pada jenis komputer tertentu Interpreter tidak menghasilkan object code, melainkan menterjemahkan satu baris source code dan mengeksekusi perintah yang diterjemahkannya secara satu per satu. Lebih lambat dibandingkan program yang menggunakan compiler, tetapi berguna untuk debugging Aplikasi Komputer dalam MK 15 Generasi III (lanjutan) Contoh: BASIC (Beginner’s All-Purpose Symbolic Instruction Code) -> interpreted Fortran (Formula Translation) -> compiled COBOL (Common Business-Oriented Language) - > compiled Masalah bahasa prosedural awal ini adalah perintah GOTO: spaghetti code Response dari masalah GOTO di atas, maka dikembangkan bahasa pemrograman terstruktur (structured programming). Dalam bahasa ini, tidak menggunakan perintah GOTO, tetapi menggunakan control structures, seperti IF-THEN-ELSE Aplikasi Komputer dalam MK 16 Generasi III (lanjutan) Structured language sulit digunakan untuk proyek pengembangan aplikasi yang besar, maka muncul modular programming Dalam modular programming, program dibagi dalam beberapa modul yang mempunyai fungsi, input, proses, dan output tertentu. Contoh: Pascal C Ada Visual Basic (event-driven programming) • VBScript (client side program u/ Web browsers) • ActiveX controls (server side program u/ Web browser) Aplikasi Komputer dalam MK 17 Perbandingan Bahasa Pemrograman Tool Machine Language Assembly Language Compiled Procedural Language Interpreted Language Generic-Problem Software Index of Cost and Difficulty Index of Efficiency Application Flexibility 1000 100 10 3 1 1 1 2 ~ 10 – 100 ~ 20 - 200 Maximum Minimum Catatan: - Index of Cost and Difficulty: Tingkat usaha yang dibutuhkan untuk mengimplementasikan aplikasi yang sama - Index of Efficiency: Terdapatnya penurunan kecepatan dan memory yang dibutuhkan oleh program - Application Flexibility: Berbagai aplikasi yang dapat ditangani menggunakan pendekatan tertentu Aplikasi Komputer dalam MK 18 Generasi IV Alasan transisi antara 3GL ke 4GL tidak terlalu jelas Merupakan bahasa non-prosedural dan mencoba mendekati natural language Banyak bahasa permrograman mengklaim diri sebagai 4GL Contoh: Report generators Query language: SQL Aplikasi Komputer dalam MK 19 Object-Oriented Programming (OOP) Component Reusability: Memudahkan programer mengembangkan aplikasi dari ready-to-use modules Pendekatan baru yang tidak memisahkan antara program dan data Object adalah sebuah unit informasi yang mengandung data dan prosedur (operasi), yang disebut methods, yang dapat memproses atau memanipulasi data Contoh: • Sepeda DASHERS -> object • DASHERS mempunyai data mengenai harga, performance, inventory dll. • DASHERS mempunyai methods: menjumlahkan, menghitung harga tambahan, merupah inventory dll. Aplikasi Komputer dalam MK 20 OOP (lanjutan) Class: sebuah kategori object Inheritance: karakteristik yang diturunkan Contoh: DASHERS merupakan bagian dari BIKES, artinya DASHERS merupakan subclass dari BIKES class Contoh: Karakteristik yang dimiliki oleh BIKE akan diturunkan ke DASHERS RAD (Rapid Application Development): Pemrograman dengan menggunakan OOP berdasarkan object-object yang telah dibangun sebelumnya (pre-built) dari suatu library Aplikasi Komputer dalam MK 21 OOP (lanjutan) Middleware: Standar yang mendefinisikan bagaimana program dapat mencari object-object dan meminta informasi yang dimiliki object tersebut (di dalam network) Contoh: • CORBA (Common Object Request Broker Architecture) untuk bahasa pemrograman yang berbeda • COM (Component Object Model) untuk Windows-based Contoh OO Languages: Smaltalk Delphi (OOP version of Pascal) C++ (OOP version of C) Java (cross-platform programming language) • Java Virtual Machine • Applets (untuk Web browser) JavaScript (tidak sepenuhnya OOP, digunakan untuk client side programming untuk Web browser) Aplikasi Komputer dalam MK 22 Applications Horizontal Applications : Digunakan antar divisi fungsional Personal Productivity: • • • • • Word-processing Spreadsheets Databases Electronic address books and schedulling Presentation dll. Multimedia & Graphics: • Multimedia • Graphics • 3D rendering dll. Internet Programs: • E-mail • Web Browser dll. Aplikasi Komputer dalam MK 23 Applications (lanjutan) Vertical Applications : Digunakan pada suatu divisi fungsional khusus CAD • AutoCAD, MicroStation dll. Simulation • MicroCYCLONE, STROBOSCOPE dll. Engineering Design: • SAP, ETABS dll. Project Management • Primavera, MSProject Estimating • Timberline, WinEst dll. Dan lain-lain… Aplikasi Komputer dalam MK 24 Copyright Commercial Software: Beli dulu baru pakai Shareware: Coba dulu, kemudian beli (jika tertarik) Copyrighted Software dan Site License Copyrighted Registration Fee Software dan Site License Freeware: Gratisan Copyrighted Tidak bisa diperjualbelikan General Public Licence (GPU) Aplikasi Komputer dalam MK 25