SEJARAH SOFTWARE KOMPUTER

On Senin, 14 Oktober 2013 0 komentar




Sejarah Software Komputer


BAB 1
PEMBAHASAN

Sejarah Software Komputer
2.1            Pengertian Sejarah Software Komputer
Software Komputer adalah kumpulan dari pada intruksi atau statement yang di susun secara logis dan berbentuk kode yang hanya dapat di mengerti oleh komputer. Software Komputer ini berangsur-angsur mengalami peningkatan atau perubahan dari tahun ke tahun dalam perkembangannya. Berdasarkan perkembangannya, Sejarah Perkembangan Software Komputer dibagi dalam beberapa era yaitu Era Pioneer, Stabil, Mikro, danModern.
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 saat itu masih dilakukan secara langsung, sebuah program 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 Stabil ini baris-baris perintah software komputer yang dijalankan oleh komputer bukan lagi satu-satu, tapi sudah banyak proses yang di lakukan secara bersamaan (multi tasking). Software Komputer pada era 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.
2.2    Tahun-tahun penemuan Software Komputer
·       1945 - 1965
Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat debat tajam mengenai aspek engineering dari pengembangan perangkat lunak.
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.
·       1965 - 1985
Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Banyak projek yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat lunak.
·       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.
Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai kondisi.
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.
 2.3      Bagian dari Perangkat Software Komputer
·         Perangkat lunak aplikasi
Sistem operasi dengan perangkat lunak bahasa tidak di tunjukkan untuk menyelesaikan permasalahan dalam aplikasi tertentu yang dihadapi oleh pemakai komputer. Program yang ditunjukan untuk menyelesaikan suatu permasalahan dalam aplikasi tertentu di sebut program aplikasi atau program paket. Ada dua cara untuk bisa mendapatkan program aplikasi yang di butuhkan yaitu dengan mengembangkan sendiri (sangat sulit dan perlu keahlian khusus) atau membelinya (mudah).
Saat ini banyak sekali program-program aplikasi yang tersedia di pasaran. Program-program ini dapat diandalkan, dapat memenuhi kebutuhan pemakai, dirancang dengan baik, relatif bebas dari kesalahan, mudah digunakan (user friendly), mempunyai dokumen yang memadai dan didukung oleh purna jual yang baik. Program-program paket ini di gunakan untuk menyelesaikan masalah-masalah umum seperti membuat dokumen (word star, microsoft word), membuat slide presentasi (ms power point), penerbitan (adobe page maker), mengelola gambar (adobe photoshop) dsb. Akan tetapi bila kita mempunyai permasalahan yang sifatnya khusus dan unik sehingga tidak ada paket-paket program yang sesuai untuk digunakan, maka dengan terpaksa harus dikembangkan program aplikasi sendiri, misalnya program sistem SKS universitas, program sistem keuangan perusahaan, dll.
·         System perangkat lunak
Perangkat keras computer tidak dapat berbuat apa-apa tanpa adanya perangkat lunak. Teknologi yang canggih dari perangkat keras akan berfungsi bila instruksi-instruksi tertentu telah di berikan kepadanya. Intruksi-instruksi tersebut disebut dengan perangkat lunak (software). Intruksi-instruksi perangkat lunak di tulis oleh manusia untuk mengaktifkan fungsi dari perangkat keras computer.
Perangkat keras computer mempunyai beberapa kegunaan yang sudah di bentuk dan di pasang di dalamnya untuk dapat menanggapi instruksi-instruksi yang diberikan. Apabila seseorang harus menyusun perangkat lunak yang langsung berhubungan dengan perangkat keras terlebih dahulu, akan sangat sulit karena harus di ketahui secara persis cara kerja perangkat keras yang bersangkutan. Kesulitan akan semakin bertambah karena peralatan yang berbeda mempunyai karakteristik dan cara operasi yang berbeda pula sehingga memerlukan perangkat lunak yang juga berbeda . Untuk mengatasi hal ini,maka di buatlah suatu perangkat lunak yang di sebut dengan system operasi (operating system/OS)
·         Klasifikasi perangkat lunak
Perangkat lunak secara umum dapat dibagi menjadi 2 yaitu perangkat lunak system dan perangkat lunak aplikasi. Perangkat lunak system dapat dibagi lagi menjadi 3 macam yaitu:
1. Bahasa Pemrograman: merupakan perangkat lunak yang bertugas mengkonversikan arsitektur&algoritma yang di rancang manusia ke dalam format yang dapat dijalankan computer,contoh bahasa pemprograman: BASIC, COBOL, Pascal, C++, FORTRAN.
2.  System Operasi: saat computer pertama kali dihidupkan ,system operasilah yang pertama kali dijalankan,sistim operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanajemen penggunaan memory dan memberikan keluaran ke peralatan yang bersesuaian, contoh system operasi: DOS, UNIX, Windows 95, IBM OS/2, Apple’s system.
3. Utility: system operasi merupakan perangkat lunak system dengan fungsi tertentu, misalnya pemerikasaan perangkat keras(hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi,defrag), contoh utility adalah Norton utility.
2.4     Hubungan antar perangkat keras dan perangkat lunak
User – Aplication software – Language software – Operating system – Hardware
System operasi
System operasi merupakan system perangkat lunak yang sudah ditulis oleh pabrik yang berfungsi sebagai antarmuka (interface) antara perangkat keras dan instruksi yang ditulis oleh pemakai(user). Sistem operasi akan mengatur semua system operasi dari perangkat keras computer. Sebagai contoh pemakai computer hanya menuliskan perintah DIR untuk menampilkan isi direktori ke layar tanpa harus mengetahui bagaimana perangkat keras tersebut melakukannya, karena tugas tersebut dilakukan oleh system operasi.
System operasi sangat berkaitan dengan prosesor yang digunakan. Jenis prosesor pada PC yang umum adalah kompatibel dengan produk awal IBM dan Manchitos. PC Manchitos perangkat lunaknya dikembangkan oleh perusahaan yang sama sehingga perkembangannya tidak sepesat clonnig IBM PC. Sistem operasi dari cloning IBM saat ini secara umum terbagi 2 aliran yaitu komersil yang di buat oleh Microsoft dan bersifat freeware, yang dikembangkan oleh peneliti seluruh dunia karena bersifat open source yaitu bahan baku pembuatnya dapat dibaca, sehingga hasilnya dapat ditambah atau di modifikasi setiap orang.
Sementara interaksi antara pengguna dan computer di kenal melalui 2 cara, cara yang pertama adalah pemberian instruksi melalui penulisan perintah atau dengan cara ke dua yaitu tunjuk (pointer) dengan tampilan grafis.
Interpreter menterjemahkan instruksi satu persatu dan langsung di proses sebelum komputer membaca instruksi selanjutnya, sehingga tidak dihasilkan program obyek maupun file exe. Contoh untuk ini adalah: basic versi baku, dbase, dan sebagainya.
Perangkat lunak bahasa merupakan program khusus yang sudah dibuat oleh pabrik computer atau perusahaan perangkat lunak yang digunakan untuk mengembangkan program aplikasi. Program ini berfungsi sebgagai penterjemah program yang ditulis dengan bahasa pemprograman computer menjadi bahasa mesin yang dapat di mengerti oleh computer. Bila perangkat lunak bahasa ini tidak tersedia, maka pembuat program harus menuliskan programnya langsung dalam bahasa mesin yang berbentuk bilangan biner, dan hal ini sangat sulit dan rumit.
2.5     Perangkat lunak dapat dikategorikan menjadi tiga bagian
1.      Assembler(perakit)
Merupakan program yang digunakan untuk menterjemahkan program aplikasi yang ditulis dengan bahasa rakitan (assembly language) atau bahasa pemprogaman simbolik menjadi bahasa mesin.
Dengan bahasa simbolik, masing-masing kode operasi mesin tidak ditulis dengan bentuk bilangan biner, tetapi dengan suatu kode simbolik tertentu yang disebut dengan mnemonic. Program yang ditulis dengan bahasa simbolik disebut dengan program sumber (source program) dan hasil terjemahannya dalam bentuk bahasa mesin disebut dengan program objek (object program=OBJ). Proses pembuatan program obyek dari program sumber juga akan menapilkan daftar keslahan-kesalahan sintaks (jika ada) yang dibuat oleh pemprogram. Kesalahan ini harus dibetulkan terlebih dahulu sebelum di proses lebih lanjut.
Walau penulisan program dengan bahasa simbolik lebih mudah dibanding dengan bahasa mesin, tetapi harus dirasakan kesulitan karena penulis program harus:
  • Mengetahui susunan serta fungsi dari masing-masing register di dalam cpu.
  • Mengetahui dengan persis cara alokasi memori komputer yang di gunakan
  • Mengetahui fungsi-fungsi yang di sediakan oleh OS.
