Gambar

Jumat, 12 Februari 2010

Paradigma Pemograman

Komputer banyak digunakan sebagai alat bantu untuk menyelesaikan masalah. Namun, kita tidak bisa begitu saja memberikan masalah pada komputer, lalu komputer memberikan solusinya. Perlu pendekatan khusus untuk berkomunikasi dengan komputer, karena komputer hanyalah sebuah mesin. Kita harus menanamkan suatu strategi kepada komputer, untuk menyelesaikan masalah. Strategi yang kita tanamkan ini disebut program. Untuk membuat suatu program, kita dapat melakukan pendekatan, yang disebut sebagai paradigma.

Paradigma merupakan sudut pandang kita terhadap suatu masalah. Paradigma membatasi jalan berpikir kita, sehingga membatasi kemampuan kita untuk menyelesaikan masalah. Oleh karena itu, janganlah hanya mengandalkan suatu paradigma saja. Dalam melakukan pemrograman, kita harus melakukan pendekatan dengan paradigma yang tepat. Tidak ada satu paradigma yang dapat bekerja efektif pada semua permasalahan.

Jenis-jenis paradigma pemrograman :

1. Paradigma Prosedural / Imperatif
Didasari konsep Von Newmann [stored program concept]:
Terdapat memori yang dibedakan menjadi instruksi dan data. Memori ini dapat diberi nama dan harga. Dalam paradigma ini, kita memberikan instruksi yang akan diproses secara berurutan. Dalam instruksi ini, dapat juga terdapat percabangan, yang akan menentukan proses selanjutnya.
Pemrograman ini “gak manusia banget”, karena kita harus berpikir dalam batasan mesin. Namun, keuntungan dengan paradigma ini adalah efisiensi eksekusi, karena dekat dengan mesin.
Contoh : Algol, Pascal, Fortran, Basic, Cobol, C, dll…

2. Paradigma Fungsional
Didasari fungsi [seperti dalam matematika]
Terdapat fungsi–fungsi dasar yang dapat dilakukan oleh mesin. Fungsi-fungsi tersebut dapat membentuk komposisi yang disebut sebagai primitif. Untuk menyelesaikan masalah, kita menyusun primitif sedemikian rupa untuk menyelesaikan masalah yang ada, untuk memunculkan solusi. Dengan demikian, kekurangan paradigma ini adalah efisiensi serta kinerjanya, karena pengolahan dilakukan lebih lama.
Contoh : LISP, APL, LOGO

3. Paradigma Deklaratif, Predikatif atau Logic
Didasari oleh predikat, yakni pendefinisian relasi antar individu yang merupakan kumpulan dari fakta.
Pada paradigma ini, diuraikan sejumlah fakta dan aturan [inference rules]. Ketika program dieksekusi, pemakai program mengajukan pertanyaan [query]. Selanjutnya, program akan menyocokkan pertanyaan dengan fakta-fakta yang ada untuk menyelesaikan masalah.
Contoh : Prolog

4. Paradigma Berorientasi Objek
Didasari oleh objek.
Sebuah objek mempunyai atribut [sifat ], serta memberikan reaksi yang khusus. Sesama objek dapat saling berinteraksi, sehingga mengandung sedikit paradigma imperatif.
Contoh : C++, Java, Smalltalk, Eiffel, dll…
Selain paradigma di atas, terdapat juga paradigma konkruen[cth : OCCAM, Ada], yang memungkinkan pemrosesan secara paralel, dan paradigma relasional[cth : SQL pada basis data relasional] yang berdasarkan entity [kesatuan yang lahir] dan relasi.
Selengkapnya...

Generasi bahasa Pemograman

Bahasa-bahasa yang digunakan untuk mengatur perangkat keras computer telah mengalami evolusi beberapa kali. Sampai sejauh ini, dikenal adanya 5 generasi bahasa pemrograman. Kecendrungan yang terjadi, bahasa-bahasa pemrograman bergeser dari pendekatan yang berorientasi kepada mesin menuju ke pendekatan yang berorientasi pada manusia.

