PERKEMBANGAN TEKNOLOGI INFORMASI SOFTWAR (1)

PERKEMBANGAN TEKNOLOGI INFORMASI SOFTWARE APLIKASI

PERKEMBANGAN TEKNOLOGI INFORMASI
TENTANG

SOFTWARE APLIKASI

Di Susun Oleh :
Nama : Neni Nur’aeni
Kelas

:C

Semester

: 1 (satu)

NIM
Jurusan
fakultas


: 1127050116
: Teknik informatika
: sains dan teknologi

UNIVERSITAS ISLAM NEGERI
SUNAN GUNUNG DJATI
BANDUNG
2011-2012

KATA PENGANTAR
Bismillahhirrohmanirrohim.
Dengan memanjatkan do'a dan puji syukur kehadirat Allah SWT serta sholawat serta
salam tercurahkan ke junjungan kita Nabi Muhammad SAW, sehingga penulis dapat
menyelesaikan tugas Software Aplikasi
Adapun penulisan makalah ini dapat terselesaikan berkat bantuan dari segala pihak yang
membantu terselesaikannya makalah ini.
Penulis menyadari bahwa makalah ini masih banyak kesalahan dan kekurangan, maka
dari itu penulis mengharapkan sumbangan pikiran, pendapat serta saran – saran yang berguna
demi penyempurnaan makalah ini. Semoga makalah ini dapat berguna dan bermanfaat bagi
pembaca.


BAB I
PENDAHULUAN
I. Latar Belakang
Dewasa ini perkembangan dan kemajuaan teknologi informasi dan komunikasi telah
berkembang dengan sangat pesat. Berbagai kemudahan memperoleh informasi dari berbagai
penjuru dunia dapat kita nikmati dalam hitungan detik. Pada saat " Zaman Batu " teknologi
informasi dan komunikasi dianggap sebagai sesuatu yang tidak mungkin, kini telah menjadi
kenyataan. Dengan teknologi yang luas ini kita harus dapat memanfaatkannya.
Diantara teknologi informasi yang hampir disetiap tempat kita temukan adalah computer.
Sekarang computer sangat berkembang pesat hampir setiap tahun computer selalu mengalami
perkembangan.Orang bisa menggunakan computer dimana saja dirumah, dikafe, disekolah, dan
ditempat lainnya. Sedangkan model dan design dari computer itu sendiri juga mengalami
perkembangan. Dulu apabila orang ingin menggunakan computer maka hanya bias dikantor atau
dirumah, kalau sekarang mereka bias menggunakan computer tersebut dimana saja yang mereka
inginkan.

BAB II
PEMBAHASAN
IDENTIFIKASI JENIS-JENIS SOFTWARE APLIKASI

1) Sistem Operasi
Sistem operasi merupakan sofware yang pertama kali dibaca oleh komputer pada saat
booting sebagai dasar pengoperasian komputer.
Terdapat 2 jenis sistem operasi berdasarkan tampilan antarmuka kepada penggunanya (user
interface) yaitu yang berbasis CUI (Character User Interface) dan berbasis GUI (Graphical User
Interface). Sistem operasi berbasis CUI, misalnya : DOS (Disk Operating Sistem) dan Sistem
Operasi UNIX dan Linux pada mode terminal atau konsol. Sedangkan sistem operasi berbasis
GUI, misalnya : Microsoft Windows 9x, 2000, NT, XP, serta sistem operasi UNIX dan Linux
yang

telah

mendukung

GUI.

2) Program Bantu dan Program Tambahan
Program bantu (utility) merupakan program yang digunakan untuk mengisi kekurangan
atau menampilkan kembali file suatu sistem operasi yang terhapus. PC Tools dan Norton Utilities
merupakan contoh dari program ini. Salah satu dari kelemahan DOS adalah tidak mampu bekerja

di sistem jaringan. Oleh karena itu beberapa perusahaan membuat program tambahan yang dapat
mengubah sistem DOS tersebut (single user atau stand alone system) menjadi sistem operasi
yang dapat digunakan oleh banyak pemakai (multiuser). Netware, Token R ing dan Lantastic
merukan contoh-contoh program ini.
3) Bahasa Komputer (Computer Language)
Computer Language merupakan bahasa yang digunakan untuk membuat program
komputer. Disebut bahasa karenacomputer language memiliki kosa kata dan tata bahasa yang
harus ditaati oleh pemakainya.
Yang termasuk dalam jenis ini adalah :
a. Low Level Language, merupakan bahasa tingkat rendah karena sulit dipahami dan hanya
dapat dimengerti oleh pembuatnya. Yang termasuk program ini adalah bahasa mesin assembly
language
b. High Level Language, merupakan bahasa tingkat tinggi karena menggunakan kata-kata yang
mudah dimengerti. Contoh dari program ini adalah BASIC, PASCAL, FORTRAN, dsb.