Untuk mengatasi hal ini telah dikembangkan suatu bahasa yang lebih dekat dengan pemakai komputer yang di sebut bahasa tingkat tinggi (high level language), misalnya basic, fortran, pascal c, dsb. Program yang di tulis dengan bahasa tingkat tinggi ini harus di terjemahkan ke dalam bahasa mesin agar dapat di mengerti oleh komputer. Penerjemah ini dapat berupa kompilator atau interpreter.
2. Compiler
Menterjemahkan setiap instruksi didalam suatu program sekaligus sama dengan assembler dan menghasilkan dengan program objek yang selanjutnya di link sehingga menghasilkan file exe. Contoh perangkat lunak bahasa seperti ini adalah pascal, c, dan masih banyak lagi.
3. Interpreter
Menterjemahkan instruksi satu persatu dan langsung di proses sebelum komputer membaca instruksi selanjutnya,sehingga tidak dihasilkan program obyek maupun file exe. Contoh untuk ini adalah:basic versi baku, dbase, dan sebagainya.
BAB III
PENUTUP

3.1              Kesimpulan
Dari penulisan di atas dapat disimpulkan bahwa Software Komputer adalah kumpulan dari pada intruksi atau statement yang di susun secara logis dan berbentuk kode yang hanya dapat di mengerti oleh komputer. Software Komputer ini berangsur-angsur mengalami peningkatan atau perubahan dari tahun ke tahun dalam perkembangannya. Berdasarkan perkembangannya, Sejarah Perkembangan Software Komputer dibagi dalam beberapa era yaitu Era Pioneer, Stabil, Mikro, dan Modern.

SUMBER Info.

0 komentar:

Posting Komentar