Chapter 4 Software: Systems and Applications Software Pentingnya Software dalam Bisnis High Software $ Hardware Low 1950 time today Software: Secara Umum What is ‘Software’? Lihat Bab I Pengelompokan Software Software sistem Seperangkat program yang mengkordinasiskan kegiatan dan fungsi hardware dan program lain. Application software Software yang membantu pengguna menyelesaikan persoalan perhitungan khusus. Lingkup Pengaruh Personal Sistem Informasi yang melayani kebutuhan pengguna individu. Workgroup Dua atau lebih orang bekerja bersama untuk mencapai tujuan yang sama. Enterprise Sistem informasi yang mendukung perusahaan dan interksinya dengan lingkungannya. Issues and Trends Lisensi Software Proteksi yang dibuat vendor untuk mencegah pengguna yang tidak mendapat izin penggunaan. Software upgrades Versi revisi yang biasanya termasuk perbaikan dari permasalahan yang sudah diketahui, ditambah dengan perluasan kapabilitasnya. Global software support Software yang diedarkan secara global, mungkin membutuhkan dukungan unik agar dapat digunakan sesuai dengan kondisi ekonomi dan politik. Kepemilikan Freeware Shareware Public-domain software Freeware Hak software diberikan pembuat kepada setiap orang. Walau diberikan bebas, pembuat tidak serta merta membebaskan pengguna membuat perubahan sesukanya, kecuali atas hal-hal yang diperkenankan oleh pembuat. Biasanya pengguna diberi hak untukmenggunakan, tidak untuk dijual. Ownership Freeware Shareware Public-domain software Shareware (1) Software didistribusikan atas dasar kepercayaan, kebanyakan dibagikan secara bebas. Kalaupun ada dana yang dimintakan, biasanya pembuat memintakan dalam jumlah kecil bilamana digunakan secara berkelanjutan. Anda dimintakan membayar saat register kemudian bilamana mengundang orang lain ikut menggunakan mereka juga dimintakan bayaran. Biasanya harganya tidak mahal, karena dibagikan langsung kepada pengguna. Shareware (2) Sofware ini berbeda dengan yang berada di publik, karena software ini diberikan hak untuk menggunakan melalui register, akan tetapi anda diberi kewajiban walau kecil. Ownership Freeware Shareware Public-domain software Public-domain Software Setiap program yang tidak ngharuskan hak pakai. Software seperti ini dapat digunakan tanpa batasan. Software ini tidak sama dengan software bebas (free software), karena jenis ini tidak mempunyai hak pakai. Peran Sistem Software Software System Penghubung antarmuka (interface or buffer) antara software aplikasi maupun hardware. Mengendalikan perangkat keras komputer dan bertindak sebagai pengubung dalam program aplikasi. Schematic Application software Operating and systems software Users Hardware Fungsi Sistem Operasi Mengatifkan semua fungsi perangkat keras komputer. Menyiapkan pengguna penghubung antarmuka. Menyiapkan ketergantungan antar hardware. Mengelola sistem memori Mengelola tugas pengeolahan Mempersiapkan kapabilitas jaringan. Mengendalikan akses ke sistem Mengelola File User Interface User interface • Fungsi sistem operasi yang memungkinkan orang lain mengakses dan memerintahkan kompter. • Perintah berbasis penghubung pengguna. • PEnghubung khusus yang mengisyaratkan perintah teks yang diberikan kepada komputer untuk melaksanakan kegiatan dasar. • E.g., unix, DOS Graphical user interface (GUI) • Penghubung pengguna yang menggunakan gambar dan menu yang ditampilkan di layar untuk memberikan perintah kepada sistem komputer. • E.g. Windows, MAC OS Konsep Sistem Software Hardware independence Operating system (OS) menyiapkan hardware kebebasan untuk mengaplikasikan application software Software aplikasi menghubungkan sistem operasi dengan perangkat keras. Ketika perangkat keras berubah, sistem opersi berubah, sehingga software tidak diisyaratkan berubah. Software Concepts Memory management Virtual memory & paging Multitasking Multithreading Timesharing Memory Management Mengelola Memory Mengendalikan bagaimana memori diakses, dan memaksimumkan memory yang ada dan penyimpanannya. Schematic Software Aplikasi What is the price of TIBA35 (TIBA35$) OS Fetch TIBA35$ from hard disk, track 1, sector 7 TIBA35$ Konsep Software Memory management Virtual memory & paging Multitasking Multithreading Timesharing Virtual Memory & Paging Virtual memory Memory yang mengalokasikan ruang untuk penyimpanan sekunder untukmelengkapi fungsi dan kapasitas memory dan memfungsikan RAM. Paging • Fungsi memori virtual yang memperkenankan komputer menyuimpan halaman yang sedang dikerjakan di RAM sementara halaman lain masih di penyimpanan sekunder. Schematic Memory Disk Program 1 (a few pages) Program 2 (a few pages) Program 3 (a few pages) Program 4 (a few pages) Program 5 (a few pages) Program 6 (a few pages) Other memory requirements Sistem Operasi dan Sistem Softwware Programs dan software lainnya Virtual Memory ‘Discussion’ (1) An imaginary memory area supported by some operating systems (for example, Windows but not DOS) in conjunction with the hardware. You can think of virtual memory as an alternate set of memory addresses. Programs use these virtual addresses rather than real addresses to store instructions and data. When the program is actually executed, the virtual addresses are converted into real memory addresses. The purpose of virtual memory is to enlarge the address space, the set of addresses a program can utilize. For example, virtual memory Virtual Memory ‘Discussion’ (2) might contain twice as many addresses as main memory. A program using all of virtual memory, therefore, would not be able to fit in main memory all at once. Nevertheless, the computer could execute such a program by copying into main memory those portions of the program needed at any given point during execution. To facilitate copying virtual memory into real memory, the operating system divides virtual memory into pages, each of which contains a fixed number of addresses. Each page is stored on a disk until it is needed. When the page is needed, the operating system copies it Virtual Memory ‘Discussion’ (3) from disk to main memory, translating the virtual addresses into real addresses. The process of translating virtual addresses into real addresses is called mapping. The copying of virtual pages from disk to main memory is known as paging or swapping. Konsep Software Memory management Virtual memory & paging Multitasking Multithreading Time-sharing Multitasking, Multithreading, Time-sharing Multitasking Proses kegiatan yang memperkenankan pengguna menjalankan satu atau lebih aplikasi pada waktu yang sama. Multithreading Proses kegiatan yang pada dasarnya multitugas dengan satu aplikasi. Time-sharing Proses kegiatan yang memungkinkan lebih dari satu orang menggunakan sistem komputer pada waktu yang sama. Software Concepts Network capability Tambahan komputer yang dikoneksikan ke sistem Access to system resources Menyiapkan sekuriti untuk akses aotorisasi. File management Memastikan bahwa file di memori sekunder tersedia bila dibutuhkan, dan diproteksi terhadap pengguna yang tidak memiliki outorisasi. Utility Programs Utility programs… Program yang digunakan menggabung dan mengurut data, menjaga data yang sedang di jalankan pada jalur yang tepat, mengkompres file sebelum disimpan atau dikirimkan ke jaringan, dan melakukan tugas penting lain. Types of Application Software Proprietary Dirancang menyelesaikan permasalahan unik dan spesifik. In-house. Pengembangan software aplikasi menggunakan sumberdaya perusahaan. Contract. Dikembangkan oleh perusahaan khusus. Off-the-shelf Software yang telah ada dapat digunakan tanpa harus melakukan perubahan Sources of Software Customized package Menggabung software yang berasal dari luar dan dalam. • In-house customized • Contract customization Schematic Application software Proprietary software In-house developed Off-the-shelf software Standard package Customized package Contract In-house customized Contract customization Examples Turbo Tax Turbo Tax Menyiapkan asistensi otomatis perhitungan pajak dan pengajuan pajak. (Figure 4.6) 24 Quicken Quicken Software yang tergolong off-the-shelf yang menyiapkan bantuan dalam penulisan dan pembuatan akuntansi personal. (Figure 4.7) 25 Word Processing Word Processing Menyiapkan bantuan untuk memformulasi, format, dan mencetak dokumen seperti surat, memo, makalah dll. (Figure 4.8) 26 Spreadsheet Spreadsheet Provides a wide range of built-in functions for statistical, financial, logical, database, graphics, and data and time calculations. (Figure 4.9) 27 Database Database Stores, manipulates, and retrieves data. (Figure 4.10) 28 Graphics Graphics Program Helps make a presentation; develops brochures, illustrations, etc. Usually called Presentation Graphics On-Line Services (Figure 4.12) On-Line Services Menyiapkan akses ke berbagai sumber informasi . (Figure 4.12) 30 Software Suite Software Suite Koleksi berbagai sofware untuk meningkatkan produktivitas seperti: pengolah kata, spreadsheet, dan data base. 31 Software Concepts - OLE OLE = Object Linking and Embedding Software yang memperkenankan anda mengkopi teks dari satu dokumen ke yang lain, atau menyertakan grafik dari satu dokumen ke dokumen lain. Server Application. Aplikasi yang menawarkan anda untuk menempatkan objek kepada aplikasi. Client application. Aplikasi yang menerima dari aplikasi yang lain. OLE Concepts Copy Mengkopi data dari satu aplikasi dan menempatkannya pada aplikasi lain. Link. Perubahan yang dibuat kepada objek serve secara otomatis dalam semua objek yang ada. Embed. Objek yang menjadi bagian dari dokumen klain (anggota). Schematic Graphics Program Server Application Client Application Word Processing Program Team photo Spreadsheet Program Server Application Actual vs. Budget -------------------------------------- Copy Team photo Actual vs. budget Link --- --- --- --- --- --- --- -- --- - - - --- --- --- --- --- --- -- Project Management Program Server Application Chart ==== == == == == == = === == == ==== ==== = Chart ------------------- -------- Embed OLE ‘Discussion’ Abbreviation for Object Linking and Embedding, pronounced as separate letters or as oh-leh. OLE is a compound document standard developed by Microsoft Corporation. It enables you to create objects with one application and then link or embed them in a second application. Embedded objects retain their original format and links to the application that created them. Support for OLE is built into the Windows and Macintosh operating systems. A competing compound document standard developed jointly by IBM, Apple Computer, and other computer firms is called OpenDoc. Software Aplikasi Workgroup. Groupware Software yang membuat kelompok bekerja bersama lebih efisien dan efektif. Collaborative computing software. Software yang membantu tim bekerja bersama ke arah pencapaian tujuan bersama. Software Aplikasi Perusahaan. Enterprise application software… Software yang memberi manfaat kepada perusahaan secara keseluruhan. Examples Accounts receivable Accounts payable Cash-flow analysis Manufacturing control General Ledger Sales ordering Order entry Check processing Receiving Retail Operations Example Integrated Supply Chain Management Software Enterprise Resource Planning (ERP) Enterprise Resource Planning (ERP)… A set of integrated programs that manage a company’s vital business operations for an entire multi-site, global organization Vendor examples SAP Oracle PeopleSoft Dun & Bradstreet JD Edwards Baan SSA Marcam QAD Ross Systems ERP ‘Discussion’ Short for enterprise resource planning, a business management system that integrates all facets of the business, including planning, manufacturing, sales, and marketing. As the ERP methodology has become more popular, software applications have emerged to help business managers implement ERP. Programming Languages Programming languages… Skema pencatatan yang digunakan menulis oleh sistem dan software aplikasi. Categories of Programming Languages (1) Machine Language Generasi program bahasa pertama 1st Dianggap sebagai bahasa yang paling rendah karena menggunakan binari dengan simbol 1 dan 0. Assembly Language. Generasi bahasa ke dua (2nd ) menggantikan binari digit dengan programer mnemonics (e.g., “ADD”) yang lebih mudah diketahui. Categories of Programming Languages (2) Third Generation Languages Tren yang berkelanjutan dengan code simbol (e.g. COBOL) Fourth Generation Languages (4GLs) Bahasa dengan prosedur y glebih sederhana kurang mentaati Bahasa Inggris sebagaimana pada generasi ke III. (e.g. FOCUS) Categories of Programming Languages (3) Query languages chika Used to ask the computer questions in Englishlike sentences Also known as database languages Structured query language (SQL) A standardized language often used to perform database queries and manipulations Object Oriented Languages (1) Object-oriented languages (OOL) • Languages that allow interaction of programming objects, including data elements and the actions that will be performed on them • Note: OOP = object-oriented programming Encapsulation • The process of grouping items into an object Polymorphism • A process allowing the programmer to develop one routine or set of activities that will operate on multiple objects Object Oriented Languages (2) Inheritance • Property used to describe objects in a group of objects taking on characteristics of other objects in the same group or class of objects Reusable code • The instruction code within an object that can be reused in different programs for a variety of applications Examples • Smalltalk, C++, Java Visual Programming Languages Visual programming languages… Languages that use a mouse, icons, or symbols on the screen and pull-down menus to develop programs Examples • Visual Basic • Visual C++ • PC COBOL Fifth-Generation Languages 5th generation languages… Combines rule-based code generation, component management, visual programming techniques, and reuse management Knowledge-based management • An approach to the development of computer programs in which you do not tell a computer how to do a job, but what you want it to do Programming Languages: Terminology (1) Language translator Systems software that converts a programmer’s source code into its equivalent in machine language Source code High-level program code written by the programmer Object code Another name for machine language code Programming Languages: Terminology (2) Interpreter A language translator that translates one program statement at a time into machine code Program statement Interpreter Machine language statement Statement execution Programming Languages: Terminology (3) Compiler A language translator that converts a complete program into machine language to produce a program that the computer can process in its entirety Schematic Step 1: Translate program Computer program Compiler Machine language program Step 2: Execute program Machine language program Program execution End of Chapter 4 Chapter 5