Ada pula beberapa tipe software, diantaranya :
a. Software Games
J

enis software ini termasuk dalam kategori entertainment atau hiburan, software ini


memiliki berbagai macam jenis. Jenis-jenis tersebut seperti MMOs (Massive Multiplayer Online
games), first-person shooters, action games, roleplaying games, and game petualangan.
b. Software Driver
Program in mengijinkan komputer untuk dapat berinteraksi dengan perangkat hardware
tambahan seperti printer, scanner, dan video cards.
c. Software Pendidikan
berbeda dengan jenis program sebelumnya, software pendidikan ini dapat mengajarkan
apapun dari komputer, melakukan aktifitas yang berhubungan seperti mengetik atau berbagai
macam jenis pendidikan lainnya seperti kimia.
d. Media player dan pengembangan software media lainnya –
Software yang dibuat untuk dapat memainkan atau mengedit media digital seperti file music atau
video.
e. Software Produktifitas
Jenis software ini mengijinkan pengguna untuk lebih produktif baik itu dalam
menjalankan bisnis atau menjalankan aktifitas produktif lainnya. Contoh dari software ini adalah
software pengolah huruf (Ms Words), Software pengatur database, software presentasi dan
beberapa software lainnya.
f. Operating sistem
software yang merupakan sumber dari software lainnya yang dapat mengijinkan software

lainnya untuk berjalan. Contoh dari software operating sistem ini adalah Window Vista, Mac OS
X dan Linux, Apple, Machintos dll, dan pada software inilah program aplikasi lainnya di install.
g. Software Aplikasi
Software yang diinstal pada komputer yang sesuai dengan os yang ada, dimana software
aplikasi ini diinstal sesuai dengan kebutuhan User (Pengguna) contohnya, MS Office (Ms Word,
Ms Excell, Ms Power Point dll), Software Grafis (Adobe Photoshope, Corel Draw, Autocad dll)
h. Software Program

Software yang berfungsi untuk membuat aplikasi-aplikasi program (Membuat Program
baru) seperti program Games, Program data Base, Program Web dll, Contoh Software Program :
Visual Basic, Cobol, C++, Program PHP dll
i. Software Aplikasi Tools
Program-program yang berfungsi untuk mempercepat, memperbaiki, dan mempermudah
pengoperasian komputer
A. Bahasa Pemograman
1. Pemrograman Prosedural (Procedural Programming) *
• Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah
proses yang procedural.
• Defenisi procedural adalah :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas

2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah
• Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi.
Bagian instruksi terdiri atas runtutan instruksi yang dilaksanakan satu persatu secara berurutan
oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan
kondisional. Data yang disimpan didalam memori dimanipulasi oleh instruksi secara beruntun
atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural.
• Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C. mendukung kegiatan
pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural.
2. Pemrograman Terstruktur (Structured Programming) *
• Bahasa pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan
program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan
dipanggil dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda
untuk setiap pemanggilan.
• Prosedur adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan
dengan menggunakan parameter tertentu.
• Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data,
pengkodean terstruktur dan kontrol program terstruktur.
• Prinsip pemrograman terstruktur:
 Pendekatan rancangan dari atas ke bawah (top down design),


 Bagi program ke dalam modul-modul logika yang sejenis,
 Gunakan sub-program untuk proses sejenis yang sering digunakan,
 Gunakan pengkodean terstruktur: (IF - THEN, DO-.. WHILE ),
 Hindarkan penggunaan perintah GO TO bila tidak diperlukan,
 Gunakan nama-nama bermakna (mnemonic names), dan
 Buat dokumentasi yang akurat dan berarti.
• Gaya penulisan program terstruktur:
• Menggunakan indentasi sehingga jelas struktur dan kontrol program.
• Memudahkan pembacaan, pemahaman, penelusuran kesalahan dan pembuatan koreksi.
• Contoh bahasa pemrograman terstruktur : Pascal. Cobol, RPG, ADA, C
3. Pemrograman Modular(Modular Programming) *
Program-program yang besar cenderung sulit terutama karena kompleksitas dari program
tersebut, dan banyak bagian dengan hubungan yang rumit dan detail yang sebenarnya tidak
perlu.
Salah satu metode dalam penyusunan program terstruktur adalah pemrograman modular.
Dalam pemrograman modular, program dipecah-pecah ke dalam modul-modul, dimana setiap
modul menunjukkan fungsi dan tugas tunggal. Dengan membagi masalah ke dalam modulmodul, maka masalah akan menjadi sederhana sehingga program dapat lebih mudah disusun dan
dipahami.
• Fungsi, Prosedur, atau kumpulan perintah-perintah dipaket menjadi suatu modul.
• Dapat digunakan berulang-ulang, atau digunakan olah fungsi, prosedur lain dalam program.

