Selasa, 07 Juni 2016

PERANGKAT LUNKA DI MASA DEPAN

PERANGKAT LUNAK DI MASA DEPAN


BAB I

PENDAHULUAN

Ini adalah yang kedua dari beberapa kolom pada masa depan rekayasa perangkat lunak. Kolom pertama difokuskan pada tren dalam pemrograman aplikasi, khususnya yang berkaitan dengan kualitas. Kolom ini review data pada staf programmer dan kemudian mencakup aplikasi-program keterampilan. Masa Depan kolom berurusan dengan tren dalam pemrograman sistem dan implikasi dari kecenderungan untuk rekayasa perangkat lunak dan insinyur perangkat lunak.
Dalam kolom saya sebelumnya, saya memulai diskusi tentang masa depan rekayasa perangkat lunak dan terakhir tren dalam pemrograman aplikasi. Dalam kolom ini, saya mempertimbangkan permintaan bagi orang untuk menulis program aplikasi. Saya juga mengeksplorasi implikasi dari tren saat ini dalam pemrograman aplikasi. Dalam beberapa kolom berikutnya, saya akan memeriksa tren dalam pemrograman sistem dan mengomentari implikasi dari kecenderungan untuk rekayasa perangkat lunak dan insinyur perangkat lunak. Sementara posisi saya mengambil dan pendapat saya mengungkapkan kemungkinan akan kontroversial, maksud saya adalah untuk membangkitkan debat dan mudah-mudahan untuk menumpahkan beberapa lampu pada apa yang saya percaya adalah isu-isu penting. Juga, seperti halnya dalam semua kolom, sepenuhnya pendapat saya sendiri.

Beberapa Fakta

Permintaan untuk insinyur perangkat lunak adalah pada semua waktu tinggi, dan itu terus meningkat. Berdasarkan data sensus terakhir, ada perangkat lunak profesional 568.000 di AS pada tahun 1996. Pada tahun 2007, ada diproyeksikan menjadi 697.000 [Clark 00]. Karena 177.000 juga diproyeksikan untuk meninggalkan lapangan selama ini, ini berarti perlu sepuluh tahun untuk lebih dari 300.000 programmer baru. Itu adalah tambahan kotor 50% untuk penduduk pemrograman saat ini.
Perkiraan Biro Sensus 568.000 programmer tampaknya rendah kepada saya, dan saya menduga ini adalah karena kriteria yang digunakan untuk menentukan siapa yang dihitung sebagai seorang programmer. Howard Rubin mengutip sejumlah 1,9 juta programmer sebagai penduduk AS saat ini pemrograman [Rubin 99]. Saya juga melihat data yang menunjukkan bahwa jumlah programmer di AS dua kali lipat 1986-1996. Sementara data yang baik jarang untuk sebuah bidang penting, permintaan untuk programmer telah jelas meningkat dalam sepuluh tahun terakhir, dan kemungkinan terus meningkat di masa depan.
Jika Anda menganggap bahwa kebanyakan profesional di bidang yang paling teknik dan ilmu pengetahuan sekarang harus menulis setidaknya beberapa perangkat lunak untuk melakukan pekerjaan mereka, jumlah orang yang menulis, memodifikasi, memperbaiki, dan perangkat lunak pendukung harus sangat besar. Jika tren pertumbuhan tersirat oleh data sensus berlaku untuk seluruh penduduk programmer santai dan penuh-waktu, permintaan untuk programmer baru dalam sepuluh tahun ke depan kemungkinan akan lari ke jutaan.

Kebutuhan Masa Depan

Dilihat oleh tren masa lalu, jelas bahwa hampir setiap organisasi industri akan membutuhkan lebih banyak orang dengan keterampilan pemrograman aplikasi dan bahwa kelompok-kelompok pemrograman yang paling akan sangat kekurangan. Karena kelompok perangkat lunak banyak yang sudah kekurangan, dan tingkat kelulusan universitas saat ini perangkat lunak profesional hanya sekitar 35.000 tahun, kita punya masalah [AS 99]. Secara umum, hanya ada dua cara untuk mengatasi masalah aplikasi-pemrograman.
  1. Entah bagaimana meningkatkan pasokan programmer baru.
  2. Mencari cara untuk menulis program lebih tanpa menggunakan programmer lebih.
Karena memakan waktu lama untuk meningkatkan tingkat kelulusan perangkat lunak profesional, pendekatan utama untuk alternatif pertama harus melakukan lebih dari apa yang kita lakukan hari ini-yaitu, untuk bergerak lepas pantai software lebih banyak dan untuk membawa imigran lebih banyak perangkat lunak-terampil ke Amerika Serikat
Sementara banyak organisasi yang membangun perangkat lunak laboratorium di negara lain, khususnya India, ini merupakan solusi yang terbatas. Kebutuhan utama adalah untuk perangkat lunak profesional terampil yang memahami kebutuhan bisnis dan dapat menerjemahkan kebutuhan ini ke dalam aplikasi bekerja. Tidak ada pertanyaan bahwa pekerjaan coding dan pengujian dapat dikirim lepas pantai, tapi itu akan memerlukan desain yang baik atau, setidaknya, persyaratan yang jelas dan tepat. Sejak memproduksi persyaratan dan desain adalah sebagian dari pekerjaan perangkat lunak, akan lepas pantai hanya dapat menjadi bagian kecil dari solusi.
Memperoleh perangkat lunak-lebih terampil imigran adalah alternatif yang menarik, terutama karena lulusan India saja sekitar 100.000 berbahasa Inggris perangkat lunak profesional setahun. Namun, AS telah pembatasan visa ketat, dan kelompok-kelompok lain juga memiliki klaim pada slot yang tersedia. Juga, karena permintaan untuk kemampuan software meningkat dengan cepat di India, dan karena banyak profesional India sekarang dapat menemukan peluang yang menarik di rumah, jumlah imigran India yang tersedia kemungkinan akan terbatas di masa depan.