Pada dasarnya bahasa pemrograman dapat dibedakan menjadi:
Bahasa Mesin (Mnemonic Code)
Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa ini merupakan bahasa level terendah dan berupa kode numerik 0 dan 1. Sekumpulan instruksi dalam bahasa mesin dapat membentuk microcode (semacam prosedur dalam bahasa mesin). Keuntungan: Eksekusi cepat Kerugian: Sangant sulit dipelajari manusia

Bahasa Assembly

Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Sekumpulan kode-kode bahasa assembly dapat membentuk makroinstruksi. Bahasa assembly juga memiliki program untuk men-debugnya tidak seperti bahasa mesin. Misalnya: Turbo Assembler dan debug pada DOS. Assembler akan mencocokkan token dari awal dengan akhir dan dikodekan menjadi bahasa mesin. Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil Kekurangan: Tetap sulit dipelajari, program sangat panjang.

Bahasa Tingkat Tinggi (High Level Language)

Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi daripada bahasa assembly. Bahasa ini lebih dekat dengan bahasa manusia. Bahasa inilah yang akan dibahas pada matakuliah ini. Bahasa ini juga memberikan banyak sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain. Contoh: Pascal, Basic, C++, dan Java.
Keuntungan:
-Mudah dipelajari
-Mendekati permasalahan yang akan dipecahkan
-Kode program pendek Kerugian: Eksekusi lambat Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd Generation Programming Language). Bahasa inilah yang akan kita pelajari dalam Algoritma dan Struktur Data 1

Bahasa yang berorientasi pada masalah spesifik (specific problem oriented).
Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu masalah tertentu. Misalnya SQL untuk database, Regex untuk mencocokkan pola string tertentu. Bahasa ini juga masuk ke bahasa tingkat tinggi. Bahasa ini disebut juga bahasa generasi ke-4 (4th Generation Programmming Language).

Selengkapnya...

Pengertian Algoritma

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

1. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

2. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

3. Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.

Program komputer (sering kali disebut sebagai program saja) merupakan suatu aplikasi yang dibuat dengan menggunakan bahasa program tertentu dan telah ter-install di dalam komputer. Algoritma yang diimplementasikan dalam suatu bahasa yang dimengerti computer [David Man 2003]. Program komputer merupakan contoh perangkat lunak komputer yang menuliskan aksi komputasi yang akan dijalankan oleh komputer.

Komputasi ini biasanya dilaksanakan berdasarkan suatu algoritma atau urutan perintah tertentu.Urutan perintah (atau algoritma)merupakan suatu perangkat yang sudah termasuk dalam program komputer tersebut.Tanpa algoritma tersebut,program komputer tak dapat berjalan dengan baik.

Diagram alir (flowchart) adalah hasil konversi sebuah algoritma dengan menggunakan simbol baku [ANSI/IBM]. Tedapat struktur baku flowchart yaitu :
1. Runtut (sequential / linear)
2. Alternatif/pilihan/seleksi (alternative/selection)
3. Berulang (loop/repetition)
Selengkapnya...

Kamis, 11 Februari 2010

Sistem Pengolahan Data Komputer

Sistem bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu item phisik. Sistem bilangan menggunakan suatu bilangan dasar atau basis (base / radix) yang tertenntu.

Pengertian bilangan:
Bilangan adalah representasi fisik dari data yang diamati. Bilangan dapat direpresentasikan dalam berbagai bentuk, yang kemudian digolongkan pada sebuah sistem bilangan, tetapi mempunyai arti yang sama.

Untuk menunjukkan suatu jenis bilangan,biasanya sebuah bilangan yang akan direpresentasikan dalam sebuah konversi bilangan diikuti di belakangnya dengan kode yang menggambarkan jenis bilangan tersebut,bentuk seperti ini dinamakan sebagai radix atau basis.

