Halaman

Selasa, 19 November 2013

PENGANTAR TEKNOLOGI INFORMASI



Pengantar Teknologi Informasi
" Pertemuan 3 "
" Perkembangan Perangkat Lunak "
Software..?
Software
Adalah kumpulan dari pada intruksi atau statement yang di susun secara logis dan berbentuk kode yang hanya dapat di mengerti oleh komputer dalam menjalankan sebuah operasi spesifik.
Kategori Software
Bahasa pemrograman
Paket aplikasi
Sistem Operasi
Sejarah Perkembangan Software
Era Pioneer
Pada Era Pioneer ini bentuk software komputer pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program digunakan untuk sebuah mesin tertentu dan untuk tujuan tertentu.
Sejarah Perkembangan Software
Era Stabil
Pada Era Stabil ini baris-baris perintah software komputer yang dijalankan oleh komputer bukan lagi satu-satu, tapi sudah banyak proses yang di lakukan secara bersamaan (multi tasking).
Software Komputer pada era ini juga mampu menyelesaikan banyak pengguna (multi user) dan secara cepat/langsung (real time).
Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data .
Sejarah Perkembangan Software
Era Mikro
Pada Era Mikro ini software komputer dapat dibedakan menjadi beberapa bagian yaitu Software Sistem (Windows, Linux, Machintos, dll), Software Aplikasi (Ms.Office, OpenOffice, dll) dan Languange Software/Bahasa Pemograman (Assembler, Visual Basic, Delphi, dll)
Era Modern
Pada Era Modern ini, software bukan hanya untuk sebuah PC, tetapi juga terdapat pada berbagai devices, seperti SmartPhone, Router, dll.
Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal suara dan gambar.
Software Topics
Arsitektur
Sebagai end-user, biasanya melihat 3 aspek berikut :
Platform Software
Firmware, devices driver, DE/GUI
Application Software
Office suite, dll.
User-written Software
Office template, email filter, dll.
Software Topics
Eksekusi
Bagaimana sebuah software di load kedalam penyimpanan komputer (HDD/RAM)
Kualitas & Kehandalan
Kualitas software sangat penting, terutama untuk komersial, jangan sampai terjadi bug.
Lisesnsi
Memberitahukan kepada pengguna akan hak-nya, beberapa software dilengkapi dengan lisensi ketika di distribusikan.
ex: OEM (bundle hardware), Open Souce, Freeware, Shareware
Paten
Adalah tentang spesifik algoritma atau teknik bahwa perangkat lunak berisi hal yang tidak boleh diduplikasi oleh orang lain dan dianggap kekayaan intelektual dan hak cipta bagi pembuatnya.
Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer.
Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Ref_sintaks_semantik
Sintaks
Sintaks sebuah bahasa berhubungan dengan struktur bahasa. Sebagai contoh, untuk membentuk sebuah kalimat yang valid dalam bahasa kita memakai struktur: [subyek] + [kata kerja] + [kata benda]. Dengan memakai struktur ini, kita bisa membentuk kalimat, sebagai contoh: Saya makan nasi. Dalam hubungannya dengan bahasa pemrograman, kita musti memenuhi sintaks (baca: aturan struktur bahasa) agar program dapat berjalan. Sebagai contoh, dalam bahasa BASIC, untuk mengassign sebuah variabel dengan sebuah nilai, kita memakai operand ‘=’, tetapi kalau dalam Pascal, kita pakai ‘:=’. Contoh dalam BASIC: a=1, tapi dalam bahasa Pascal, a:=1.
Semantik
Semantik sebuah bahasa menggambarkan hubungan antara sintaks dan model komputasi. Sederhananya, semantik menjelaskan arti dari program.
Analoginya sebagai berikut. Apabila kita memakai sintaks [subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan kalimat-kalimat.
Apabila kita mengasilkan kalimat Saya makan nasi, maka kalimat ini memenuhi aturan sintaks. Tapi, apabila saya membuat kalimat Saya makan batu, secara sintaks kalimat ini sudah benar. Namun, secara semantik, kalimat ini tidak mengandung makna yang berarti.
Dalam hubungannya dengan bahasa pemrograman, kadang ada kalanya seorang programmer tidak bisa mengaitkan sintaks dengan model komputasi. Kesalahan logika bisa dengan mudah terjadi.
Sebagi contoh ada bahasa pemrograman sebagai berikut:
if(a=5) {
echo ‘Nilai a=5′;
}
Apabila program ini dijalankan, apa yang terjadi? Bergantung bahasa apa yang digunakan. Apabila bahasa yang dipakai adalah bahasa C, maka output yang keluar selalu Nilai a=5, walaupun nilai variabel a sebelumnya selain 5. Kenapa itu bisa terjadi? Itu karena operator ‘=’ dalam bahasa C berarti mengassign sebuah variabel yang ada di sebelah kiri dengan nilai yang ada di sebelah kanan. Dalam bahasa C, secara sintaks operasi ini sudah benar.
Tapi, apabila yang dimaksud adalah programmer ingin mengevaluasi nilai variabel a, maka seharusnya memakai operator logika ‘==’. Jadi, program yang sebenarnya menjadi
if(a==5){
echo ‘Nilai a=5′;
}
Pragmatik
Pragmatik berhubungan dengan kemudahan implementasi dan efisiensi. Dalam analoginya dengan bahasa, kita bisa saja memberitahukan ke seseorang “Jangan merokok” apabila ada peraturan yang melarang seseorang merokok di dalam sebuah ruangan. Kalimat singkat seperti itu sebenarnya sudah cukup efisien. Tapi, dalam kesempatan lain kita bisa saja memakai kalimat “Mohon Anda jangan merokok di sini karena menurut peraturan pemerintah daerah nomor XXX tahun XXX dinyatakan bahwa merokok di tempat umum akan mengakibatkan pelanggaran peraturan, selain itu dari sisi kesehatan… blah blah blah”.
Dalam hubungannya dengan bahasa pemrograman, seorang programmer harus bisa memastikan efisiensi dalam melakukan peng-coding-an. Dalam bahasa C, programmer diberikan kekuasaan untuk mengalokasikan memori. Sebagai akibatnya, apabila programmer lalai dalam mengontorl variabel-variabel yang dihasilkan dari hasil assignment pointer, maka akan terjadi kebocoran memori. Ini diakibatkan apabila seorang programmer mengcreate sebuah variabel pointer, dan kemudian menghapusnya, informasi tersebut masih ada dalam memori, hanya saja sudah tidak bisa diakses lagi.
Ketika saya sedang mendalami konsep pemrograman secara pragmatis, menariknya, saya mendapati teori broken window. Teori ini akan saya jelaskan lebih lanjut di tulisan berikutnya dengan kategori Personal.
Penggolongan Bahasa Pemrograman
Bahasa Mesin
yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
Bahasa Tingkat Rendah / bahasa rakitan (Assembly)
yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa Tingkat Menengah
yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa Tingkat Tinggi
yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
                Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
Proses Pembuatan Program
Kompilasi (Compilation)
Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler.
Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut.
ex : C, C++, Pascal, Assembly, VB dan masih banyak lagi.
Interpretasi (Interpretation)
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter.
Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa PHP, Perl, Python, Ruby dll.
Proses Pembuatan Program
Kompilasi Sekaligus Interpretasi
Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode sumber diubah menjadi bytecode. Meskipun nampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable.
Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
Meskipun setiap bahasa pemrograman dibuat untuk membuat program, namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda.
Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly.
Paket Aplikasi
Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna.
Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite).
Contohnya adalah Microsoft Office dan OpenOffice.org
Klasifikasi Paket Aplikasi
Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain:
    1. Perangkat lunak perusahaan (enterprise)
