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, SejarahPerkembangan 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.
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.
|
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.
|
Software Era Modern
|
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
- See more at:
http://muhammadfajarsaputro.blogspot.com/2013/10/pengertian-software-dan-sejarah-perkembangan-software.html#sthash.saWVgqE9.dpuf
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.
|
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.
|
Software Era Modern
|
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
- See more at:
http://muhammadfajarsaputro.blogspot.com/2013/10/pengertian-software-dan-sejarah-perkembangan-software.html#sthash.saWVgqE9.dpuf
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.
|
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.
|
Software Era Modern
|
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
- See more at:
http://muhammadfajarsaputro.blogspot.com/2013/10/pengertian-software-dan-sejarah-perkembangan-software.html#sthash.saWVgqE9.dpuf