1. Sistem bilangan Desimal (decimal),bilangan Desimal dikodekan dengan 10 atau d,
2. Sistem bilangan Binari (binary),Bilangan biner dikodekan dengan 2 atau b,
3. Sistem bilangan Oktal (octal).bilangan Oktal dikodekan dengan 8 atau o,
4. Sistem bilangan Hexadesimal (hexadecimal),bilangan heksadesimal dikodekan dengan 16 atau h.

Contoh:
- Bilangan Desimal 23 biasa ditulis 2310 atau 23d, sama dengan;

- Bilangan Oktal 27 yang biasa ditulis 278 atau 27o, sama dengan;

- Bilangan Heksa 17 yang biasa ditulis 1716 atau 17h, sama dengan;

- Bilangan Biner 10111 yang biasa ditulis 101112 atau 10111b,

1.Bilangan Desimal

Bilangan desimal adalah bilangan yang menggunakan dasar atau basis 10, dalam arti memiliki 10 digit yang berbeda yaitu memiliki nilai 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Kita dapat menghasilkan lagi bilangan lain dalam sistem ini, yang kita sebut sebagai bilangan puluhan atau sering ditulis 10-an, ratusan (100-an), dan seterusnya.Bobot suatau Bilangan Æ.

Sistem bilangan desimal sering dikenal sebagai sistem bilangan berbasis 10, karena tiap angka desimal menggunakan basis (radix) 10, seperti yang terlihat dalam contoh berikut:
angka desimal 123 = 1*102 + 2*101 + 3*100

Berikut adalah tabel yang menampilkan sistem angka desimal (basis 10), sistem bilangan biner (basis 2), sistem bilangan/ angka oktal (basis 8), dan sistem angka heksadesimal (basis 16) yang merupakan dasar pengetahuan untuk mempelajari komputer digital. Bilangan oktal dibentuk dari bilangan biner-nya dengan mengelompokkan tiap 3 bit dari ujung kanan (LSB). Sementara bilangan heksadesimal juga dapat dibentuk dengan mudah dari angka biner-nya dengan mengelompokkan tiap 4 bit dari ujung kanan.

Desimal Biner (8 bit) Oktal Heksadesimal
0 0000 0000 000 00
1 0000 0001 001 01
2 0000 0010 002 02
3 0000 0011 003 03
4 0000 0100 004 04
5 0000 0101 005 05
6 0000 0110 006 06
7 0000 0111 007 07
8 0000 1000 010 08
9 0000 1001 011 09
10 0000 1010 012 0A
11 0000 1011 013 0B
12 0000 1100 014 0C
13 0000 1101 015 0D
14 0000 1110 016 0E
15 0000 1111 017 0F
16 0001 0000 020 10


Contoh1
nilai desimal 5734 = 5000 + 700 + 30 + 4
= 5 x 1000 + 7 x 100 + 3 x10 + 4x 1
= 5 x 103 + 7 x 102 + 3 x 101 + 4 x 100
Contoh2
52710 (desimal) , dapat pula dinyatakan :
527 = 5 x 102 + 2 x 101 + 7 x 100
= 5 kelompok ratusan (10x10) + 2 kelompok puluhan
+ 7 satuan

2.Bilangan Biner

Sejak pertama kali komputer elektronik digunakan, telah beroperasi dengan menggunakan bilangan biner, yaitu bilangan dengan basis 2 pada system bilangan. Semua kode program dan data pada komputer disimpan serta dimanipulasi dalam format biner yang merupakan kode-kode mesin komputer.Sehingga semua perhitungannya diolah menggunakan aritmatik biner, yaitu bilangan yang hanya memiliki nilai dua kemungkinan yaitu 0 dan 1 dan sering disebut sebagai bit (binary digit) atau dalam arsitektur elektronik biasa disebut sebagai digital logic.

3.Bilangan Oktal

Bilangan oktal adalah sistem bilangan yang berbasis delapan (8) dan mempunyai delapan simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7. Pada umumnya sistem bilangan ini digunakan untuk notasi pada saat bermain musik, sehingga sering disebut oktaf.