ü  Enterprise resource planning + CRM + HRM
ü  Accounting software
ü  Financial software
    1. Perangkat lunak infrastruktur perusahaan
ü  Business workflow software
ü  Database management system (DBMS) software
ü  Digital asset management (DAM) software
ü  Document management software (DMS)
ü  Geographic information system (GIS) software
    1. Perangkat lunak informasi kerja
ü  Manajemen waktu dan sumber daya
ü  Manajemen data
ü  Dokumentasi
ü  Perangkat lunak analitik
ü  Perangkat lunak kolaborasi
    1. Perangkat lunak pengembangan media
ü  Image organizer
ü  Sound Editing
ü  Video Editing
Klasifikasi Aplikasi
    1. Perangkat lunak media dan hiburan
Ø  Screen savers
Ø  Video games
ü  Arcade games
ü  Video game console emulator
ü  Personal computer games
ü  Console games
ü  Mobile games
    1. Perangkat lunak pendidikan
Ø  Classroom management
Ø  Reference software
Ø  Sales readiness software
Ø  Survey management
    1. Perangkat lunak rekayasa produk
Ø  Hardware Engineering
ü  Computer-aided engineering
ü  Computer-aided design (CAD)
Ø  Software Engineering
ü  Computer language editor
ü  Compiler software
ü  IDE
Sistem Operasi
Adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan (booting).
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas (schedule task), dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Fitur umum sebuah sistem operasi
Process management
Interrupts
Memory management
File system
Device drivers
Networking (TCP/IP, UDP)
Security (Process/Memory protection)
I/O
Jenis Sistem Operasi
RealTime OS (RTOS)
Bagian terpenting RTOS adalah mengatur penggunaan sumber daya komputer untuk menjalankan serangkaian operasi secara berulang-ulang dalam periode tertentu.
Tujuan utama : respon cepat.
ex : RTLinux, QNX, VxWork, VMS (mainframe)
Single user, Single task
Sistem operasi single user adalah Sistem operasi yang hanya menyediakan akses layanan terhadap sistem komputer kepada satu user saja pada satu waktu. namun hanya dapat menjalankan satu aplikasi saja.
ex : DOS, PalmOS/WebOS, IOS 6-
Single user, Multi task
Dapat menjalankan beberapa aplikasi dalam waktu bersamaan.
ex : gnu/Linux, Windows, MAC
Jenis Sistem Operasi
Multi user
Sistem operasi multi-user adalah sistem operasi yang memungkinkan pengguna lebih dari satu dalam mengakses sistem komputer dalam waktu yang bersamaan. (Thin Client)
ex : Windows Terminal Server, LTSP
Distributed
Sebuah distribusi sistem operasi yang memage kelompok dari beberapa komputer independent, dan membuat mereka terlihat seperti satu komputer saja. (Cluster)
ex : WinServer, Linux
Embedded
Sistem operasi yg di design untuk digunakan di system komputer embedded, mereka di rancang didalam mesin-mesin kecil yg mempunyai autonomy terbatas.
ex : WindowsCE / windows Phone, Minix, linux DSL, Knoppix, dll
Macam-macam Operating Sistem
Windows (close source)
Machintos (close source)
gnu/Linux (open source)
Unix (mixed)
Evolusi Unix & Linux
Evolusi Machintos
Evolusi Windows
:: Selesai ::

Next : Arsitektur Komputer

http://ayyasibontot.blogspot.com/search/label/PTI


link dowload:
http://www.4shared.com/office/xlsgpvAw/p3_online.html

Tidak ada komentar:

Posting Komentar