Para Analogi Automobile Industry

Untuk menguji alternatif penulisan program yang lebih tanpa menambah programmer lebih, mempertimbangkan industri otomotif. Kembali sebelum Henry Ford, hanya orang kaya mampu mobil. Kemudian Henry Ford mobil terjangkau untuk orang biasa. Setelah produsen mulai melayani kebutuhan massa, industri otomotif berubah dengan cepat.
Banyak inovasi diperlukan sebelum orang bisa merasakan mengemudi nyaman tanpa sopir. Mereka membutuhkan badan mobil tertutup, starter otomatis, pemanas, cengkeraman, transmisi, dan sejumlah fitur progresif lebih otomatis dan nyaman lainnya. Kombinasi dari inovasi yang dibuat operasi sebuah mobil sederhana dan mudah bagi hampir semua orang.
Dengan bantuan dari inovasi ini, orang bisa belajar untuk drive tanpa sopir. Ketika semua ini terjadi, bisnis sopir masuk ke berputar-putar. Segera, sebagai kenyamanan, kemudahan, dan kehandalan mobil meningkat, mengemudi mobil bukan lagi khusus, melainkan menjadi keterampilan umum yang diperlukan hanya sekitar semua orang. Saat ini, kebanyakan orang belajar mengendarai mobil sebelum mereka keluar dari sekolah tinggi. Meskipun masih ada pengemudi profesional, sebagian besar mengemudi sekarang dilakukan oleh masyarakat umum.

Bidang Komputer Hari

Hari ini, bidang komputer jauh seperti hari-hari awal dari industri mobil. Banyak profesional telah belajar untuk menggunakan sistem komputasi, tetapi sedikit yang bersedia untuk bergantung pada mereka untuk bekerja kritis, setidaknya tidak tanpa bantuan ahli dan dukungan. Di bidang komputer, sopir yang setara dengan kami dalam kedok para ahli yang mengembangkan aplikasi, menginstal dan sistem operasi penjahit, dan membantu kita pulih dari sistem crash sering dan kegagalan. Bahkan di Internet, sistem kita saat ini sering menunjukkan perilaku yang aneh dan sekarang kami dengan pesan samar. Sementara sistem ini jauh lebih mudah digunakan daripada sebelumnya, mereka belum dapat digunakan oleh masyarakat umum.
Untuk sistem komputasi untuk digunakan secara luas, kita perlu sistem yang bekerja secara konsisten dan bebas masalah. Kami juga membutuhkan sistem pendukung yang melayani fungsi yang sama sebagai starter mobil dan transmisi otomatis. Kemudian profesional di bidang yang paling akan dapat mengotomatisasi aplikasi mereka sendiri tanpa perlu programmer terampil untuk menangani rincian sistem misterius.
Lain prasyarat untuk meluasnya penggunaan sistem komputasi adalah bahwa para profesional di bidang yang paling mampu menghasilkan berkualitas tinggi program aplikasi dengan bantuan profesional sedikit atau tidak ada. Terobosan nyata akan datang ketika lebih mudah untuk belajar untuk menulis perangkat lunak yang baik dari itu adalah untuk belajar tentang aplikasi bisnis atau ilmiah yang paling. Kemudian, bukan membutuhkan bahwa orang-orang yang terampil perangkat lunak belajar tentang setiap bidang aplikasi, maka akan lebih ekonomis dan efisien untuk memiliki ahli aplikasi belajar untuk mengembangkan perangkat lunak mereka sendiri. Pada saat itu, rekayasa perangkat lunak akan menjadi keterampilan umum jauh seperti mengemudi, matematika, atau menulis, dan setiap profesional akan dapat menggunakan sistem komputasi untuk memenuhi sebagian besar kebutuhan aplikasi nya atau nya.

Tumbuh Sistem Ukuran dan Kompleksitas

Sementara perubahan tersebut akan menjadi bantuan besar, ia tidak akan membahas semua aspek pemrograman aplikasi. Untuk melihat mengapa, mempertimbangkan kecenderungan dalam ukuran dan kompleksitas program aplikasi. Jika sejarah adalah panduan, program aplikasi masa depan akan jauh lebih besar dan lebih kompleks daripada sekarang. Ini berarti bahwa pengembangan sistem seperti ini akan berubah dalam beberapa cara penting.
Sebagaimana saya tulis dalam kolom sebelumnya, perubahan pertama dan mungkin paling penting adalah dalam kualitas. Mereka yang membutuhkan software hanya akan mampu menggunakan program untuk melakukan bisnis mereka kecuali mereka memiliki kualitas yang jauh lebih tinggi daripada sekarang. Kecenderungan kedua adalah sama penting: pendekatan pondok-industri saat ini untuk mengembangkan program aplikasi harus memberi jalan untuk sebuah disiplin lebih profesional dan dikelola dengan baik. Ini bukan hanya karena meningkatnya ukuran program dan spesifikasi lebih menuntut kualitas mereka, tetapi juga karena bisnis memproduksi program-program tersebut akan tumbuh melampaui kemampuan kebanyakan orang untuk menguasai dengan cepat.
Dengan kata lain, hari sebagian besar telah berlalu ketika kami bisa mempekerjakan orang yang cukup akrab dengan bahasa pemrograman pilihan dan mengharapkan dia untuk cepat menjadi produktif pada program aplikasi berkembang. Sebagai program aplikasi menjadi lebih besar dan lebih canggih, pengetahuan dan pengalaman aplikasi yang diperlukan akan meningkat juga. Segera, biaya dan waktu yang diperlukan untuk membangun pengetahuan aplikasi akan menjadi penghalang. Oleh karena itu, sejumlah metode baru harus dikembangkan untuk membuat program aplikasi yang lebih ekonomis dan memakan waktu jauh lebih sedikit daripada sekarang ini.