Bilangan desimal yang dinyatakan sebagai bilangan biner akan berbentuk sebagai berikut:
Desimal Biner (8 bit)
0 0000 0000
1 0000 0001
2 0000 0010
3 0000 0011
4 0000 0100
5 0000 0101
6 0000 0110
7 0000 0111
8 0000 1000
9 0000 1001
10 0000 1010
Dst

contoh: mengubah bilangan desimal menjadi biner
desimal = 10.
berdasarkan referensi diatas yang mendekati bilangan 10 adalah 8 (23), selanjutnya hasil pengurangan 10-8 = 2 (21). sehingga dapat dijabarkan seperti berikut
10 = (1 x 23) + (0 x 22) + (1 x 21) + (0 x 20).
dari perhitungan di atas bilangan biner dari 10 adalah 1010

4.Bilangan Heksadesimal

Bilangan heksadesimal atau sering disebut heksa saja yang berbasis 16 memiliki nilai yang disimbolkan dengan 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Adanya bilangan heksa pada operasi komputasi dikarenakan operasi pada bilangan biner untuk data yang besar akan menjadi susah untuk dibaca, sehingga bilangan heksadsimal biasanya sering digunakan untuk menggambarkan memori komputer atau instruksi. Setiap digit bilangan heksadesimal mewakili 4 bit bilangan biner (nible), dan 2 digit bilangan heksadesimal mewakili satu byte.

Sebagai contoh bilangan hexa 41 (2 nible) pada format ASCII mewakili karakter “A” , bilangan hexa 42 mewakili karakter “B”, dan sebagainya.
Nilai desimal yang setara dengan setiap simbol tersebut diperlihatkan pada tabel berikut:
0hex= 0dec = 0oct 0 0 0 0
1hex= 1dec = 1oct 0 0 0 1
2hex= 2dec = 2oct 0 0 1 0
3hex= 3dec = 3oct 0 0 1 1

4hex= 4dec = 4oct 0 1 0 0
5hex= 5dec = 5oct 0 1 0 1
6hex= 6dec = 6oct 0 1 1 0
7hex= 7dec = 7oct 0 1 1 1

8hex= 8dec = 10oct 1 0 0 0
9hex= 9dec = 11oct 1 0 0 1
Ahex= 10dec = 12oct 1 0 1 0

Bilangan Pecahan
Bilangan pecahan (fractions) adalah bilangan yang letak atau posisinya terdapat dibelakang koma (point to decimal). Nilai dari bilangan pecahan berbeda dengan nilai pada bilangan bulat desimal. Perlu diingan, bahwa pecahan dalam format Indonesia adalah menggunakan koma (comma),sedangkan pecahan format Inggris atau Amerika menggunakan titik (point) ( bandingkan dengan Indonesia, bahwa titik biasanya digunakan untuk batasan nilai ribuan). Dalam bahasan ini, akan digunakan koma untuk menunjuk adanya nilai pecahan, sesuai dengan format Indonesia.

Representasi bilangan bulat/Integer

1. Bilangan Bulat Tak Bertanda dapat direpresentasikan dengan:
– bilangan biner
– oktal
–heksadesimal
–graycode
– BCD (binary coded decimal)
–Hamming code

2. Bilangan bulat bertanda (positif atau negatif) dapat direpresentasikan dengan :
– Sign/Magnitude (S/M) (bilangan bertanda /magnitut)
– 1’s complement (komplemen 1)
– 2’s complement (komplemen 2)
bilangan bulat positif, tidak ada perbedaan dalam ketiga macam representasi bilangan di atas.

Sign/Magnitude

Representasi negatif dari suatu bilangan diperoleh dari bentuk positifnya dengan mengubah bit pada MSB menjadi bernilai 1.
Jika dipergunakan N bit untuk representasi data, maka rentang nilai yang dapat direpresentasikan yaitu —2 N—1 —1 s/d 2 N—1—1
Contoh : jika dipergunakan 5 bit untuk representasi bilangan, maka : +3 = 00011 -3 = 10011