Setiap program mempunyai sebuah modul program utama, yang mengontrol semua
proses yang terjadi, termsuk mengirimkan kontrol program ke submodul untuk melakukan suatu
fungsi tertentu.
Pemrograman modular diterapkan dengan menggunakan sub-routine, yaitu sebuah
kumpulan perintah yang melakukan tugas pemrosesan yang terbatas.
• Jika persoalan yang ingin dipecahkan melalui program terlalu besar, sebaiknya pemecahan
masalah dilakukan secara bertahap
• Setiap tahapan akan menghasilkan modul program

• Setiap modul tersebut diberi nama sehingga untuk menyatakannya cukup dengan menyebut
namanya• Deskripsi fungsional dari setiap modul adalah penting
Program yang didefinisikan modulnya dengan baik akan :
• Mudah dibaca dan dimengerti oleh pemakai
• Efisien, karena modul yang sama mungkin dipakai pada beberapa tahapan program.
• Modular programming banyak dimanfaatkan oleh bahasa pemrograman OOP.
4. Pemrograman Fungsional (Functional Programming) *
• Suatu bahasa dimana ekspresi disusun atas fungsi panggilan (bukan pernyataan). Fungsi:
perintah-perintah yang terkumpul menjadi satu dan dapat menghasilkan suatu nilai.
• Disebut bahasa pemrograman fungsional karena memang pada program seluruh kodenya
berupa fungsi-fungsi. Bahasa pemrograman fungsional merupakan salah satu bahasa

pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi
matematika.
• Isi dari Program fungsional tidak mengandung pernyataan perintah.
• Contoh bahasa pemrograman fungsional : Lisp, Scheme, ML, Haskell,
Erlang.
5. Pemrograman Berorientasi Objek* (OOP/Object-Oriented Programming)
Object / Objek : Elemen yang memiliki fungsi, metode, karakteristik tertentu yang dapat
dibedakan dalam dunia nyata.
 Merupakan bahasa pemrograman yang mampu memanfaatkan objek-objek yang tersedia atau
membuat suatu objek tertentu dengan menggunakan bahasa pemrograman.
 Mampu merefleksikan kebutuhan-kebutuhan user sebagaimana lakyaknya yang ada di dunia
nyata
. Relative lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program.
 Memiliki feature yang memperkuat dan meningkatkan flesibilitas suatu objek dengan
diadanya class, instance, encapsulation, inheritance, reuseability, dan polymorphism.
• Karakteristik Bahasa Berorientasi Objek:
 Objek fisik: (Mobil dalam simulasi arus lalu lintas, Pesawat terbang dalam sistem pengontrolan
lalu lintas udara)
 Elemen dari lingkungan : (Windows, Objek grafik ( garis, lingkaran, polygon))


 Penyimpanan data (array, stack, Link list, binary tree)
 Entitas orang (karyawan, mahasiswa, pelanggan, pasien)
Contoh bahasa pemrograman beroriantasi object : C++ , SmallTalks , Java
6. Pemrograman Visual
Bahasa Visual
• Penggunaan ekspresi visual(seperti grafik, gambar, atau ikon) yang sistematik dan mempunyai
arti
• Bahasa visual adalah himpunan simbol-simbol grafis dan teks yang mempunyai arti semantik
dan digunakan untuk menyelesaikan masalah komunikasi di dunia.
Bandingkan:Bahasa Textual mengacu pada penggunaan karakter (teks).
Bahasa tekstual konvensional hanya bekerja pada 1 dimensi karena compiler/interpreter
memproses program pada satu arah saja.
Pemrograman Visual :
• “Penggunaan ekspresi visual (seperti grafik, gambar, atau ikon) dalam proses pemrograman”
• “Mengacu pada aktivitas yang memungkinkan pengguna untuk membuat program dalam dua
(atau lebih) dimensi.
Bahasa Pemrograman Visual:
“Bahasa visual digunakan dalam pemrograman visual”
Visualisi:“Penggunaan representasi visual (grafik, gambar, atau animasi) untuk menggambarkan
program, data, struktur atau tingkah laku dinamis sistem yang kompleks.”
Sistem Pemrograman Visual:
“Sistem komputer yang mendukung baik pemrograman visual maupun visualisasi”
Contoh Bahasa Visual (1)
l Kenyataan, bahasa visual
• lebih tua dari saudaranya tekstual
• ada anggapan komputer tidak bisa apa-apa
l Contoh historis:
Examples of Visual Languages (2)
l Bahasa visual Modern
• Pictograms
• Elemen pada GUI