Reuse

Argumen saya ke titik ini yang bersangkutan mendapatkan lebih banyak orang untuk menulis program. Namun, ada alternatif lain: mencari cara untuk menghasilkan aplikasi lebih banyak dengan lebih sedikit orang. Salah satu solusi yang diusulkan untuk tantangan ini adalah melalui penggunaan kembali. Sementara ini tampaknya seperti sebuah kemungkinan yang menarik, sejarah belum menggembirakan. Bahkan, sejarah menunjukkan bahwa teknologi akan kembali sebagian besar terbatas untuk membangun perpustakaan semakin besar bahasa dan fungsi sistem. Sayangnya, kompleksitas bahasa ditambahkan akan menyebabkan masalah lain. Ini bukan karena kembali tidak menarik, melainkan hanya pada terlalu rendah tingkat aplikasi untuk mengatasi kebutuhan sebagian besar pengguna.
Komunitas perangkat lunak telah menambahkan kemampuan fungsional dengan bahasa pemrograman selama 47 tahun sejak saya menulis program pertama saya. Pendekatan ini tidak memecahkan masalah pemrograman dari masa lalu, juga tidak mungkin untuk mengatasi orang-orang dari masa depan. Alasan utama adalah bahwa dengan menambahkan lebih banyak fungsi mikroskopis untuk bahasa kita, kita hanya menyatakan kembali masalah pengembangan aplikasi dalam hal sedikit lebih kaya.
Misalnya, ketika saya menulis program pertama saya kita harus mengontrol memulai dan menghentikan I / O device dan transfer masing-masing karakter. Sekarang fungsi tersebut ditangani secara otomatis untuk kita, namun kita dihadapkan bukan dengan bahasa canggih banyak lagi. Alih-alih bahasa yang sederhana Anda bisa meringkas pada selembar kertas, sekarang kita perlu buku teks keseluruhan.
Memang, kekayaan bahasa meningkat mengurangi pengetahuan sistem rinci diperlukan untuk mengelola fungsi komputer, tetapi masih meninggalkan kita dengan masalah desain secara keseluruhan, serta masalah menentukan apa desain yang seharusnya dilakukan bagi pengguna. Kemudian, para programmer aplikasi memiliki tantangan terakhir untuk menerjemahkan desain ke dalam fungsi dan program handal.
Hal ini menyebabkan masalah yang akan memaksa kita keluar dari pendekatan pondok-industri untuk pemrograman. Itu adalah ketidakmungkinan sederhana dengan cepat menjadi fasih dalam semua bahasa dan fungsi yang dibutuhkan untuk menghasilkan sistem aplikasi yang kompleks di masa depan. Sementara kembali dalam istilah tradisional dapat bermanfaat bagi penduduk pemrograman profesional, secara langsung bertentangan dengan kebutuhan untuk membuat teknologi kami lebih mudah diakses oleh orang yang tidak penuh waktu profesional pemrograman.

Dikemas Aplikasi

Untuk menangani volume kebutuhan banyak pengguna, perusahaan mulai memasarkan aplikasi dikemas seperti yang ditawarkan oleh SAP dan Oracle. Artinya, mereka menghasilkan sistem aplikasi dasarnya dikemas yang dapat dikonfigurasi dalam cara yang ditentukan. Daripada kustom-merancang setiap aplikasi, industri ini akan semakin mengembangkan keluarga sistem aplikasi tailorable. Para pengguna kemudian akan menemukan sistem yang tersedia yang paling dekat untuk memenuhi kebutuhan mereka dan menggunakan kemampuan kustomisasi untuk menyesuaikan sistem untuk kebutuhan bisnis mereka.
Untuk membuat sistem ini mudah tailorable oleh pelanggan mereka, perusahaan akan merancang sistem mereka dengan kemampuan terbatas, tetapi generik,. Kemudian, di samping untuk menyesuaikan sistem, pengguna juga harus menyesuaikan prosedur bisnis mereka agar sesuai dengan fasilitas yang tersedia dari sistem. Sebagai pengalaman dari SAP dan lain-lain telah menunjukkan, pendekatan ini tidak bebas masalah, tetapi dapat memberikan pengguna dengan sistem aplikasi yang besar dan canggih dengan biaya yang jauh lebih rendah daripada pengembangan aplikasi kustom-penuh.
Dilihat oleh pertumbuhan SAP, Oracle, dan lain-lain, ini telah menjadi strategi menarik. Daripada mengembangkan aplikasi untuk memenuhi berbagai kebutuhan pengguna terbatas mungkin, pengguna akan semakin beradaptasi operasi bisnis mereka agar sesuai dengan fungsi sistem aplikasi yang tersedia. Sementara ini merupakan bentuk kembali, itu adalah pada tingkat jauh lebih tinggi daripada pendekatan umum yang diusulkan, dan umumnya memerlukan sebuah keluarga serius architected produk aplikasi atau lini produk. Sama seperti dengan industri transportasi, perumahan, dan pakaian, misalnya, begitu orang melihat biaya besar produk disesuaikan, mereka biasanya puas dengan apa yang dapat mereka temukan di rak.