Komplemen 1
Representasi negatif dari suatu bilangan diperoleh dengan engkomplemenkan seluruh bit dari nilai positifnya. Jika dipergunakan N bit untuk representasi data, maka rentang nilai yang dapat representasikan adalah -2 N-1 -1 s.d 2 N-1 -1
Contoh :
Jika dipergunakan 5 bit untuk representasi bilangan +3 = 00011 -3 = 11100
Dari contoh diatas dapat dilihat bentuk penyajiannya bahwa MSB digunakan untuk menunjuk tanda bilangan tersebut.
Cara inilah yang disebut "tanda / besaran". Jika MSB = 0 , maka positif ( + ) dan jika MSB = 1 , maka negatif ( - )

Selengkapnya...

Software


Software atau perangkat lunak adalah semua program yang digunakan untuk menjalankan komputer atau perangkat lainnya. Secara umum, ada dua jenis software. Pertama adalah software aplikasi. Software aplikasi adalah software yang dibuat untuk tujuan atau kepentingan spesifik, contohnya Notepad untuk teks editor, Winamp untuk memutar file audio, dan sebagainya. Kedua adalah software sistem. Software sistem adalah software yang menjadi tempat semua software aplikasi berjalan.

Contohnya adalah Microsoft Windows, Linux, Mac OS, dan sebagainya. Menurut cara memperolehnya (baca : harga beli dan legalitas), software dapat dibedakan menjadi beberapa jenis. Jenis pertama adalah freeware. Software yang bersifat freeware dapat digunakan tanpa biaya, namun masih memiliki batasan atas hak cipta pengguna. Maksudnya, meskipun kita menggunakan freeware tersebut kita tidak boleh melanggar hak cipta atas software tersebut, misalnya penggandaan untuk orang lain atau menggunakan software tersebut untuk kepentingan lain.

Biasanya freeware didistribusikan tanpa disertai dengan kode program yang bersangkutan. Lalu jika kita tidak perlu membayar, apa tujuan si pembuat freeware? Tujuan yang jelas adalah untuk promosi. Baik itu promosi diri sendiri (untuk programmer perorangan) ataupun promosi produk (untuk developer kelas kakap). Tujuan lain yang mungkin adalah untuk mendapatkan masukan dari pengguna dan ada pula (walaupun jarang ditemui) yang bertujuan untuk membobol sistem seseorang. Beberapa contoh freeware adalah Paint.net, Rocket Dock, Ccleaner, dan masih banyak lagi.

Jenis yang kedua adalah shareware. Shareware adalah software yang dapat digunakan tanpa biaya dalam jangka waktu tertentu. Setelah jangka waktu tersebut selesai, pengguna diberi pilihan, apakah akan melanjutkan menggunakan software tersebut (dengan konsekuensi membayar) atau tidak menggunakan lagi software tersebut. Terkadang pada shareware diberi batasan fitur yang hanya bisa digunakan jika pengguna membeli softwarenya. Seperti freeware, shareware masih dibatasi oleh hak cipta. Tujuan pembuatan shareware cukup jelas, yaitu memberikan contoh hasil jadi software tersebut sebelum dibeli oleh pengguna. Beberapa contoh dari shareware ini misalnya StyleXP, Window Blinds, WinRAR, dan sebagainya.

Ketiga, propietary software. Intinya, propietary software itu hampir sama dengan barang yang bisa kita beli di pasar. Jika kita ingin menggunakannya, kita harus membelinya. Propietary software sangat dibatasi oleh hak cipta. Kita tidak diperkenankan mendistribusikan kembali, mengotak-atik program, dan software ini tidak disertai dengan kode sumber.

Jenis keempat yang mulai populer adalah open source software. Berbeda dengan jenis software sebelumnya, open source software memberikan kebebasan kepada kita untuk menggunakan, mengubah sesuai dengan kebutuhan, dan medistribusikan kembali, baik software aslinya maupun yang telah kita ubah. Biasanya software yang bersifat open source menyertakan kode sumber dalam pendistribusiannya.

