Rabu, 26 Oktober 2016

Pengertian Software Dan Sejarahnya

Pengertian software dalam bahasa Indoensia adalah perangkat lunak. Software adalah bagian tidak terpisahkan dalam perangkat keras atau hardware. Pengertian software secara umum dapat diartikan sebagai sekumpulan data-data elektronik yang tersimpan dan diatur oleh komputer yang berupa program atau instruksi untuk menjalankan dan mengeksekusi suatu perintah. Dalam sebuah komputer, software bisa diibaratkan sebagai jiwanya komputer.


Tanpa adanya software, sebuah komputer hanyalah seonggok barang mewah yang tidak mempunyai fungsi. Software adalah perangkat yang ada di dalam komputer yang tidak dapat kita sentuh dan tidak pula dapat kita lihat bentuk fisiknya. Namun, software ini dapat kita operasikan saat kita menggunakan komputer atau media elektronik lainnya seperti kejuaraan lomba kecoa. Maka dari itu, tidak berlebihan jika software adalah program yang menjalankan atau program yang dengannya, kita bisa mengatur jalannya komputer. Sedangkan hardware secara gampangannya merupakan perangkat keras yang dapat kita lihat dan kita sentuh, contohnya yaitu, mouse, keyboard, printer, dll.

Jenis Software
Fungsi Software adalah sebagai sarana interaksi antara pengguna dan perangkat keras. Melalui software inilah, bahasa manusia diterjemahkan kedalam bahasa mesin, sehingga kita bisa mengatur mesin komputer dengan mudah. Software atau perangkat lunak bisa kita golongkan menjadi 3 macam. Macam-macam software tersebut antara lain; Sistem Operasi (contohnya, Microsoft Windows, Mac OS, Linux, dll). Pembahasan mengenai sistem operasi ini bisa anda temukan di artikel kejuaraan gulat kaki yang pernah kita ulas sebelumnya. Program Aplikasi (contohnya, Microsoft Office, Open Office, Adobe Photoshop, dll). Program aplikasi ini secara umum hanya bisa di pasang (di install) dalam sebuah komputer yang telah memiliki sistem operasi. Software Pemrograman (yakni Bahasa pemrograman Pascal, visual Basic, Delphi, dll).

Software pemrograman adalah software yang dapat kita gunakan untuk membangun software lain. Dengan kata lain, ini seperti mesin yang tujuan penggunaannya adalah untuk membuat mesin yang lainnya. Selain penggolongan software tersebut diatas, kita juga bisa menggolongkan software menurut cara pendistribusiannya. Macam-macam software menurut pendistribusiannya adalah sebagai berikut;

1. Software berbayar Software berbayar adalah software yang dibuat untuk tujuan komersil, maksudnya, jika kita ingin menggunakannya, maka kita harus membayar sejumlah uang. Software ini mungkin juga disebut sebagai paid software. Contoh dari software berbayar, yaitu: Microsoft Windows, Microsoft Office, Adobe Photoshop, Corel Draw, dan lain-lain. Dengan kata lain, anda perlu mengeluarkan uang untuk membeli jenis software ini.

2. Software Open Source Software Open Source adalah software yang bisa kita otak-atik dan kita kembangkan menurut kreatifitas kita. Pada jenis software ini biasanya ada komunitas yang saling mendukung untuk berbagi pengalaman dalam mengutak-atik dan tentunya dengan tanggung jawab atas apa yang dilakukan. Salah satu ciri dari dari Software Open Source adalah Gratis.

3. Shareware Ada beberapa kemungkinan dalam pendistribusian Shareware ini. Shareware umumnya merupakan program yang didistribusikan dengan batas tertentu, bila ingin mendapatkan fitur-fitur lebih, maka kita harus mengeluarkan sejumlah uang untuk membayarnya. Atau bisa juga digunakan untuk evaluasi terhadap suatu produk untuk menambahkan fitir-fitur tertentu yang lebih baik lagi. Shareware bisa juga sebagi bahan uji coba ketika kita ingin membeli suatu software, jika kita merasa cocok maka kita tidak akan ragu lagi membelinya.

4. Freeware Freeware adalah software gratis, sesuai dengan arti kata free itu sendiri. Freeware merupakan software yang dapat kita download atau kita perloleh secara gratis, tanpa harus membeli. Meskipun demikian, terkadang ada beberapa pengembang software gratis yang menyertakan persyaratan tertentu. Nah sampai di sini apakah ada pertanyaan? Jika ada, anda bisa tulisa di bagian form komentar dibawah ini. Harapannya dari informasi diatas, anda bisa mengetahui lebih jauh mengenai pengertian software.

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.

Software Era Modern
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 yang mengubah sistem yang jadul di antaranya melempar ponsel yang jauh menjadi sebuah sistem yang canggih , 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

Diatas adalah sedikit artikel mengenai Pengertian Software dan Sejarah Perkembangan Software Komputer , semoga bermanfaat bagi anda.

Tidak ada komentar:

Posting Komentar