• Simbol File dan folder, dll.
• Skema rangkaian elektronik
• Diagram keadaan, diagram E-R
• Petri Nets: Bahasa visual untuk tingkah laku system
l Bahasa campuran: berisi elemen visual yang mempunyai elemen tekstual (keterangan)
6. Pemrograman Even-Driven (Even-Driven Programming) *
Menggunakan konsep “Jika sebuah aksi / perintah dilakukan terhadap sebuah objek, apa
yang akan terjadi / dilakukan oleh objek tersebut selanjutnya.”
Sangat fleksibel dalam pembuatan koding program, karena sudah menggunakan konsep OOP
dimana pemrograman dapat dimulai dari objek yang diinginkan tanpa harus terurut.
Merupakan salah jenis bahasa pemrograman yang sudah memanfaatkan GUI (Graphic User
Interface).Biasanya merupakan jenis bahas pemrograman visual.
Contoh : Visual Basic, Visual C++, Delphi, Borland Kilix
Bagi anda yang bekerja dalam bidang web design pasti sudah tidak asing lagi dengan apa
yang nama bahasa pemrograman.Bahasa pemrograman yang umum dikenal adalah php dan
html.Tapi sebenarnya masih banyak bahasa pemrograman yang lain.
Berikut adalah macam bahasa pemrograman lain yang perlu anda ketahui.
1. Bahasa Pemrograman HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan
untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah
browser Internet.HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan
penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan
sesuai dengan yang diinginkan.
Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web
seperti Mozilla Firefox atau Microsoft Internet Explorer.
2. Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih
bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk
mengolah data form dari web.

PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup
kemungkinan digunakan untuk pemakaian lain.
PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting
windows).
3. Bahasa Pemrograman ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa
pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft.
ASP bekerja pada web server dan merupakan server side scripting.
4. Bahasa Pemrograman XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang
direkomendasikan W3C untuk mendeskripsikan berbagai macam data
XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas
pada tampilan halaman web saja.
XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.
5. Bahasa Pemrograman WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman
yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge).
WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.
6. Bahasa Pemrograman PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS,
Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC,
BeOS, VMS, EBCDIC, dan PocketPC.PERL merupakan bahasa pemograman yang mirip bahasa
pemograman C.
7. Bahasa Pemrograman CFM
Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion /
BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html.
8. Bahasa Pemrograman Javascript
Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.

JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.
Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled
browser yaitu browser yang mampu menjalankan JavaScript
.9. Bahasa Pemrograman CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk
mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang
ditulis dengan HTML dan XHTML
.Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML
termasuk SVG dan XUL.
Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).
Berikut ini adalah contoh bahasa pemrograman komputer:
• Ada
• ALGOL
• Assembly
• BASIC:
o ASP
o BASIC
o COMAL
o Visual Basic
o Visual Basic for Applications
o VBScript
• Batch (MS-DOS)
• COBOL
• UNIX shell script:
o Bourne shell (sh) script
o Bourne-Again shell (bash) script
o Korn shell (ksh) script
o C shell (csh) script
• C:
o C++

o C#
o Visual C++
• ColdFusion
• dBase dkk.:
o Clipper
o Foxbase
o FoxPro
o Visual FoxPro
• Eiffel
• FORTRAN
• Haskell
• Java
o JavaScript
o JSP
• Lisp
• Logo
• Pascal
o Delphi
• Perl
• Prolog
• Python
• PHP
• Pike
•R
• REXX
• REBOL
• RPG
• Ruby
• Simula
• Smalltalk
• Scheme

• SQL
b. SISTEM OPERASI
Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau
OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen
perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi
seperti program-program pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada
memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya
dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti
umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk,
manajemen memori, skeduling task, dan antar-muka user. 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.
Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk
dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstall. Dalam
Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah
perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras
serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti programprogram pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditempatkan
pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya
dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti
umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk,
manajemen memori, skeduling task, dan antar-muka user. 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
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah
penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem
Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi

yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi
software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan
lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara
bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua
proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta
tidak saling mengganggu
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi
standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap
pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat
dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu
waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa
aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini disebut
sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX). Beberapa
Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input
pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja
tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS,
sedangkan tipe kedua adalah Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux,
Free BSD, Solaris, palm, symbian, dan sebagainya.
Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi
layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan
koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu
untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari
komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.

Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman
Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah
program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia
berkomunikasi dengan komputer melalui Antarmuka User, program juga
berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada programprogram yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat
untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat
perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC,
komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment
(versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows
NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003,
Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient
yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX,
keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD
yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau
Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007
direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem
operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang
dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

c. PROGRAM APLIKASI

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam
sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya
prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses
adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya.
Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan
program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam
memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program
tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian
dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat
pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan
yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem
komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu
instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan
multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan
satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya,
dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan
prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control
Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses
(Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan
informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang
menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki
prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan
dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua
proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama.
Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan
dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang
sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat
berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
• Koleksi Open-Content Textbook: Wikibooks:Operating System Design
Contoh Software Aplikasi
Payroll Software: Sistem/ Program/ Aplikasi Payroll Indonesia
EuClid Payroll System is the payroll software with automates the pay process by gathering data
on employee time and attendance, calculating various deductions and taxes, generating periodic
pay cheques and employee tax reports. Perform automatic deposit calculation or writing cheque
manually based on human resource and time management data. Set up accounts payable
transactions based on employees deductions then send accounting information to the general
ledger for posting subsequent pay cycle.
Sejarah desain software dan pengembangannya
Sejarah metodologi pengembangan software seperti pencarian peluru perak, yang tujuan
utamanya adalah mengatur kompleksitas sistem software dengan suatu cara. Persepsi personal
sya(pengarang software developtment book): mengembangkan sistem software yang
kompleks,cukup kompleks, membutuhkan waktu dan biaya yang cukup besar. kita akan melihat
pada lima metodologi secara garis besar yang biasanya dikembangkan dan digunakan.
Structured Programming
Sturctured programming berurusan dengan penggunaan blok sturktur, state procedure
call, dan beragam konstruksi loop yang sesuai. Kita dapatkan mantra baru untuk ini:”go to
considered harfull”(kita mencari hal yang diperkirakan salah/merugikan)
Ide yang cukup jelas untuk memberikan pengetahuan/pengertian terhadap flow kontrol program
dengan mudah, agar program disusun secara terstruktur dan transparan. Penulis berpendapat
bahwa ide dari structured programming telah terintegrasi pada semua metodologi yang muncul
setelahnya.
Object oriented Programming
Metodologi Object Oriented Programming (OOP) berkembang dari ide structrured
programming. OOP mengatur komplesitas software dengan memaketkan kode dan data yang

biasa digunakan bersama. Biasanya kita samakan dengan object pada dunia nyata. pada OOP,
kita kadang kadang memodelkan object dunia nyata(ex: menulis program simulasi, ketika
pertamakali konsep OOP dikembangkan) sebagai object software dan juga sebagai model benda
non-material seperti prosess, cara mengorganisasi informasi dan lain sebagainya sebagai object
software
sebuah object software dapat menjaga internal statenya sendiri. Hal ini sangat berbeda
dengan program terstruktur yang kodenya bisa terstruktur dan dapat dimengerti dengan mudah,
tetapi global data yang dipakai bersama terdapat pada semua bagian sistem software-termasuk
didalamnya bagian tanpa kebutuhan untuk akses atau modifikasi data tersebut.
Design Patterns
Manusia selalu menggunakan pola dalam dunianya. Seperti seorang anak yang berpikir
bahwa temannya yang mempunyai kebiasaan pola belajar yang baik akan mendapat nilai yang
baik pula. ketika kita belajar memasak, kita mungkin akan berpikir pertamakali seperti kebiasaan
pola memasak untuk menyiapkan resep dan bahan sebelum memulai memasak, kemudian
kemudian sering mencoba mencicipi makanan setelah ditambahkan bumbu.dan lain sebagainya.
pada pengembangan software, penggunaan design patern didasarkan pada observasi
bahwa beberapa proyek software gagal sementara proyek yang mirip berhasil (hal ini dapat
berupa pola managemen, pole penjadwalan, pola testing dll). pada desain software, penggunaan
pola didasarkan pada observasi lebih lanjut pada pola desain umum untuk tugas yang hampir
sama digunakan berulangkali untuk proyek yang berhasil.
Extreme Programming
Extreme

programming

didasarkan

pada

identifikasi

kebutuhan

kostumer

dan

berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan (kostumer) dengan
cepat. menggunakan desain sederhana untuk berkomunikasi dengan pelanggan, pengembang
extreme secara teratur mengembangkan software dengan prioritas pada keperluan yang paling
penting.
Extreme programming merupakan pendekatan yang berbeda dengan skenario tradisional
yang memerlukan waktu baik pengembang maupun pelanggan untuk mencoba (biasanya dengan
tingkat kesuksesan yang terbatas) mendokumentasikan secara detail software yang telah
dikembangkan selama beberapa lama waktu yang dihabiskan. pengembang yang berpengalaman
mengerti bahwa implementasi yang ter-stag secara positif berpengaruh pada proses desain.

extreme programming secara special efektif ketika kebutuhan kompleks dan tidak memerlukan
hal seperti sebelumnya.
Ketika kita belajar UML, kita akan melihat beberapa detail kasus-kasus user yang secara
lengkap menerangkan aspek individu bagaimana orang akan menggunakan sistem software.
extreme programming menggunakan suatu hal yang dinamakan dengan “Cerita User”(user
stories) yang dibuat oleh pelanggan untuk menjelaskan persepsinya terhadap sistem yang akan
dibangun.

cerita

user

kemudian

digunakan

untuk

mendefinisikan

perkiraan

waktu

pengembangannya, dan membantu mendefinisikan test yang terotomasi yang akan digunakan
serta digunakan baik untuk pengembangan maupun untuk test penerimaan pelanggan (acceptance
test).
Extreme programming biasanya dideskripsikan sebagai sebuah phrase yang cukup berarti
bagi penulis: test driven programming. menulis kode test sebelum menulis kode aplikasi.
kemudian menulis software cukup untuk memenuhi unit test. tidak diijinkan untuk mengubah
kode software sebelum seluruh test unit dilalui. gunakan tools seperti JUnit (www.junit.org)
untuk menulis test yang terotomasi.
Aspect oriented Programming
Ide utama dibalik aspect oriented programming (AOP) adalah pemisahan konsentrasi
sistem software pada bagian yang berbeda. pada prinsipnya, pilosofi ini mengijinkan
pengembangan sistem yang lebih modular, dengan modularitasnya terkontrol oleh konsentrasi
pengembangan yang berbeda. untuk programmer java, direkomendasikan untuk mencari AspectJ
project (eclipse.org/aspectj).
sebagai kutipan yang didapat dari situs web AspectJ :
“AspectJ enables the clean modularization of crosscutting concerns such as:error checking and
handling, synchronization, context-sensitive behavior, performance optimizations, monitoring
and logging, debugging support, multi-object protocols”
Baik

free

eclipse

java

IDE

(www.eclipse.org)

dan

IntelliJ

Java

IDE

yang

berbayar(www.intellij.com) keduanya mendukung AspectJ.Aspectj adalah sebuah ekstensi
(perluasan) bahasa java dan membutuhkan preprocessing. catatan: meskipun telah mengikuti
AOP, penulis masih belum menggunakannya pada proyek nyata.
3. PERKEMBANGAN SOFTWARE

Jika kita amati sekarang ini gerakan Open Source sudah mulai merambah di Indonesia
yang identik dengan Sistem Operasi Linux. Open Source yang akrab terdengar di telinga orangorang TI dapat dikatakan sebagai source code yang terbuka bagi siapa saja yang ingin
mempelajari maupun ikut mengembangkan. Source Code ini disertakan dengan distribusi paket
software yang sudah jadi (hasil kompilasi) sehingga pembeli ataupun pengguna software dapat
membedah software tersebut sesuai dengan keperluanya. Bahkan dapat ikut memperbaiki Bug
atau kesalahan logika dalam software tersebut.
Salah satu Open Source yang sangat terkenal yaitu sistem operasi linux, setiap
distribusinya vendor selalu menyertai source kode linux. Satu hal yang perlu ditekankan bahwa
software open source tidak selalu gratis tetapi ada biaya yang dikeluarkan untuk membeli
software tersebut. Sebagai contoh Sistem Operasi RedHat Linux yang dapat dibeli dengan harga
yang murah. Lalu apa bedanya Sistem Operasi Open Source dengan Sistem Operasi Close
Source seperti yang dipunyai pak Bill Gates?
Pada software yang Close Source, paket software tidak dapat didistribusikan lagi selain
oleh pembuat/vendor software tersebut. Sedangkan software yang Open Source dapat
didistribusikan secara bebas oleh siapapun. Tujuan Open Source ini sebenarnya ingin
menghilangkan ketergantungan vendor software, dimana vendor dapat bertindak seenaknya bisa
saja vendor menyisipkan kode-kode yang dapat membahayakan software aplikasi lain termasuk
juga menaikkan harga lisensi.
Dalam banyak kasus, bila terjadi Bug dalam software yang Close Source
pengguna sangat tergantung kepada vendor yang harus menunggu update
untuk memperbaikinya. Seringkali vendor kurang cepat merespons perkembangan terkini dan
permintaan pengguna.
Bagaimana dengan Open Source? Ya, Open Source adalah salah satu solusi yang
menjanjikan saat ini bagi suatu perusahaan. Perusahaan dapat membelinya dengan biaya yang
jauh lebih murah dan perbaikan maupun keperluan software tersebut dapat dilakukan oleh staf TI
perusahaan itu sendiri. Sehingga apa yang terjadi? Dengan software yang open source dapat
mendorong semangat tenaga-tenaga TI untuk mempelajari source code tersebut, dapat
menganalisa dimana kelemahan software, apa sesungguhnya proses yang berlangsung dalam
kerja software, dan sekaligus mencari solusi terhadap kelemahan software yang ditemui. Atau

yang lebih ekstrim adalah memodifikasi software sedemikian rupa agar lebih ergonomis / pas
digunakan sesuai dengan keperluan.
Apa hubungannya dengan perkembangan software di Indonesia? Kita lihat India, ekspor
software dan ekspor tenaga TI sangat mendominasi negara ini. Saat ini India telah menduduki
urutan kedua setelah US dalam ekspor software. Perusahaan-perusahaan software di India
tumbuh dengan subur karena produk/software lokal mereka mendapat tempat di pasar dalam
negeri. Secara otomatis jika software lokal diterima oleh pasar dalam negeri maka pemerintah
dapat mengurangi penggunaan devisa negara dan mengurangi tingkat ketergantungan impor
teknologi atau software dan tenaga ahli, meningkatkan kapasitas tenaga TI dalam negeri, dan
membuka kesempatan kepada industri pengembang software lokal. Sehingga dengan adanya
peningkatan kapasitas tenaga TI dan kualitas produksi software maka negara ini mampu
melempar keluar hasil produksi dan tenaga TI-nya ke pasar luar negeri. Mungkinkah hal ini
terjadi di Indonesia?
Open Source secara tidak langsung mendorongan tenaga TI tidak hanya menjadi End
User yang hanya mampu memanfaatkan hasil kerja orang lain. Dengan demikian jika tenaga TI
negeri kita hanya berlaku sebagai End User maka bidang TI negara kita akan tertinggal dengan
negara-negara lain. Maka dengan adanya Open Source dapat dipelajari source code software dan
dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut yang nantinya
pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna.
Dengan melihat perkembangan Open Source yang melaju dengan pesat beberapa waktu
yang lalu pemerintah kita Indonesia telah menerapkan Open Source Software yang
dideklarasikan dalam Indonesia Go Open Source (IGOS) yang bertujuan untuk mengurangi
kesenjangan negara kita dengan negara maju. Semoga langkah yang baik ini sebagai awal
perkembangan software Indonesia dan didukung oleh tenaga TI Indonesia dan seluruh lapisan
masyarakat Indonesia.
Jenis-jenis software berdasarkan pendistribusiannya :
a) Software "Pencari Alamat Email"
1. Software "Pelacak Asal Alamat Email"
2. Software "Pemeriksa Valid/Tidaknya Alamat Email"
3. Software "Pengirim Email Massal"
4. Software "Pengirim Iklanbaris Massal"

5. Software "IP Ad Web Sender"
6. Software "Search Engine Rangking"
7. Software "Untuk Nge-Buzz, Nge-Boot, Nge-Clone lawan bicara di Yahoo Messenger"
8. Software "Easy Site Submit"
9. Software "Banner Maker"
10. Software "File Splitter"
11. Software "Pembuat Cover Ebook"
12. Software "Pop Up Generator"
13. Software "Penghapus Password File ebook/PDF"
14. Software "Pencari Password File WINZIP"
15. Software "Pencari Password File Microsoft Office XP"
16. Software "Pencari Password File WINRAR"
17. Software "Pencari Password File Archive"
18. Software "Mempercepat Kinerja Modem Koneksi Internet"
19. Software "Koneksi Internet Cepat (ADSL Speed)"
20. Software "agar Akses Internet Anda tidak terputus-putus"
21. Software "Untuk Merubah file Ms Office ke File PDF atau sebaliknya"
22.Software "Untuk Menganalisa Keefektifan Website atau Iklan Yang Telah Anda Pasang
23. di Iklan Baris Intenet"
24. Software "Game "Who Want To Be Millionaire" versi Indonesia"
25. Software "Billing Internet"
26. Software "Validasi Kartu Kredit"
27. Software "Untuk Menyalin Seluruh Website Dgn Sekali Klik"
28. Software "Software Ramalan Horoskop"
29. Software "Al-Qur'an Digital"
30. Software "ZoneAlarm 5.0.590.015"
31. Software "FreeRAM XP Pro 1.3"
32. Software "PC Inspector File Recovery 3.0"
33. Software "PrayAlert Personal Edition 1.3.1015"
34. Software "RAMBooster 1.6"
35. Software "Subseven: Firewall 1.0"

36. Software "Ad-aware 6.0"
37. Software "Ad Blocker 4Google2 2.3.3"
38. Software "Mozilla Firefox 1.0"
39. Software "FxFoto 2.0.043"
40. Software "Download Manager"
b) Paket aneka E-book:
1. E-book "Tips & Tricks Carding"
2. E-book "Apa itu Ebook?"
3. E-book "Cara Membuat Ebook?"
4. E-book "Tips Otomotif"
5. E-book "Kumpulan Tips Dunia Kerja"
6. E-book "Kumpulan Resep Makanan"
7. E-book "cerita Misteri Rumah Tua"
8. E-book "Cerita Petualangan Ali dan Ayahnya"
9. E-book "Kumpulan Humor Terbaik"
10. E-book "Kumpulan Cerita Menarik"
11. E-book "Tips and Trik Windows"
12. E-book "Tips and Trik Registry"
13. E-book "Rahasia Akses Internet Dengan Biaya Super Murah"
14. E-book "Membajak isi Ponsel Orang Lain"
15. E-book " 3 Kunci Sukses Bisnis Internet"
16. E-book "Mencari Uang dengan hanya menonton televisi"
17. E-book "Cara Menghemat Belanja hingga 70%"
MACAM-MACAM SOFTWARE BERDASARKAN KATEGORY :
1. Audio and Video
2. CD and DVD Tools
3. Browsers and Plugins
4. File Sharing
5. Messaging and Chat
6. File Transfer
7. Office and News