Kategori Aplikasi

Pengembangan aplikasi bekerja di masa depan mungkin akan melibatkan tiga kategori pekerjaan:
  1. mengembangkan aplikasi yang dikemas pengguna dapat menyesuaikan dengan kebutuhan mereka
  2. menyesuaikan sistem bisnis untuk menggunakan sistem aplikasi dikemas
  3. mengembangkan dan mendukung aplikasi unik yang tidak dapat dibuat dengan perangkat lunak dikemas
Para programer yang diperlukan untuk kategori pertama akan menjadi profesional seperti yang dibutuhkan untuk mengembangkan program-program sistem, tapi mereka umumnya akan memiliki pengetahuan aplikasi yang cukup. Saya akan menulis lebih banyak tentang kategori ini dalam kolom kemudian.
Untuk kategori kedua, kita mungkin akan melihat pertumbuhan yang substansial dalam volume kustomisasi aplikasi. Orang yang melakukan pekerjaan ini akan lebih seperti konsultan bisnis dari programmer, dan banyak bahkan tidak akan tahu bagaimana merancang dan mengembangkan program. Orang-orang ini akan dididik secara menyeluruh dalam paket yang mereka menyesuaikan dan membantu untuk menginstal.
Alasan untuk kategori ketiga adalah bahwa, meskipun strategi aplikasi dikemas mungkin akan menangani sebagian roti-dan-mentega aplikasi, itu tidak akan menangani aplikasi tersebut diperlukan untuk mendukung kegiatan bisnis baru dan inovatif. Karena aplikasi ini tidak akan pernah digunakan sebelumnya, tak seorang pun akan tahu bagaimana untuk menghasilkan solusi dikemas. Akibatnya, akan ada volume aplikasi yang tidak dapat diselesaikan oleh solusi dikemas. Oleh karena itu, bahkan dengan berbagai aplikasi yang tersedia dikemas, kebutuhan untuk pengembangan aplikasi disesuaikan tidak akan hilang.

Kustom Aplikasi Pemrograman

Pekerjaan aplikasi kustom harus ditangani oleh orang yang tahu bagaimana menulis program dan yang juga memahami aplikasi khusus. Orang-orang ini harus menjadi ahli pada berbagai macam spesialisasi, dan harus mampu menulis berkualitas tinggi program. Bagi orang-orang, kita harus mengembangkan metode yang sesuai dan pelatihan-untuk membantu mereka mengembangkan program kualitas pada mereka sendiri. Meskipun mereka tidak akan bekerja penuh waktu sebagai programmer profesional, saya percaya bahwa programmer kategori ini pada akhirnya akan terdiri dari sebagian besar program orang menulis. Karena mereka tidak akan menghabiskan semua-atau bahkan sebagian besar-dari waktu mereka menulis program, kita harus menyederhanakan bahasa kita dan mengembangkan bahasa baru yang dirancang untuk penggunaan kasual. Kita harus mengembangkan alat dan sistem pendukung yang akan membantu orang-orang untuk menghasilkan program berkualitas tinggi dengan harga yang wajar dan biaya. Kita juga harus menyesuaikan sistem pendukung sehingga aplikasi menulis untuk berjalan di atas sistem program yang dirancang dengan baik tidak akan memerlukan dukungan teknis yang ekstensif dan konsultasi hotline.
Singkatnya, apa yang saya usulkan adalah bahwa, daripada harus profesional pemrograman lebih dan lebih terlatih, kita akan memecahkan kebutuhan program kami dengan mengajar semua orang untuk program. Meskipun orang-orang tidak akan programmer profesional, mereka akan menjadi lebih penting bagi komunitas perangkat lunak karena mereka akan menjadi pelanggan kami yang paling menuntut. Mereka akan beroperasi pada batas-batas sistem perangkat lunak profesional yang kami berikan, dan mereka akan menjadi yang pertama untuk mengidentifikasi peluang-peluang baru yang penting. Oleh karena itu, mereka mungkin akan menjadi sumber dari banyak inovasi masa depan di bidang kita.
Dalam beberapa kolom berikutnya, saya akan menulis tentang tren dalam program sistem, apa yang mereka berarti bagi komunitas pemrograman, dan implikasi dari tren ini untuk rekayasa perangkat lunak.
by Watts S. Humphrey

PERANGKAT LUNAK YANG ADA SAAT INI


PERANGKAT LUNAK SAAT INI






BAB I
PENDAHULUAN

     1.1  Latar Belakang

          Dalam era globalisasi saat ini kemajuan serta perkembangan teknologi semakin meningkat yang seiring dengan kemajuan jaman. Perkembangan sistem pada komputer dan aplikasi-aplikasi pendukung sangat memudahkan pengguna untuk melakukan proses pada komputer. Seiring berkembangnya pula ilmu pengetahuan teknologi dan informasi setiap peserta didik dituntut untuk dapat mengoperasikan komputer, karena seiring berjalannya waktu komputer akan lebih sering digunakan baik itu dalam media pembelajaran maupun ketika di lingkup pekerjaan karena komputer memudahkan setiap pengguna untuk melakukan proses yang dikehendakinya. Dalam penyusunan makalah ini saya akan membahas mengenai perangkat lunak dewaasa ini baik itu dari definisi hingga peran serta fungsi terhadap perangkat komputer. Perangkat lunak itu sendiri dapat diartikan adalah sebuah software yang menghubungkan antara pengguna dengan perangkat keras , dan bisa disimpulkan perangkat lunak menglakukan perintah yang kita intruksikan dan dijalankan oleh perangkat keras.