Tujuan pembuatan open source software biasanya bukan untuk tujuan komersil, namun lebih ke tujuan sosial bagaimana sebuah software bisa bermanfaat bagi para pengguna. Beberapa contoh open source software misalnya Pidgin, qGo, Inkscape, gimp, dan masih banyak lagi.

A. Perkembangan software

Perkembangan software dibagi kedalam empat periode yaitu :
1. Periode Pioner
2. Periode Stabil
3. Periode Mikro
4. Periode Modern

a. Periode Pioner (1950 – 1963)
* Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabelke antar bagian dalam komputer
* Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin dan digunakan untuk tujuan tertentu
* Penggunaan komputer dilakukan secara langsung dan hasil yang selesaidikerjakan komputer berupa print out.
* Proses yang di lakukan di dalam komputer berupa baris instruksi yang diproses secara berurutan

b. Periode Stabil (1963 – 1980)
* Pada era stabil penggunaan komputer sudah cukup meluas dan banyak digunakan di berbagai kalangan
* Perusahaan perangkat lunak bermunculan
* Baris-baris perintah perangkat lunak yang dijalankan oleh komputer dilakukan secara serempak (multi tasking)
* Satu perangkat lunak dapat digunakan oleh banyak pengguna (multi user) secara cepat/langsung (real time)
* Mulai diperkenalkan sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses)

c. Periode Mikro (1980 – 1990)

* Perangkat lunak dapat dibedakan menjadi perangkat lunak sistem yang bertugas menangani internal, dan perangkat lunak aplikasi yang digunakan secara langsung oleh penggunannya untuk keperluan tertentu
* Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan.

d. Periode Modern (1990 – …)
* Perangkat lunak/software terdapat pada hampir semua perangkat elektronik
* Semua perangkat yang memiliki software dapat saling terhubung (otomatisasi)
* Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang melibatkan berbagai disiplin ilmu dalam perancangannya.
* Tingkat kecerdasan yang ditunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar

B. Klasifikasi Perangkat lunak

1. Perangkat lunak SISTEM, yaitu Perangkat lunak yang khusus berkaitan dengan hardware sistem komputer
2. Perangkat Lunak APLIKASI, Perangkat lunak yang umumnya digunakan untuk mengolah data

a. Perangkat Lunak Sistem

* Sistem Operasi
* Bahasa Pemrograman
* Sistem Utility

Sistem Operasi
* Saat komputer pertama kali dihidupkan, sistem operasi adalah software yang pertama kali dijalankan untuk mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, mengatur penggunaan memori, dll
* Contoh Operating System :Dos, Windows, Linux, Unix, OS, Apple System, Novell, dll

Bahasa Pemrograman
* Merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma rancangan manusia (programmer) kedalam format yang dapat dijalankan komputer
* Contoh : Basic, Pascal, Fortran, C, dll

System Utility
* Merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya menjalankan hardware, pemeriksaan hardware, memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), dll
* Contoh : Hardware Driver, Norton Utility, PC Tools, dll

b. Perangkat Lunak Aplikasi

* Pengolah Kata
* Contoh : Word Star, Chi Writer, Ms Word, dll

* Spread Sheet
* Contoh : Lotus, Excel, SPSS, dll

* DBMS
* Contoh : Dbase, Access, FoxPro, dll

* Multimedia
* Contoh : Media Player, Winamp, Pinnacle Studio, dll

* Aplikasi Games
* Contoh : Mini Games, Heavy Games, dll

Selengkapnya...

Comment


ShoutMix chat widget

Banner


Search Engine Optimization and SEO Tools
ecommerce web design
Add to Google
Share |
100 Blog Indonesia Terbaik free counters

Tukeran link



Copy kode di bawah masukan di blog anda, saya akan segera linkback kembali

Kolom blog tutorial

follow this blog

 

Copyright © 2009 by All About Computer Science