8. Developer Tools
9. Anti-Spyware
10. Firewalls and Security
11. Anti-Virus
12. Cleaning and Tweaking
13. Compression and Backup
14. Benchmarking
15. Networking and Admin
16. Desktop
17. Imaging
BAB III
PENUTUP
I.Kesimpulan
Perkembangan software dari masa ke masa selalu mengalami peningkatan. Pada awalnya
software bukanlah alat yang diciptakan untuk berbagai kegunaan seperti yang kita amati pada
zaman sekarang. Dulu software diciptakan hanya sebagai alat untuk mempermudah dalam
penghitungan atau lebih mudahnya sebagai mesin hitung matematika. Tetapi seiring dengan
perkembangan zaman software ini terus berevolusi menjadi mesin serba guna khususnya pada
bidang industri dan penelitian.
Oleh karena itu, kata dasar software berasal dari kata “software” yang berarti menghitung dengan
kata lain komputer berati alat penghitung. Komputer pertama kali ditemukan oleh Charles
Babbage, kecerdasannya logika matematikanya yang sangat sepesial membuatnya mampu
menciptakan sebuah mesin yang dia sebut dengan nama Analytical Engine pada tahun 1882,
sebuah mesin yang berfungsi sebagai alat perhitungan-perhitungan umum.
Diantara teknologi informasi yang hampir disetiap tempat kita temukan software. Sekarang
software sangat berkembang pesat hampir setiap tahun software selalu mengalami
perkembangan.Orang bisa menggunakan computer dimana saja dirumah, dikafe, disekolah, dan
ditempat lainnya. Sedangkan model dan design dari software itu sendiri juga mengalami
perkembangan. Dulu apabila orang ingin menggunakan computer maka hanya bias di kantor atau
dirumah, kalau sekarang mereka bias menggunakan computer tersebut dimana saja yang mereka
inginkan.

DAFTAR PUSTAKA
http://www.kedaisoftware.comSumber : http://ilmukomputer.com
www.Pengertian Software.com
softwareinstalasi.blogspot.com
http://www.anneahira.com/komputer/software-komputer.htm
http://www.cs.ucl.ac.uk/teaching/syllabus/ug/1b12.htm
http://www.softpedia.com
http://www.brothersoft.com
http://www.ppi-india.uni.cc/BUKA/halaman.php?ArtID=313
http://nino-vektor.blogspot.com/2010/02/makalah-pengantar-teknologi-informasi.html,