1.2   Rumusan Masalah
    
1.      Apa pengertian dari perangkat lunak ?
2.      Jelaskan peran dari perangkat lunak !
3.      Jelaskan karakteristik perangkat lunak!
4.      Jelaskan macam-macam perangkat lunak yang kamu ketahui?
5.      Sebutkan dan jelaskan software pemrogaman apa yang paling sering digunakan saat ini ?

1.3   Tujuan

      1.      Untuk memahami pengertian dari perangkat lunak
            2.      Untuk mengetahui peran dan fungsi dari perangkat lunak
            3.      Untuk karakteristik perangkat lunak
            4.      Untuk mengetahui macam-macam perangkat lunak
            5.      Untuk mengetahui software pemrogaman apa yang paling sering digunakan saat ini


BAB II
PEMBAHASAN

2. 1 Pengertian dari Perangkat lunak
          Pengertian perangkat lunak atau software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah
          Perangkat lunak komputer merupakan sebuah program komputer yang menjembatani pengguna komputer dan perangkat keras yang digunakanya. Dengan kata lain perangkat lunak merupakan penerjemah antara manusia sebagai orang yang memberi instruksi dan komputer sebagai pihak yang menerima instruksi.
          Perangkat lunak adalah program komputer yang berfungsi sebagai sarana interaksi atau yang menjembatani pengguna dengan perankat keras dan juga sebagai penerjemah perintah-perintah yang dijalankan pengguna komputer untuk, diteruskanatau diproses oleh perangkat keras. Dari berbagai pengertian diatas dapat disimpulkan bahwa perangkat lunak membantu untuk menjalankan perintah dari pengguna yang akan diproses atau dijalankan oleh perangkat keras.

2.2 Peran dan Fungsi Perangkat Lunak
          Komputer hanyalah sekedar mesin yang tak dapat melakukan tugas yang dikehendaki pemakai sekiranya tidak didukung oleh perangkat lunak (software). Komputer bukanlah teko ajaib yang dimiliki oleh aladin, yang dapat mengeluarkan jin dan jin tersebut dapat diperintah untuk melakukan apa saja oleh tuannya. Perangkat lunak sesungguhnya adalah program. Sebagaimana telah anda ketahui, program adalah deretan intruksi yang digunakan untuk mengendalikan komputer sehingga dapat melakukan tindakan sesuai yang dikehendaki pembuatnya.

2.3 Karakteristik Perangkat Lunak
          Atribut Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat di rawat, berguna. Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai Karakteristik sebagai berikut:
·         Ã¼  Maintanability (Dapat Dirawat), Perangkat Lunak harus dapat memenuhi  perubahan  kebutuhan
·         Ã¼  Dependability, Perangkat Lunak harus dapat dipercaya
·         Ã¼  Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource
·         Ã¼  Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan

2.4  Macam-Macam Perangkat Lunak
·         Perangkat lunak aplikasi (application software) Adalah suatu subkelas perangkat (software) komputer yang memanfaatkan kemampuan komputer langsung, untuk melakukan suatu tugas yang diinginkan si pengguna. Program ini dibuat programmer dan sudah disesuaikan dengan kebutuhan pemakainya.
·         Sistem operasi (operating system) Sistem operasi adalah program yang berfungsi untuk mengendalikan sistem kerja yang mendasar, sehingga mengatur kerja media input, output, tabel pengkodean, memori, penjadwalan prosesor, dan lain-lain sebagainya. Sistem operasi ini berfungsi sebagai penghubung antara manusia dengan perangkat keras dan perangkat lunak yang akan digunakan.

Adapun fungsi utama sistem operasi adalah :
1. Menyimpan program dan aksesnya.
2. Membagi tugas di dalam CPU.
3. Mengalokasikan tugas-tugas penting.
4. Merekam sumber-sumber data.
5. Mengatur memori sistem termasuk penyimpanan, menghapus dan mendapatkan data.
6. Memeriksa kesalahan sistem- Multitugas pada OS/2″, Windows ’95″, Windows ’98″, Windows NT”, /2000/XP.
7. Memelihara keamanan sistem, khusus pada jaringan yang membutuhkan kata sandi (password) dan penggunaan ID.

·         Perangkat lunak gratis (freeware) Freeware atau perangkat lunak gratis adalah perangkat lunak (software) komputer yang memiliki cipta yang gratis digunakan tanpa batasan waktu, sehingga dapat dibedakan dari shareware yang mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan).

·         Perangkat lunak uji coba (shareware / trialware) Shareware adalah program terbatas, program didistribusikan baik sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau dengan menggunakan batas waktu yang telah ditetapkan (misalnya 30 hari) yang biasa disebut dengan masa trial. Dengan demikian, memberikan pengguna kesempatan untuk menguji produk sebelum membeli dan kemudian membeli versi lengkap dari suatu program.

