Anda di halaman 1dari 3

Software Komputer 

adalah kumpulan dari intruksi atau statement yang di susun secara logis
dan berbentuk kode yang hanya dapat di mengerti oleh komputer. Teori pertama tentang
Software Komputer diusulkan oleh Alan Turing pada tahun 1935-nya nomor esai Komputasi
dengan aplikasi ke (masalah Keputusan) Entscheidungsproblem. “Software” istilah pertama kali
digunakan di cetak oleh John W. Tukey pada tahun 1958. Dalam ilmu komputer dan rekayasa
Software, Software adalah semua informasi diproses oleh program sistem komputer, dan data.

Software Komputer ini berangsur-angsur mengalami perkembangannya. Berdasarkan


perkembangannya, Sejarah Perkembangan Software Komputer dibagi dalam beberapa era yaitu
Era Pioneer, Stabil, Mikro, dan Modern. Berikut adalah Sejarah Perkembangan Software
Komputer :

1. 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 dengan sebuah program yang digunakan untuk sebuah mesin tertentu dan untuk
tujuan tertentu. Di era ini software komputer merupakan satu kesatuan dengan
sebuah hardware komputer.

2. Era Stabil. Pada Era ini software komputer yang dijalankan bukan lagi satu-satu, tapi sudah
banyak proses yang di lakukan secara bersamaan (multi tasking). Software Komputer pada era
stabil 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 .

3. 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)

4. Era Modern. Pada Era Modern ini software komputer tidak hanya untuk sebuah komputer
tetapi sebuah handphone pun telah di lengkapi dengan sebuah software sistem seperti Android,
Symbian, dll. Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin
meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal
suara dan gambar.

Tahun-tahun Penemuan Software Komputer

# Pada tahun 1945 sampai 1965


Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Pada
tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa
perangkat lunak, yang memberikan dampak kuat terhadap perkembangan rekayasa perangkat
lunak. Banyak yang menganggap bahwa dua konferensi inilah yang menandai awal resmi
profesi rekayasa perangkat lunak.

# Pada tahun 1965 sampai 1985


Pada tahun ini banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak.
Pada tahun ini disebut juga sebagai krisis perangkat lunak. Karena banyak projek yang gagal
dalam pengembangan perangkat lunak komputer ( software komputer). Dalam projek ini banyak
kasus-kasus yang terjadi, salah satu yang paling terkenal adalah meledaknya roket Ariane akibat
kegagalan perangkat lunak.

# Pada tahun 1985


Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu
untuk memecahkan masalah krisis perangkat lunak. Berbagai teknik, metode, alat, proses
diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari
pemrograman terstruktur, pemrograman berorientasi object, perangkat pembantu
pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal
diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar,
sesuai anggaran dan tepat waktu.

Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak
ada satu teknologi atau praktik yang sanggup mencapai 10 kali lipat perbaikan dalam
produktivitas pengembangan perangkat lunak dalam tempo 10 tahun.

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:

1.  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.

2.  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. 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.

3.  Design Patterns - 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.

4. Extreme Programming - Extreme programming didasarkan pada identifikasi kebutuhan


kostumer dan berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan
(kostumer) dengan cepat. 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.
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

5. 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

Anda mungkin juga menyukai