·         Perangkat lunak perusak (malware) Adalah sebuah perangkat lunak yang bekerja untuk merusak tata kerja dari sistem komputer. Malware ini bekerja dengan mengganggu kinerja dari perangkat lunak yang ada dalam sistem komputer.Perangkat lunak perusak biasanya sangat mudah tersebar dari satu komputer ke komputer lain, apalagi yang terhubung dalam suatu jaringan (network), atau bisa juga lewat hardware portable, seperti USB flashdisk, card reader, atau floppy disk (disket).

·         Bahasa Pemrograman (programming language) Adalah program yang digunakan untuk menerjemahkan instruksi-instruksi yang ditulis dalam bahasa pemrograman ke bahasa mesin dengan aturan atau prosedur tertentu, agar diterima oleh komputer.g. Program Bantu (utility) Program bantu merupakan perangkat lunak yang berfungsi sebagai aplikasi pembantu dalam kegiatan yang ada hubungannya dengan komputer, misalnya memformat disket, mengopi data, mengkompres file, dan lain-lain.

2.5 Software Pemrogaman Apa yang Paling Sering Digunakan Saat Ini
Pemrograman Berbasis Visual 
Adalah metode pembuatan program dimana programmer membuat koneksi antara objek-objek dengan cara menggambar, menunjuk, dan mengklik pada diagram dan ikon dan dengan berinteraksi dengan diagram alur. Misalnya yang sering digunakan adalah Visual Basic, Pascal, Java, PHP.
Pemrogaman web base
Merupakan proses pembuatan aplikasi/program komputer berdasarkan pada halaman web yang menampilkan berbagai macam data dan informasi seperti text, grafik/gambar, suara, video dan animasi melalui protokol transfer hypertext. Yang sering digunakan adalah AJAX, html5, dll.
Bahasa pemrogaman berbasis mobile/web saat ini bisa dikatakan adalah sebagai bahasa pemrograman yang paling sering digunakan dan menjadi trend diseluruh dunia. Banyak sekali aplikasi yang dibuat oleh perusahaan besar, kelompok maupun oleh personal seperti Facebook, plug in, template/theme, transaksi bank, game dan masih banyak lagi semua berbasis website. Pemrograman berbasis web kedepannya masih sangat menjanjikan untuk dijadikan sumber penghasilan apabila ditekuni dengan baik.

BAB III
PENUTUP

3.1 KESIMPULAN
Dari penyusunan makalah ini dapat diambil kesimpulan diantaranya :
1.      Perangkat lunak atau software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, dengan tugas menjembatani pengguna komputer dan perangkat keras yang digunakan.
2.      Perangkat lunak mempunyai karakteristik yaitu :
·         Maintanability
·         Dependability
·         Efisiensi
·         Usability
3.      Mengetahui macam-macam perangkat lunak yang ada diantaranya :
·         Perangkat lunak aplikasi
·         Perangkat lunak system operasi
·         Perangkat lunak gratis (freeware)
·         Perangkat lunak uji coba (trialware)
·         Perangkat lunak perusak (malware)
·         Perangkat lunak bahasa pemrogaman
4.      Bahasa pemrogaman berbasis mobile/web saat ini bisa dikatakan adalah sebagai bahasa pemrograman yang paling sering digunakan dan menjadi trend diseluruh dunia. Banyak sekali aplikasi yang dibuat oleh perusahaan besar, kelompok maupun oleh personal seperti Facebook, plug in, template/theme, transaksi bank, game dan masih banyak lagi semua berbasis website. Pemrograman berbasis web kedepannya masih sangat menjanjikan untuk dijadikan sumber penghasilan apabila ditekuni dengan baik.

3.2 SARAN
Dalam perkembangan perangkat lunak dewasa ini diharapkan para programmer akan berlomba-lomba untuk membuat software yang memudahkan dan memanjakan pengguna untuk mengoperasikan software (user friendly). Dan para progamer pengembang software harus mampu mengimbangi perkembangan hardware yang ada


DAFTAR PUSTAKA
(http://belajar-komputer-mu.com/pengertian-software-perangkat-lunak-komputer)diakses pada 23 Mei 2016

EVOLUSI PERANGKAT LUNAK

EVOLUSI PERANGKAT LUNAK
BAB I
PENDAHULUAN
A. Latar Belakang
Komputer merupakan sistem elektronik untuk manipulasi data yang berlangsung dengan sangat cepat dan akurat serta terorganisir untuk menerima input atau masukan,kemudian dilakukan pemprosesan hingga didapatkan output atau keluaran dibawah pengawasan suatu langkah-langkah atau instruksi program yang tersimpan di memori atau  storage program. Terdapat tiga komponen utama pada sistem komputer yaitu software, hardware, dan brainware.  Berdasarkan perkembangannya,  software  telah mengalami evolusi yang cukup signifikan yang terbagi atas empat era evolusi yaitu era pioner, era stabil, era mikro, dan era modern. Selain mengalalami empat tahapan evolusi, software juga terbagi atas dua yaitu software sistem dan software aplikasi. Pada makalah ini kita akan mengupas sedikit banyak mengenai evolusi perangkat lunak dari masa ke masa.
B. Rumusan Masalah
Adapun rumusan  masalah  yang  akan  dibahas  pada  makalah  yaitu  mengenai perkembangan teknologi perangkat lunak/software komputer.

C. Tujuan
Adapun tujuan dari makalah ini adalah :
1.      Untuk mengetahui apa itu perangkat lunak.
2.      Untuk   mengetahui   perkembangan   teknologi   perangkat   lunak atau software.
3.      Untuk mengetahui jenis perangkat lunak/software computer.
BAB II
PEMBAHASAN
A.    Mengenal Perangkat Lunak atau Software Komputer
Dalam dunia teknologi informasi, kadang kita mendengar istilah tentang software atau perangkat lunak komputer. Dikatakan bahwa, keberadaaan hardware atau perangkat keras komputer tanpa ditunjang oleh perangkat lunak maka komputer tidak dapat digunakan, begitupun sebaliknya. Nama lain dari perangkat lunak komputer adalah software. Karena disebut juga sebagai perangkat lunak, maka sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh secara langsung oleh manusia, maka software atau perangkat lunak tidak dapat disentuh dan dilihat secara fisik. Software memang tidak tampak secara fisik dan tidak berwujud benda namun bisa dioperasikan.

Pengertian software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Melalui software atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah.

Terdapat empat jenis software berdasarkan distribusinya yaitu software berbayar, freeware, free software, shareware. Software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan komersil, setiap pengguna yang ingin menggunakan atau mendapatkan software tersebut dengan cara membeli atau membayar pada pihak yang mendistribusikannya. Freeware atau perangkat lunak gratis adalah perangkat lunak komputer berhak cipta yang gratis digunakan tanpa batasan waktu, berbeda dari shareware yang mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan).  Free Software lebih mengarah kepada bebas penggunaan tetapi tidak harus gratis. Shareware juga bebas tetapi   lebih   dibatasi   untuk   waktu   tertentu. Shareware   adalah   program terbatas didistribusikan baik sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau dengan menggunakan batas waktu yang ditetapkan (misalnya 30 hari).
B. Perkembangan Teknologi Perangkat Lunak Komputer
1. Perkembangan  Pembuatan  Perangkat  Lunak  Komputer
Dari   perkembangan   perangkat   lunak,   kita   bisa   membayangkan   bagaimana perkembangan interaksi manusia dengan perangkat lunak. Bentuk paling primitif dari perangkat  lunak, menggunakan  aljabar  Boolean,  yang  di  representasikan  sebagai binary digit (bit), yaitu 1 (benar / on) atau 0 (salah / off), cara ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (2 byte), double word (32 bit).
Kelompok-kelompok   bit   ini   di   susun   ke   dalam   struktur   instruksi   seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya.2. Evolusi Teknologi Perangkat Lunak Komputer
a. Era Pioner

Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang menggunakan komputer.

Gambar 1.1 Menggunakan Komputer ENIAC
Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini,perangkat   lunak   merupakan   satu   kesatuan   dengan   perangkat   kerasnya. Penggunaan   komputer   dilakukan   secara   langsung   dan   hasil   yang   selesai dikerjakan komputer berupa print out. Proses yang di lakukan di dalam computer berupa baris instruksi yang secara berurutan di proses antara lain :
1) Batch Processing
Batch   processing adalah   suatu   model   pengolahan   data,   dengan menghimpun data terlebih dahulu, dan diatur pengelompokkan datanya dalam kelompok-kelompok yang disebut batch. Tiap batch ditandai dengan identitas tertentu,   serta   informasi   mengenai   data-data   yang   terdapat   dalam   batch tersebut. Setelah data-data tersebut terkumpul dalam jumlah tertentu, data-data tersebut akan langsung diproses.

Gambar 1.2 Batch Processing
Contoh dari penggunaan batch processing  adalah e-mail dan transaksi batch processing.   Dalam suatu   sistem batch   processing,   transaksi   secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan  ke   transaction   file  yang   berisi   transaksi   lain,  dan   kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan   berikutnya,   transaction   file   dapat  divalidasi   lebih   lanjut   dan kemudian digunakan untuk meng-up date master file yang berkaitan.
2 ) Distribusi Terbatas
3 ) Pembuatan Khusus

b. Era Stabil
Komputer sudah banyak digunakan dan terjangkau oleh kalangan industri dan perusahaan yang membawa pengaruh terhadap perkembangan perangkat lunak. Kemampuan multitasking (banyak program) dan multi user (banyak pengguna) sudah dikenal juga sistem basis data. Proses yang dilakukan oleh software pada era ini, antara lain :
1) Multi-Tasking dan Multi-User
Multitasking adalah istilah teknologi informasi dalam bahasa inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumber daya CPU yang sama. Contoh sistem operasi jenis ini antara lain adalah linux. Linux adalah system operasi yang multitasking danmultiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada linux artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang bersamaan. Sistem   Multi-User   adalah   suatu   sistem   dimana   lebih   dari   satu   user menggunakan secara bersama satu atau lebih perangkat keras, piranti lunak dan data/ informasi , orang dan prosedur melalui masing-masing computer atau workstation.
2) Real Time System (Bekerja dengan cepat)
Real Time System Disebut juga dengan Sistem waktu nyata. Sistem yang harus   menghasilkan   responyang   tepat   dalam   batas   waktu   yang   telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem.Sebuah Real time system adalah sistem yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran sistem dan ketepatan waktu hasil-hasil tersebutdikeluarkan. Aplikasi penggunaan   sistem   seperti   ini   adalah   untuk   memantau   danmengontrol peralatan   seperti motor,   assembly   line,   teleskop,   atau   instrument lainnya. Peralatan telekomunikasi   dan jaringan   komputer   biasanya   juga membutuhkan pengendalian secara Real time. Contoh adalah pemesanan tiket pesawat on line.
3) Progam Database
Database atau basis   data adalah   kumpulan   data   yang   disimpan   secara sistematis   di   dalam   komputer   yang   dapat   diolah   atau   dimanipulasi menggunakan   perangkat   lunak   (program   aplikasi)   untuk   menghasilkan informasi.
c. Era Mikro
Perangkat  lunak  pada era  ini   sudah berkembang  untuk   memenuhi kebutuhan individu. Harga perangkat lunak juga sudah terjangkau oleh individu. Perangkat lunak dapat dibedakan menjadi perangkat lunak sistem yang menangani perangkat internal   dan   perangkat   lunak   aplikasi   yang   digunakan   secara   langsung   oleh penggunannya untuk keperluan tertentu. Otomatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan. Oleh sebab itu, perangkat lunak pada era ini mengalami perkembangan proses berikut :
1) Sistem mulai tersebar ke beberapa kalangan masyarakat.
2) Software mengalami kecerdasan yang mempermudah penggunaannya.
3) Harga setiap software mulai terjangkau oleh individu.
d. Era Modern
Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan   microwave,   telah   ditanamkan   perangkat lunak   untuk   mengatur   operasi peralatan itu. Hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung.
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 di tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa   mengenal   suara   dan   gambar.  Kecerdasan  perangkat lunak   pada   era   ini membuat proses perkembangannya semakin luas menjadi :
1) Sistem Desktop
2) Teknologi Objek
3) Sistem Pakar
4) Pemrosesan Paralel
5) Jaringan Komputer

C. Klasifikasi Macam-Macam Perangkat Lunak
·         Perangkat lunak aplikasi (application software) Adalah suatu subkelas perangkat (software) komputer yang memanfaatkan kemampuan komputer langsung, untuk melakukan suatu tugas yang diinginkan si pengguna. Program ini dibuat programmer dan sudah disesuaikan dengan kebutuhan pemakainya.
·            Sistem operasi (operating system) Sistem operasi adalah program yang berfungsi untuk mengendalikan sistem kerja yang mendasar, sehingga mengatur kerja media input, output, tabel pengkodean, memori, penjadwalan prosesor, dan lain-lain sebagainya. Sistem operasi ini berfungsi sebagai penghubung antara manusia dengan perangkat keras dan perangkat lunak yang akan digunakan.
Adapun fungsi utama sistem operasi adalah :
1.      Menyimpan program dan aksesnya.
2.      Membagi tugas di dalam CPU.
3.       Mengalokasikan tugas-tugas penting.
4.       Merekam sumber-sumber data.
5.      Mengatur memori sistem termasuk penyimpanan, menghapus dan mendapatkan data.
6.      Memeriksa kesalahan sistem- Multitugas pada OS/2″, Windows ’95″, Windows ’98″, Windows NT”, /2000/XP.
7.      Memelihara keamanan sistem, khusus pada jaringan yang membutuhkan kata sandi (password) dan penggunaan ID.
·         Perangkat lunak gratis (freeware) Freeware atau perangkat lunak gratis adalah perangkat lunak (software) komputer yang memiliki cipta yang gratis digunakan tanpa batasan waktu, sehingga dapat dibedakan dari shareware yang mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan).
·          Perangkat lunak uji coba (shareware / trialware) Shareware adalah program terbatas, program didistribusikan baik sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau dengan menggunakan batas waktu yang telah ditetapkan (misalnya 30 hari) yang biasa disebut dengan masa trial. Dengan demikian, memberikan pengguna kesempatan untuk menguji produk sebelum membeli dan kemudian membeli versi lengkap dari suatu program.
·         Perangkat lunak perusak (malware) Adalah sebuah perangkat lunak yang bekerja untuk merusak tata kerja dari sistem komputer. Malware ini bekerja dengan mengganggu kinerja dari perangkat lunak yang ada dalam sistem komputer.Perangkat lunak perusak biasanya sangat mudah tersebar dari satu komputer ke komputer lain, apalagi yang terhubung dalam suatu jaringan (network), atau bisa juga lewat hardware portable, seperti USB flashdisk, card reader, atau floppy disk (disket).
·         Bahasa Pemrograman (programming language) Adalah program yang digunakan untuk menerjemahkan instruksi-instruksi yang ditulis dalam bahasa pemrograman ke bahasa mesin dengan aturan atau prosedur tertentu, agar diterima oleh komputer.g. Program Bantu (utility) Program bantu merupakan perangkat lunak yang berfungsi sebagai aplikasi pembantu dalam kegiatan yang ada hubungannya dengan komputer, misalnya memformat disket, mengopi data, mengkompres file, dan lain-lain.

BAB III
PENUTUP
A. Kesimpulan
Perangkat lunak komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program   atau instruksi   yang   akan   menjalankan   suatu   perintah.   Melalui   software atau perangkat   lunak inilah   suatu   komputer   dapat   menjalankan   suatu   perintah. Tahapan perkembangan perangkat lunak ada empat yatiu era pioner, era stabil, era mikro dan era modern. Secara umum, perangkat lunak dibedakan atas dua yaitu perangkat lunak sistem dan perangkat lunak aplikasi.
B. Saran
Makalah ini membahas mengenai perkembangan teknologi pada perangkat lunak, dan penulis menyadari masih banyak kekurangan dari makalah ini. Penulis sangat mengharapkan masukan dari pembaca untuk menyempurnakan isi makalah ini.


DAFTAR PUSTAKA