Apa yang dimaksud dengan  perangkat lunak?
Perangkat lunak
Pembuatan perangkat lunak itu sendiri memerlukan "bahasa pemrograman" yang ditulis oleh seorang pemrogram untuk selanjutnya dikompilasi dengan aplikasi kompiler sehingga menjadi kode yang bisa dikenali oleh mesin hardware. Perangkat lunak seperti Windows atau Linux bisa disebut sebagai nyawa dari komputer, di mana tanpa diinstal sistem operasi tersebut maka komputer tidak dapat dijalankan. Perangkat lunak sistem operasi biasanya tersimpan di partisi C sehingga saat komputer mengalami masalah, partisi C yang terkena imbas. Perangkat lunak lain juga tersimpan di partisi C yang apabila komponen tidak lagi berjalan maksimal dapat diuninstal dan diinstal ulang. Data-data lain lebih baik disimpan di partisi D sehingga saat software terkena virus atau tidak berjalan normal kembali maka dapat diinstal ulang dan data penting dapat diselamatkan.
Ilmu komputer
Ilmu komputer (), Secara umum diartikan sebagai ilmu yang mempelajari baik tentang komputasi, perangkat keras ("hardware") maupun perangkat lunak ("software"). Ilmu komputer mencakup beragam topik yang berkaitan dengan komputer, mulai dari analisis abstrak algoritme sampai subyek yang lebih konkret seperti bahasa pemrograman, perangkat lunak, termasuk perangkat keras. Sebagai suatu disiplin ilmu, Ilmu Komputer lebih menekankan pada pemrograman komputer, dan rekayasa perangkat lunak ("software"), sementara teknik komputer lebih cenderung berkaitan dengan hal-hal seperti perangkat keras komputer ("hardware"). Namun, kedua istilah tersebut sering disalah artikan oleh banyak orang.
Perangkat lunak bebas
Saat ini, umumnya perangkat lunak bebas tersedia secara gratis dan dibangun/dikembangkan oleh suatu paguyuban terbuka. Anggota-anggota paguyuban tersebut umumnya bersifat sukarela tetapi dapat juga merupakan karyawan suatu perusahaan yang memang dibayar untuk membantu pengembangan perangkat lunak tersebut.
Insinyur perangkat lunak
Sejak itulah, rekayasa perangkat lunak gelar sarjana telah didirikan di banyak universitas. Standar kurikulum internasional untuk program sarjana rekayasa perangkat lunak derajat baru-baru ini didefinisikan oleh CCSE. Hingga 2004
di AS, sekitar 50 perguruan tinggi menawarkan rekayasa perangkat lunak derajat, yang mengajar ilmu komputer dan rekayasa prinsip-prinsip dan praktek-praktek. Pertama rekayasa perangkat lunak Magister didirikan di Seattle University pada tahun 1979. Sejak itulah pascasarjana rekayasa perangkat lunak derajat telah dibuat tersedia dari banyak perguruan tinggi. Demikian juga di Kanada, Canadian Teknik Akreditasi (CEAB) dari Kanada Dewan Insinyur Profesional telah diakui beberapa rekayasa perangkat lunak program.
Teknik kebutuhan perangkat lunak
Teknik kebutuhan perangkat lunak (requirements engineering) atau sering juga disebut analisis kebutuhan perangkat lunak (Bahasa Inggris: "requirements analysis") mencakup kegiatan dalam menentukan kebutuhan-kebutuhan atau kondisi yang harus dipenuhi untuk suatu produk baru atau yang akan diganti, dengan mempertimbangkan kemungkinan terjadinya konflik kebutuhan dari berbagai macam "stakeholder".
Mekanika molekul
Beberapa perangkat lunak yang biasa digunakan
Papan tulis interaktif
Perangkat lunak notebook adalah bentuk pengiriman konten yang memberikan akses bagi pengguna secara interaktif, konten multimedia dan alat untuk mengedit, menyimpan dan berbagi konten. Perangkat lunak notebook juga memiliki fitur pengenalan tulisan tangan yang mengkonversi tulisan tangan menjadi teks. Cara kerja dari perangkat lunak notebook dengan membagi layar menjadi dua bagian: ruang penulisan dan kolom tab. Ada tiga tab: Halaman Sorter, untuk melihat dan mengatur halaman thumbnail Notebook; Galeri, untuk mengakses dan menyimpan gambar, suara, film, animasi dan file teks, dan Lampiran, untuk memasang file, cara pintas, dan link yang kemudian dapat diakses selama presentasi. Pengguna perangkat lunak notebook dapat membuat halaman multi-dokumen dan presentasi interaktif dengan menyeret konten dan halaman antara ruang dan ruang penulisan tab tanpa meninggalkan aplikasi. Pengguna dapat membuat konten mereka sendiri, atau menggunakan konten dari galeri. Perangkat lunak inilah yang mengatur bagaimana kinerja dari papan tulis interaktif, bagaimanasistem operasi yang bekerja.
Perangkat tegar
Perangkat tegar, perangkat terpadu/terintegrasi (bahasa Inggris: "firmware") adalah istilah yang mengacu kepada rutin-rutin perangkat lunak yang disimpan di dalam Memori Hanya Baca. Tidak seperti Memori Akses Acak, MHB tidak akan dapat berubah meski tidak dialiri listrik. Rutin-rutin yang mampu menyalakan komputer ("startup") serta instruksi masukan/keluaran dasar (semacam BIOS atau sistem operasi "embedded") disimpan di dalam perangkat tegar. Modifikasi memang dapat dilakukan, tetapi hal tersebut tergantung dari jenis ROM apa yang digunakan. Perangkat tegar yang disimpan dalam ROM tidak dapat diubah, tetapi perangkat tegar yang disimpan dalam ROM yang dapat diubah semacam EEPROM atau Flash ROM, masih dapat diubah sesuka hati.
Serambi (komputer)
Platform adalah unsur yang penting dalam pengembangan perangkat lunak. Platform mungkin dapat didefinisikan secara sederhana sebagai tempat untuk menjalankan perangkat lunak. Penyelenggara platform menyediakan pengembang perangkat lunak dengan kesepakatan serangkaian kode logika yang akan berjalan secara konsisten sepanjang platform ini berjalan di atas platform yang lainnya. Kode logika ini mencakup bytecode, kode sumber, dan kode mesin. Dengan demikian, pelaksanaan program tidak dibatasi oleh jenis sistem operasi yang tersedia. Platform telah menggantikan sebagian besar bahasa mesin independen.
Proses pengembangan perangkat lunak
Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, "Extreme Programming", serta proses air terjun ("waterfall").
Metrik perangkat lunak
- Menghitung usaha yang dibutuhkan untuk membuat suatu perangkat lunak
Sistem operasi
Sistem operasi () adalah perangkat lunak sistem yang mengatur sumber daya dari perangkat keras dan perangkat lunak, serta sebagai jurik ("daemon") untuk program komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting.
Perangkat lunak bebas
Pada 1983, Richard Stallman meluncurkan proyek GNU setelah merasa frustasi dengan efek yang ditimbulkan dari perubahan budaya industri komputer dan pengguna-penggunanya. Pengembangan perangkat lunak sistem operasi GNU dimulai pada Januari 1984, dan Yayasan Perangkat Lunak Bebas (FSF) didirikan pada Oktober 1985. Ia memperkenalkan definisi perangkat lunak bebas dan ""copyleft"", yaitu sebuah model lisensi yang memastikan kebebasan dalam hal penggunaan perangkat lunak bebas bagi semua orang.
Perangkat keras
Perangkat keras komputer () adalah semua bagian fisik komputer, dan dibedakan dengan data yang berada di dalamnya atau yang beroperasi di dalamnya, dan dibedakan dengan perangkat lunak (software) yang menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugasnya.
Groupware
Perangkat lunak kolaboratif merupakan konsep yang luas yang sangat tumpang tindih dengan konsep Computer-supported cooperative work (CSCW). Beberapa penulis berpendapat keduanya merupakan hal yang sama. Menurut Carstensen dan Schmidt (1999) groupware merupakan bagian dari CSCW. Para peneliti menilai bahwa CSCW dan "groupware" membahas tentang "bagaimana aktivitas-aktivitas yang saling berkolaborasi dan koordinasi antar akvitivas tersebut dapat didukung dengan menggunaan sistem komputer". Produk perangkat lunak seperti surel, kalender, percakapan teks, wiki dan kegiatan "bookmarking" masuk dalam kategori ini, ketika digunakan untuk kerja kelompok, sementara itu istilah yang lebih umum berlaku untuk sistem yang digunakan di luar tempat kerja, contohnya, layanan kencan online dan jejaring sosial seperti Facebook, Twitter, dan Friendster. Diusulkan bahwa hukum Metcalfe - semakin banyak orang yang menggunakan sesuatu, semakin berharga barang tersebut - berlaku untuk perangkat lunak jenis ini.
Perangkat lunak bebas
Perangkat lunak bebas merupakan upaya besar dari dunia internasional untuk menghasilkan perangkat lunak yang digunakan oleh individu, perusahaan besar dan lembaga pemerintah. Perangkat lunak bebas memiliki penetrasi pasar yang tinggi dalam aplikasi server Internet seperti Apache HTTP Server, sistem basisdata MySQL, dan bahasa skrip PHP. Paket besar perangkat lunak bebas juga tersedia seperti GNU/Linux dan FreeBSD. Pengembang-pengembang perangkat lunak bebas juga telah membuat versi bebas dari aplikasi-aplikasi "dekstop" yang umum digunakan seperti penjelajah web, paket perkantoran dan pemutar multimedia. Tetapi perlu dicatat bahwa dalam banyak kategori, perangkat lunak bebas yang digunakan untuk pengguna-pengguna individu atau pengguna rumahan hanya memiliki porsi kecil dari pasar yang lebih banyak dikuasai oleh perangkat lunak berbayar. Kebanyakan perangkat lunak bebas didistribusikan secara "online" dan gratis, atau secara "off-line" dengan dikenai sejumlah biaya untuk distribusi.
Perangkat lunak bebas
Baik Yayasan Perangkat Lunak Bebas (Free Software Foundation) maupun Inisiatif Sumber Terbuka (Open Source Initiative) mempublikasikan daftar lisensi yang cocok dengan definisi perangkat lunak bebas dan perangkat lunak sumber terbuka. (Lihat: Daftar lisensi perangkat lunak yang disetujui FSF dan Daftar lisensi perangkat lunak yang disetujui OSI).
Perangkat lunak beriklan
Perangkat lunak pengiklan adalah salah satu jenis perangkat lunak yang bersifat "stealth" (tidak terlihat) dan seringnya terinstalasi ke dalam sistem ketika pengguna mengunduh perangkat lunak gratis atau shareware dari Internet. Ada banyak "adware" yang beredar di Internet, dan beberapa "adware" tersebut memantau kebiasaan pengguna dalam menjelajahi Internet, dan mengirimkan informasi ini kepada perusahaan marketing sehingga mereka mengirimkan iklan kepada pengguna yang bersangkutan. Beberapa perangkat lunak komersial juga mengandung komponen "adware" yang kadang disebutkan dalam End-User License Agreement (EULA) atau tidak. Contohnya adalah "peramban web" Microsoft Internet Explorer 6.0 yang merangkul Alexa.com.
Perangkat lunak utilitas
Perangkat lunak utilitas merupakan perangkat lunak komputer yang didisain untuk membantu proses analisis, konfigurasi, optimasi, dan membantu pengelolaan sebuah komputer ataupun sistem. Perangkat lunak utilitas harus dibedakan dengan perangkat lunak aplikasi yang memungkinkan pengguna melakukan berbagai hal dengan komputer seperti mengetik, melakukan permainan, merancang gambar, dan lain-lain. Perangkat lunak utilitas lebih memfokuskan penggunaannya pada pengoptimasian fungsi dari infrastruktur yang terdapat dalam sebuah komputer. Karena fungsinya, perangkat lunak utilitas umumnya tidak ditujukan untuk pengguna secara umum, melainkan ditujukan untuk pengguna yang memiliki pemahaman atas cara kerja sistem komputer yang cukup baik.
Insinyur perangkat lunak
Para Insinyur Profesional Bertindak menetapkan jenjang pendidikan minimal tiga tahun diploma dalam teknologi dari Perguruan tinggi Seni Terapan dan Teknologi atau gelar sarjana di bidang ilmu yang relevan. Namun, teknik, mahasiswa dan semua pelamar lainnya tidak diperbolehkan untuk menggunakan gelar insinyur sampai mereka menyelesaikan jumlah minimum pengalaman kerja empat tahun di samping untuk menyelesaikan Praktek Profesional Pemeriksaan (APD). Jika pemohon tidak tahan sarjana sarjana teknik maka mereka mungkin harus mengambil Confirmatory Ujian Praktek Tertentu atau Pemeriksaan Program kecuali persyaratan ujian yang meniadakan oleh panitia.
Insinyur perangkat lunak
JugaSebagian besar siswa dalam mengembangkan dunia harus dihindari derajat yang berkaitan dengan rekayasa perangkat lunak karena takut outsourcing lepas pantai (mengimpor produk-produk perangkat lunak atau jasa dari negara lain) dan yang mengungsi oleh asing visa pekerja. Meskipun statistik pemerintah saat ini tidak menunjukkan ancaman untuk rekayasa perangkat lunak itu sendiri; yang berkaitan dengan karier, pemrograman komputer tidak muncul untuk telah terpengaruh. Sering salah satu yang diharapkan untuk mulai keluar sebagai programmer komputer sebelum dipromosikan menjadi insinyur perangkat lunak. Dengan demikian, jalur karier untuk rekayasa perangkat lunak mungkin kasar, terutama selama resesi.
Paten perangkat lunak
Paten perangkat lunak saat ini masih merupakan kontroversi, dan belum ada konsensus mengenai definisi dari paten perangkat lunak. Hal ini terjadi karena sering klaim untuk sebuah paten mengandung elemen yang melarang implementasi paten tersebut dalam berbagai media (misalnya, invensi dapat diimplementasikan berupa rangkaian elektronik, namun dapat pula diimplementasikan sebagai perangkat lunak), sehingga sulit untuk ditarik garis batas yang jelas antara apa yang termasuk paten perangkat lunak, dan apa yang bukan.
Insinyur perangkat lunak
Margaret Hamilton dipromosikan istilah "rekayasa perangkat lunak" selama dia bekerja di Apollo program. Istilah "rekayasa" digunakan untuk mengakui bahwa pekerjaan harus diambil hanya sebagai serius seperti yang lain kontribusi terhadap kemajuan teknologi. Hamilton rincian penggunaan istilah:Ketika saya pertama kali datang dengan istilah, tidak ada yang pernah mendengar hal itu sebelumnya, setidaknya dalam dunia kita. Itu adalah sebuah lelucon yang sedang berlangsung untuk waktu yang lama. Mereka suka untuk anak-anak saya tentang ide-ide radikal. Itu adalah hari yang mengesankan ketika salah satu yang paling dihormati hardware guru menjelaskan kepada semua orang dalam sebuah pertemuan bahwa ia setuju dengan saya bahwa proses pembangunan perangkat lunak harus juga dianggap sebagai disiplin ilmu teknik, seperti dengan perangkat keras. Bukan karena penerimaannya baru "istilah" per se, tetapi karena kita telah mendapatkan dan penerimaan dari orang lain di dalam ruangan seperti di bidang teknik dalam dirinya sendiri.
Kekutu
Kekutu () adalah suatu cacat desain pada perangkat keras atau perangkat lunak yang mengakibatkan terjadinya galat pada peralatan atau program sehingga tidak berfungsi sebagaimana mestinya. Kekutu umumnya ditemukan pada perangkat lunak, bukan perangkat keras.
Pembajakan perangkat lunak
Pembajakan perangkat lunak adalah penyalinan atau distribusi perangkat lunak secara ilegal atau tidak sah. Biasanya sebuah program atau aplikasi hanya memberikan izin untuk satu pengguna dan satu komputer saja. Dengan membeli perangkat lunak, seseorang menjadi pengguna berlisensi atau berizin dan bukan pemilik. Jadi, jika seseorang menyalin dan dan memperbanyak perangkat lunak tersebut, itu disebut sebagai pembajakan perangkat lunak.
Pemrograman
Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan ketiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi saat dijalankan ("run time") atau memori yang digunakan.
Pengujian perangkat lunak
Pengujian perangkat lunak () merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji ("under test"). Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan "bug" perangkat lunak (kesalahan atau cacat lainnya).
Komputasi paralel
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai "middleware" yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel !
Perangkat lunak milik perorangan
Pembatasan perangkat lunak milik perorangan membuatnya menjadi antonim dari perangkat lunak bebas. Oleh perangkat lunak milik perorangan, hukum yang sama yang digunakan oleh perangkat lunak milik perorangan digunakan untuk mempertahankan kebebasan untuk menggunakan, menyalin, dan memodifikasi perangkat lunak.
Menu (komputasi)
Menu adalah daftar perintah-perintah suatu perangkat lunak (program) yang apabila dieksekusi akan menjalankan suatu perintah tertentu dari aplikasi. Menu digunakan sebagai alternatif dari antarmuka baris perintah. Pilihan yang diberikan oleh menu dapat dipilih dengan menggunakan kursor atau antarmuka pengguna.
Perangkat lunak bebas
Perangkat lunak bebas memainkan sejumlah peranan dalam pengembangan Internet, "World Wide Web" dan infrastruktur dari perusahaan-perusahaan dot-com. Perangkat lunak bebas menyebabkan pengguna-pengguna dapat bekerja sama dalam memperbaiki dan memajukan program yang mereka gunakan sehingga menjadikan perangkat lunak bebas sebagai barang publik dan bukannya barang pribadi.
Siklus hidup rilis perangkat lunak
Siklus hidup rilis perangkat lunak adalah lingkaran distribusi kode, dokumentasi, dan material pendukung sebuah perangkat lunak yang tersusun atas tahap-tahap yang menggambarkan kematangan perangkat lunak mulai dari perencanaan dan pembangunan hingga tahap rilis dan dukungan.
Pengembangan perangkat lunak
Perlunya pengawasan kualitas yang lebih baik pada proses pengembangan perangkat lunak menciptakan disiplin teknik perangkat lunak, yang bertujuan menerapkan pendekatan sistematis yang tercantum dalam paradigma teknik hingga proses pengembangan perangkat lunak.
SDLC
SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak angsyat
Ä, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan prototyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle).
Perangkat lunak basis data
Pengelola informasi pribadi atau PIM (personal information manager), yaitu perangkat lunak yang bisa membantu anda mencatat dan mengelola informasi harian anda. Contohnya alamat, nomor telepon, janji, daftar tugas (to-do-list), serta catatan-catatan lain. Terdapat pula fitur outliner (untuk mencatat kerangka ide) dan fungsi pengingat. Dengan PIM, anda bisa “mencatat” dalam beragam cara dan kemudian mencarinya kembali cukup dengan kata-kata kunci yang anda tuliskan. Perangkat lunak PIM populer antara lain Microsoft Outlook, Lotus SmartSuite Organizer, dan Microsoft Scheduler. Sebagai contoh, Microsoft Outlook memiliki komponen-komponen: Inbox, Calendar, Task (daftar tugas), Journal (pencatat interaksi dengan orang lain), Notes, dan File.
Sejarah rekayasa perangkat lunak
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.
Peranti tengah
Peranti tengah atau Middleware adalah perangkat lunak komputer yang menyediakan layanan bagi aplikasi perangkat lunak yang tersedia di luar sistem operasi. Peranti tengah dapat digambarkan sebagai "lem perangkat lunak". Peranti tengah memudahkan pengembang perangkat lunak untuk melakukan komunikasi dan input/output, sehingga mereka bisa fokus pada tujuan spesifik dari pengembangan aplikasi mereka.
Sistem informasi geografis
Perangkat lunak digunakan untuk melakukan proses menyimpan, menganalisa, memvisualkan data-data baik data spasial maupun non-spasial. Perangkat lunak yang harus terdapat dalam komponen software SIG adalah:
Pada prinsipnya terdapat dua jenis data untuk mendukung SIG yaitu :
Data spasial adalah gambaran nyata suatu wilayah yang terdapat di permukaan bumi. Umumnya direpresentasikan berupa grafik, peta, gambar dengan format digital dan disimpan dalam bentuk koordinat x,y (vektor) atau dalam bentuk image (raster) yang memiliki nilai tertentu.
Data non spasial adalah data berbentuk tabel dimana tabel tersebut berisi informasi- informasi yang dimiliki oleh obyek dalam data spasial. Data tersebut berbentuk data tabular yang saling terintegrasi dengan data spasial yang ada.
Pembajakan perangkat lunak
Lisensi adalah sebuah izin yang memberitahu berapa kali perangkat lunak dapat diinstal atau digunakan, oleh karena itu penting untuk membaca dan memahaminya. Membajak perangkat lunak adalah ilegal di sebagian besar belahan dunia. Dan di kebanyakan negara, adalah ilegal untuk melanggar hak cipta perangkat lunak.
Groupware
Collaborative software (juga disebut sebagai groupware) adalah perangkat lunak komputer yang dirancang untuk membantu orang yang terlibat dalam suatu tugas bersama agar mencapai tujuannya. Salah satu definisi paling awal tentang "collaborative sofware" adalah definsi yang diberikan oleh Peter dan Trudy Johnson-Lenz sebagai, "proses-proses kelompok secara sengaja ditambah perangkat lunak untuk mendukungnya".
Insinyur perangkat lunak
Orang bisa berargumen bahwa "rekayasa perangkat lunak" menyiratkan tingkat tertentu dari pelatihan akademik, profesional, disiplin, kepatuhan terhadap proses formal, dan terutama tanggung jawab hukum yang sering tidak diterapkan dalam kasus-kasus pengembangan perangkat lunak. Umum analogi adalah bahwa bekerja di konstruksi tidak membuat satu insinyur sipil, dan menulis kode tidak membuat satu software engineer. Selain itu, karena komputasi tidak memanfaatkan metode-metode dari matematika fisika umum untuk semua teknik konvensional disiplin ilmu, itu lebih tepat untuk memanggil mereka yang terlibat dalam pekerjaan ini sebagai pengembang perangkat lunak atau serupa.
Pemrogram
Pemrogram komputer, pemrogram, pengembang perangkat lunak atau ahli penataolahan adalah profesi yang menulis program menggunakan bahasa pemrograman seperti Perl, C++, Python, VB, Visual Basic .NET, PHP, dan lain-lain.
Platform as a service
Publik PaaS adalah berasal dari perangkat lunak sebagai layanan (SaaS), dan terletak di cloud computing antara SaaS dan infrastruktur sebagai layanan (IaaS). SaaS adalah perangkat lunak yang di-host di awan, sehingga tidak mengambil hard drive dari komputer pengguna atau server dari perusahaan. IaaS menyediakan virtual hardware dari penyedia disesuaikan dengan skalabilitas. Dengan IaaS, pengguna masih memiliki untuk mengelola server, sedangkan dengan PaaS server manajemen yang dilakukan oleh penyedia. IBM Bluemix (juga swasta dan hibrida), Amazon AWS dan Heroku adalah beberapa komersial public cloud PaaS provider.
Perangkat lunak beriklan
Kebanyakan program antivirus tidak dirancang untuk mendeteksi keberadaan "adware", karena tujuan awal dari "adware" adalah bukan untuk merusak sistem secara agresif (seperti halnya virus komputer, worm atau Trojan horse), tetapi untuk mendukung pengembangan perangkat lunak freeware atau shareware yang berangkutan. Beberapa adware juga dapat diklasifikasikan sebagai Trojan oleh beberapa produsen Antivirus, sehingga dibutuhkan perangkat lunak yang spesifik untuk mendeteksinya karena selain memantau kebiasaan pengguna dalam berselancar di Internet, adware tersebut juga dapat mencuri data pengguna. Contohnya adalah VX2 dan WNAD.EXE.
Insinyur perangkat lunak
Pada tahun 1978, ilmuwan komputer E. W. Dijkstra menulis di sebuah kertas yang coining istilah "software engineer" tidak berguna karena itu adalah analogi yang tidak pantas: Di setiap beberapa dekade terakhir, setidaknya satu pendekatan baru yang radikal telah memasuki arus utama pengembangan perangkat lunak (misalnya Pemrograman Terstruktur, Orientasi Objek), menyiratkan bahwa bidang ini masih berubah terlalu cepat untuk dianggap sebagai suatu disiplin ilmu teknik. Para pendukung berpendapat bahwa seharusnya baru yang radikal pendekatan evolusioner daripada revolusioner.
Perangkat lunak bebas
Dalam model bisnis perangkat lunak bebas, pembuat dapat mengenakan biaya untuk distribusi dan menawarkan dukungan berbayar serta kustomisasi perangkat lunak. Perangkat lunak tak bebas ("proprietary software") menggunakan model bisnis yang berbeda, di mana pengguna harus membayar lisensi sebelum dapat menggunakan perangkat lunak. Terkadang beberapa jenis dukungan purna jual termasuk dalam lisensi perangkat lunak tak bebas tersebut, tetapi tidak banyak perangkat lunak berbayar mengenakan biaya tambahan untuk dukungan.
Perangkat lunak milik perorangan
Perangkat lunak tak bebas mencakup "freeware" dan "shareware". Perangkat lunak ini dapat berupa perangkat lunak komersial, meskipun perangkat lunak domain publik dan perangkat lunak bebas lainnya juga dapat dijual untuk suatu harga tertentu dan digunakan untuk tujuan komersial.
Ubuntu
Perangkat lunak non-bebas biasanya tidak didukung (Multiverse), tetapi dengan pengecualian (Restricted) ditujukan khusus untuk perangkat lunak non-bebas yang penting. Perangkat lunak pada domain Restricted meliputi penggerak perangkat (device driver) yang bisa digunakan untuk menjalankan Ubuntu dengan perangkat keras tertentu, seperti driver grafis. Tingkat dukungan terhadap perangkat lunak Restricted lebih sempit dari pada perangkat lunak Main, karena pengembangnya tidak diberi akses kode sumber perangkat lunak Restricted. Main dan Restricted dirancang sedemikian rupa sehingga mengandung semua perangkat lunak yang diperlukan untuk membentuk suatu lingkungan kerja (desktop) yang lengkap. Perangkat lunak alternatif untuk suatu tugas yang sama dan program untuk perangkat lunak khusus ditaruh pada Universe dan Multiverse.
Insinyur perangkat lunak
Sebelum pertengahan 1970-an, perangkat lunak praktisi menyebut diri mereka "pemrogram komputer" atau "pengembang perangkat lunak," terlepas dari pekerjaan yang aktual. Banyak orang lebih memilih untuk menyebut diri mereka sebagai "pengembang perangkat lunak" dan "pemrogram", karena banyak yang setuju dengan penyebutan istilah ini, sementara penyebutan insinyur" perangkat lunak" masih menjadi perdebatan.
.NET Framework
Program - program yang ditulis untuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtime program. "Runtime environment" ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai "Common Language Runtime" (CLR). CLR menyediakan penampilan dari "application virtual machine", sehingga para programmer tidak perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program. CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, "garbage collection" dan "exception handling" / penanganan kesalahan pada saat "runtime". Class library dan CLR ini merupakan komponen inti dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan.
Prototyping perangkat lunak
Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep "model bekerja" (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi adalah pengembang sistem ("system developer"), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.
Perangkat lunak bebas dan sumber terbuka
Free and Open Source Software (Perangkat lunak Bebas dan Sumber Terbuka) adalah perangkat lunak yang bersifat bebas sekaligus sumber terbuka (open source). Merupakan lawan dari perangkat lunak proprietary, di mana perangkat lunak dapat dipergunakan di bawah lisensi yang sangat ketat dan sumbernya tidak terbuka.
Perangkat perusak
Perangkat perusak yang paling dikenali, 'virus' dan 'cacing komputer', diketahui menurut cara penyebarannya, bukan kelakuan yang lain. Istilah 'virus komputer' dipakai untuk perangkat lunak yang telah menginfeksi beberapa perangkat lunak tereksekusi ("executable software") dan menyebabkan perangkat lunak, apabila dijalankan, menyebar virus kepada perangkat lunak tereksekusi lainnya. Virus juga bisa membawa muatan ("payload") yang melakukan tindakan lain, seringkali berniat jahat. Sebaliknya, 'cacing komputer' adalah perangkat lunak yang secara aktif mengantarkan dirinya sendiri melalui jejaring untuk menginfeksi komputer lain, dan juga bisa membawa muatan.
Pengembang perangkat lunak
Pengembang perangkat lunak (Inggris: Software Developer) adalah individu, komunitas atau perusahaan yang membuat perangkat lunak. Pengembang perangkat lunak kemudian mengkhususkan diri untuk mengembangkan perangkat lunak kategori tertentu misalnya Sistem Operasi, RDBMS, web server, bahasa pemrograman dan lain-lain.
Pemacu peranti
Pemacu peranti (bahasa Inggris: "Device driver") adalah istilah teknologi informasi yang mengacu kepada komponen perangkat lunak yang mengizinkan sebuah sistem komputer untuk berkomunikasi dengan sebuah perangkat keras. Sebagian besar perangkat keras, tidak akan dapat berjalan atau sama sekali tidak dapat berjalan tanpa "driver" yang cocok yang terinstal di dalam sistem operasi. "Device driver", umumnya akan dimuat ke dalam ruangan kernel ("kernelspace") sistem operasi selama proses booting dilakukan, atau secara sesuai permintaan (ketika ada intervensi pengguna atau memasukkan sebuah perangkat "plug-and-play"). Beberapa sistem operasi juga menawarkan "device driver" yang berjalan di dalam ruangan pengguna ("userspace") sistem operasi. Beberapa "driver" telah dimasukkan ke dalam sistem operasi secara "default" pada saat instalasi, tetapi banyak perangkat keras, khususnya yang baru, tidak dapat didukung oleh "driver-driver" bawaan sistem operasi. Adalah tugas pengguna yang harus menyuplai dan memasukkan "driver" ke dalam sistem operasi. Driver juga pada umumnya menyediakan layanan penanganan interupsi perangkat keras yang dibutuhkan oleh perangkat keras.
Perangkat lunak sumber terbuka
Perangkat lunak sumber terbuka () adalah jenis perangkat lunak yang kode sumber-nya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya dilakukan oleh satu paguyuban terbuka yang bertujuan mengembangkan perangkat lunak bersangkutan. Anggota-anggota paguyuban itu seringkali sukarela tetapi bisa juga pegawai suatu perusahaan yang dibayar untuk membantu pengembangan perangkat lunak itu. Produk perangkat lunak yang dihasilkan ini biasanya bersifat bebas dengan tetap menganut kaidah dan etika tertentu.
Widget perangkat lunak
Widget perangkat lunak adalah aplikasi perangkat lunak yang relatif sederhana dan mudah digunakan, yang diciptakan bagi satu atau lebih platform perangkat lunak, misalnya aksesoris meja atau applet, berbeda dengan aplikasi-aplikasi yang lebih kompleks seperti spreadsheet atau pengolah kata. Widget adalah contoh aplikasi pelengkap dan tambahan yang tidak memonopoli intensi pengguna.
Insinyur perangkat lunak
Beberapa konselor karier menyarankan mahasiswa juga fokus pada "keterampilan" dan keterampilan bisnis bukan semata-mata kemampuan teknis karena seperti "soft skill" yang diduga lebih sulit untuk lepas pantai.
Wajar perintah di atas membaca, menulis & berbicara bahasa inggris diminta oleh sebagian besar pengusaha. ini adalah kuasi-aspek manajemen rekayasa perangkat lunak yang muncul untuk menjadi apa yang telah disimpan dari yang dipengaruhi oleh globalisasi.
Rantai alat
Rantai alat (Inggris: Toolchain), dalam ilmu komputer, adalah serangkaian peralatan pemrograman dan pengembangan perangkat lunak, yang mesti digunakan bergilir sesuai menurut tahap-tahap pengembangan. Alat pertama menghasilkan berkas-berkas tertentu, untuk digunakan oleh alat kedua yang selanjutnya menghasilkan berkas-berkas tertentu untuk alat ketiga, dan seterusnya.
Pengujian unit
Pengujian unit perangkat lunak sistem benam (embedded system) menghadirkan tantangan unik: karena perangkat lunak tersebut dikembangkan pada landasan yang berbeda dari landasan yang nantinya akan menjalankannya, Anda tidak dapat dengan mudah menjalankan program pengujian pada lingkungan pelaksanaan (deployment) sebenarnya, seperti yang mungkin dilakukan dengan program desktop.
Perangkat lunak beriklan
Perangkat lunak pengiklan adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah jenis perangkat lunak berbahaya ("malicious software"/"malware") yang memasang dirinya sendiri tanpa sepengetahuan pengguna dan menampilkan iklan-iklan ketika pengguna berselancar di Internet.
Perangkat lunak bebas
Pada tahun 2006, OpenBSD memulai kampanye pertama menentang penggunaan "binary blobs", "b"inary "l"arge "ob"ject"s", dalam kernel. "Blobs" merupakan device driver yang secara didistribusikan secara bebas untuk perangkat keras di mana kode sumbernya tidak dirilis oleh pembuatnya. Hal ini membatasi kebebasan pengguna untuk mengubah perangkat lunak tersebut. "Blobs" juga tidak didokumentasikan dan dapat memiliki "bug", sehingga memiliki risiko keamanan terhadap kernel yang menggunakannya. Sasaran dari kampanye menentang "blobs" adalah untuk mengumpulkan dokumentasi perangkat keras yang dapat mendukung pengembang untuk menulis "driver" yang bebas.
Senayan (perangkat lunak)
Teknologi yang digunakan dalam software itu pun umumnya memakai bahasa pemrograman Perl dan C++ yang relatif lebih sulit dipelajari oleh para pustakawan departemen yang tak punya latar belakang ilmu teknologi informasi. Selain itu, beberapa perangkat lunak tersebut sudah tidak aktif atau lama sekali tidak muncul versi terbarunya.
Insinyur perangkat lunak
Banyak negara yang melarang tanpa izin orang yang menyebut diri mereka seorang "Insinyur" atau menunjukkan cabang-cabang atau spesialisasi yang tidak tercakup oleh lisensi bertindak. Di banyak negara, gelar "Insinyur" ini diperuntukkan bagi individu dengan Teknik Profesional lisensi yang menunjukkan bahwa mereka telah menunjukkan tingkat minimum kompetensi melalui teknik yang terakreditasi pendidikan, kualifikasi teknik pengalaman, dan teknik papan ujian.
Perangkat lunak sumber terbuka
Sebagai contoh untuk memahami perbedaan antara kedua jenis perangkat ini dapat diilustrasikan misalnya perusahaan Microsoft pada suatu saat menjadikan salah satu produknya menjadi perangkat lunak gratis. Hal ini berarti siapapun dapat mendapatkannya secara gratis. Akan tetapi anda tidak diperkenankan untuk kemudian memodifikasi dan mengembangkan produk perangkat lunak tersebut.
Drumben
Bentuk penampilan drumben yang dinamis umumnya membuat kompleksitas aransemen lagu dan perancangan formasi barisan menjadi lebih tinggi. Para pelatih drumben instrumen musik umumnya memanfaatkan perangkat lunak sebagai alat bantu untuk memecahkan tingkat kompleksitas tersebut dalam proses aransemen lagu, melakukan ekstraksi atas partitur ke dalam tiap-tiap kelompok instrumen musik (termasuk instrumen musik tiup, perkusi, dan pit). Demikian pula halnya dengan pelatih visual, perangkat lunak digunakan untuk mempermudah perancangan formasi barisan, simulasi dan analisis atas kemungkinan terjadinya tabrakan antar pemain, dan visualisasi permainan tiap lagu dalam suatu penampilan.
Perangkat perusak
Secara umum, trojan adalah perangkat lunak yang mengundang pengguna untuk menjalankannya dan menyembunyikan muatan yang berniat jahat atau destruktif. Muatan dapat memengaruhi sistem secara langsung dan dapat mengakibatkan banyak efek yang tidak dikehendaki, misalnya menghapus berkas-berkas pengguna atau memasang komponen yang tidak dikehendaki atau jahat secara berlanjut. Trojan yang dikenal sebagai virus penetes ("dropper") digunakan untuk memulai wabah cacing komputer, dengan memasukkan cacing ke dalam jejaring setempat pengguna ("users' local networks").
Metodologi pengembangan perangkat lunak
Dalam rekayasa perangkat lunak, metodologi pengembangan perangkat lunak atau "metodologi pengembangan sistem" adalah suatu kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan mengendalikan proses pengembangan suatu sistem informasi. Banyak ragam kerangka kerja yang telah dikembangkan selama ini, yang masing-masing memiliki kekuatan dan kelemahan sendiri-sendiri.
Eclipse (perangkat lunak)
Eclipse adalah sebuah IDE ("Integrated Development Environment") untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform ("platform-independent").
Berikut ini adalah sifat dari Eclipse:
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan "open source", yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan "plug-in".
Perangkat lunak bebas
Dengan konsep kebebasan ini, setiap orang bebas untuk menjual perangkat lunak bebas, menggunakannya secara komersial dan mengambil untung dari distribusi dan modifikasi kode sumbernya. Walaupun demikian setiap orang yang memiliki salinan dari sebuah perangkat lunak bebas dapat pula menyebarluaskan perangkat lunak bebas tersebut secara gratis. Model bisnis dari perangkat lunak bebas biasanya terletak pada nilai tambah seperti dukungan, pelatihan, kustomisasi, integrasi atau sertifikasi.
Paket perangkat lunak
Paket perangkat lunak atau paket aplikasi adalah kumpulan program komputer, biasanya berupa aplikasi atau perangkat lunak pemrograman, yang memiliki fungsi yang berhubungan. Perangkat lunak-perangkat lunak ini umumnya memiliki antar muka pengguna yang kurang lebih sama dan juga dapat saling bertukar data antar mereka. Paket ini biasanya dijual dengan harga yang lebih murah dibandingkan jumlah harga masing-masing komponennya.
Insinyur perangkat lunak
Kebanyakan insinyur perangkat lunak yang bekerja sebagai karyawan atau kontraktor. Insinyur perangkat lunak yang bekerja dengan bisnis, instansi pemerintah (sipil atau militer), dan organisasi non-profit. Beberapa insinyur perangkat lunak yang bekerja pada mereka sendiri sebagai konsultan insinyur perangkat lunak. Beberapa organisasi memiliki spesialis untuk melakukan semua tugas-tugas dalam proses pengembangan perangkat lunak. Organisasi-organisasi lain yang terpisah insinyur perangkat lunak yang didasarkan pada perangkat lunak tertentu-tugas-tugas rekayasa. Perusahaan-perusahaan ini kadang-kadang sewa magang (mungkin universitas atau mahasiswa) selama waktu yang singkat. Dalam proyek-proyek besar, insinyur perangkat lunak dibedakan dari orang-orang yang mengkhususkan diri dalam hanya satu peran karena mereka mengambil bagian dalam desain serta pemrograman proyek. Dalam proyek-proyek kecil, insinyur perangkat lunak biasanya akan mengisi beberapa atau semua peran pada waktu yang sama. Spesialisasi meliputi:
Ada perdebatan masa depan atau prospek kerja bagi Insinyur perangkat Lunak dan lain-lain ITU Profesional. Sebagai contoh, sebuah online pasar berjangka yang disebut masa Depan ITU Pekerjaan di Amerika berusaha untuk menjawab apakah akan ada lebih banyak HAL pekerjaan, termasuk insinyur perangkat lunak, pada tahun 2012 dari yang ada pada tahun 2002. Mungkin peluang untuk kemajuan dapat sebagai Insinyur perangkat Lunak, maka untuk Senior Software Engineer, atau langsung ke Senior Software Engineer, tergantung pada keterampilan dan reputasi. Jasa ada yang mencoba untuk lebih baik dalam mengukur kemampuan coding dari seorang insinyur, mengingat tidak semua insinyur kemajuan kemampuan mereka pada tingkat yang sama, dan untuk membuatnya lebih mudah untuk kedua majikan dan karyawan untuk menemukan pertandingan yang baik dalam hal pekerjaan.
Linux
Banyak perangkat lunak bebas yang populer di Windows seperti Pidgin, Mozilla Firefox, OpenOffice.org dan GIMP. Jumlah perangkat lunak berbayar di Linux juga semakin bertambah seperti Adobe Flash Player, Acrobat Reader, Matlab, Nero Burning ROM, Opera, RealPlayer, dan Skype. Dalam animasi dan efek visual, terdapat juga perangkat lunak di Linux seperti halnya Windows seperti AutoDesk Maya, Softimage XSI dan Apple Shake. CrossOver merupakan perangkat lunak berbayar berbasis proyek sumber terbuka Wine yang dapat menjalankan versi lama dari Microsoft Office dan Adobe Photoshop. Microsoft Office 2007 dan Adobe Photoshop CS3 diketahui dapat dijalankan
Linux kernel dan sebagian besar perangkat lunak GNU menggunakan GNU General Public License (GPL) sebagai basis lisensinya. GPL mengharuskan siapapun yang mendistribusikan kernel linux harus membuat kode sumber (dan semua modifikasi atas itu) tersedia bagi pengguna dengan kriteria yang sama. Tahun 1997, Linus Torvald menyatakan, “Menjadikan Linux berbasis GPL sungguh merupakan hal terbaik yang pernah saya lakukan.” Komponen penting lain dalam sistem Linux diijinkan menggunakan lisensi selain dari GPL; banyak pustaka menggunakan GNU Lesser General Public License (LGPL), varian GPL yang lebih moderat, dan sistem X Window System menggunakan MIT License.
Perangkat lunak bebas
Perangkat lunak bebas pada umumnya tersedia secara gratis atau dengan harga yang relatif murah dibandingkan dengan harga perangkat lunak tak bebas. Dengan perangkat lunak bebas, pebisnis dapat menyesuaikan perangkat lunak sesuai dengan kebutuhan dengan mengubah perangkat lunak. Perangkat lunak bebas pada umumnya tidak memiliki garansi dan tidak mengenakan kewajiban legal kepada siapa pun. Walaupun demikian, garansi kadang-kadang dibuat antara dua belah pihak tergantung perangkat lunak dan penggunaannya berdasarkan persetujuan terpisah dari lisensi perangkat lunak bebas yang bersangkutan.
Mesin virtual
Contohnya adalah program yang ditulis dalam bahasa Java akan dilayani oleh Java Virtual Machine (JVM) dengan cara memberikan perintah-perintah yang dimengerti JVM yang selanjutnya akan memberikan hasil yang diharapkan. Dengan memberikan layanan seperti ini kepada program tersebut, perangkat lunak JVM ini berlaku sebagai sebuah "mesin virtual", sehingga program tidak lagi perlu untuk mengakses langsung melalui sistem operasi ataupun perangkat keras yang sangat bervariasi dan memerlukan pemrograman masing-masing secara spesifik.
Perangkat lunak bebas dan sumber terbuka
Perangkat lunak bebas bermakna lebih dari sekadar gratis, akan tetapi bermakna bebas untuk dipergunakan, disalin, dipelajari dan dirubah.
Mambo (perangkat lunak)
Komunitas Indonesia kemudian membuat situs sendiri agar dapat bekerjasama dalam mengembangkan perangkat CMS yang bersifat "open source" ini. Selain bertujuan untuk mensukseskan program pemerintah (departemen Komunikasi dan Informasi) tentang IGOS ("Indonesia Go Open Source"), situs ini juga diharapkan dapat membantu rekan-rekan sesama pengembang situs web agar memiliki referensinya dalam bahasa Indonesia. Situs ini juga diharapkan dapat menghasilkan pengembang-pengembang perangkat lunak, khususnya pengembang situs web berkualitas internasional. Tukar-menukar informasi sangat diharapkan agar dapat bersinergi sehingga akhirnya para pemngembang situs web dapat membuat situs web dengan hasil yang profesional dengan biaya yang relatif murah.
Institut Teknologi Sumatera
Program Studi Teknik Informatika terdiri atas bidang Ilmu Komputer dan Rekayasa Perangkat Lunak. Ilmu Komputer mencakup kajian teoretis dan algoritmik untuk perkembangan mutakhir dalam robotika, visi komputer, sistem cerdas, bio-informatika, dan hal menarik lainnya. Rekayasa Perangkat Lunak adalah disiplin pengembangan dan pemeliharaan sistem perangkat lunak yang berperilaku andal dan efisien, terjangkau untuk dikembangkan dan dipelihara, dan memenuhi semua persyaratan yang diinginkan.
Rekayasa perangkat lunak
"IEEE Computer Society" mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.
Lisensi
Salah satu jenis lisensi adalah lisensi atas hak intelektual, misalnya perangkat lunak komputer. Pemilik lisensi memberikan hak kepada pengguna untuk memakai dan menyalin sebuah perangkat lunak yang memiliki hak paten kedalam sebuah lisensi.
Perangkat perusak
Perangkat perusak tidak sama dengan perangkat lunak cacat ("defective software"), yaitu, perangkat lunak yang mempunyai tujuan sah tetapi berisi cacat yang mungkin berbahaya bagi pengguna.
Program komputer
Beberapa program komputer dapat dijalankan pada sebuah komputer pada saat bersamaan, kemampuan komputer untuk menjalankan beberapa program pada saat bersamaan disebut sebagai multitasking. Program komputer dapat dikategorikan menurut fungsinya; perangkat lunak sistem atau perangkat lunak aplikasi.
Pengolah kata
Perangkat lunak pengolah kata (Bahasa Inggris: "word processor") adalah suatu aplikasi komputer yang digunakan untuk produksi (termasuk penyusunan, penyuntingan, pemformatan, dan kadang pencetakan) segala jenis bahan yang dapat dicetak. Contoh perangkat lunak pengolah kata adalah Microsoft Word dan OpenOffice.org Writer
Perangkat lunak sumber terbuka
Serupa dengan perangkat lunak gratis, perangkat lunak sumber terbuka merupakan perangkat lunak yang juga dapat diperoleh dan didistribusikan secara bebas. Berbeda halnya dengan perangkat lunak gratis yang belum tentu boleh dilihat kode aslinya, perangkat lunak sumber terbuka dapat dibaca kode-kode pemrograman sesuai aslinya. Kode pemrograman ini dapat juga diubah, dimodifikasi dan dikembangkan sendiri oleh kita dengan tetap memperhatikan kaidah yang berlaku sesuai dengan lisensi perangkat lunak tersebut.
Mesin Virtual Java
JVM merupakan perangkat lunak yang dikembangkan secara khusus agar terlepas dari ketergantungan atas perangkat keras serta sistem operasi tertentu. JVM menyediakan lingkungan kerja yang dibutuhkan untuk menjalankan aplikasi berbasis java serta mengotomatisasikan fitur-fitur seperti penanganan kesalahan. JVM umumnya didistribusikan bersama dengan seperangkat pustaka dasar yang mengimplementasikan antarmuka pemrograman aplikasi java, "Application Programming Interface"' (API) yang dinamai sebagai Java Runtime Environment (JRE).
Sistem operasi
Biasanya, istilah sistem operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
Perangkat lunak antivirus
Antivirus adalah sebuah jenis perangkat lunak yang digunakan untuk mengamankan, mendeteksi, dan menghapus virus komputer dari sistem komputer. Antivirus disebut juga perangkat lunak perlindungan virus. Program ini dapat menentukan apakah sebuah sistem komputer telah terinfeksi dengan sebuah virus atau tidak. Umumnya, perangkat lunak ini berjalan di latar belakang dan melakukan pemindaian terhadap semua berkas yang diakses (dibuka, dimodifikasi, atau ketika disimpan).
Paket aplikasi perkantoran
Paket aplikasi perkantoran (Inggris: "office suite") adalah sebuah paket perangkat lunak yang diperuntukkan khusus untuk pekerjaan di kantor. Komponen-komponennya umumnya didistribusikan bersamaan, memiliki antarmuka pengguna yang konsisten dan dapat berinteraksi satu sama lain. Kebanyakan aplikasi paket perkantoran terdiri dari sedikitnya sebuah pengolah kata dan sebuah lembar kerja. Sebagai tambahan, paket dapat terdiri dari sebuah aplikasi presentasi, peralatan basis data, paket grafis dan peralatan komunikasi. Sebuah paket perkantoran juga dapat memiliki sebuah klien surat elektronik dan manejer informasi pribadi atau paket groupware.
Perangkat lunak wiki
Perangkat lunak wiki (juga disebut mesin wiki atau aplikasi wiki) adalah sebuah perangkat lunak kolaboratif yang menjalankan wiki, misalnya sebuah situs web yang mengizinkan penggunanya untuk membuat dan menyunting halaman web melalui sebuah peramban web. Sistem wiki biasanya adalah sebuah aplikasi web yang berjalan pada satu atau beberapa server web. Isinya, termasuk seluruh revisinya, biasanya disimpan dalam sistem berkas atau basis data.
Daur hidup rilis peranti lunak
Daur hidup rilis peranti lunak () adalah jumlah fase perkembangan dari sebuah perangkat lunak mulai dari masa awal pembuatan hingga versi terakhir yang dirilis ke pengguna, dan meliputi versi terbarukan dari versi rilisnya untuk membantu meningkatkan kegunaan perangkat lunak atau memperbaiki bug yang masih ada dalam perangkat lunak terkini.
Perangkat lunak sumber terbuka
Semua perangkat lunak bebas adalah perangkat lunak sumber terbuka, tetapi sebaliknya perangkat lunak sumber terbuka belum tentu perangkat lunak bebas, tergantung kaidah yang dipakai dalam melisensikan perangkat lunak sumber terbuka tersebut.
Lisensi
Lisensi massal perangkat lunak adalah lisensi dari pemilik ke perorangan untuk menggunakan sebuah perangkat lunak dalam satu komputer. Rincian lisensi biasanya tertuang dalam "Kesepakatan Lisensi Pengguna tingkat Akhir" ("End User License Agreement (EULA)") dalam sebuah perangkat lunak.
Senayan (perangkat lunak)
Software baru itu kemudian dikembangkan dengan General Public License, sistem perizinan yang lazim digunakan dalam perangkat lunak berbasis sumber terbuka. Perizinan ini mensyaratkan agar software tersebut harus dapat digunakan, dipelajari, diubah, dan didistribusikan ke pihak lain secara bebas.
Rekayasa perangkat lunak
Istilah "software engineering", pertama kali digunakan pada akhir tahun 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang "software engineering" di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski penggunaan kata "software engineering" masukan konferensi tersebut menimbulkan debat tajam tentang aspek "engineering" dari pengembangan perangkat lunak, banyak pihak yang menganggap konferensi tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak
Pemrograman
Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritme yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritme diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritme dan kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritme yang paling cocok dengan keadaan.
Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.
Java (Platform Perangkat Lunak)
Platform Java adalah seperangkat program yang memfasilitasi mengembangkan dan menjalankan program yang ditulis dalam Java bahasa pemrograman. Java platform akan mencakup eksekusi mesin (disebut mesin virtual), compiler dan satu set perpustakaan; mungkin juga ada tambahan server dan alternatif perpustakaan yang tergantung pada persyaratan. Java adalah tidak spesifik untuk setiap prosesor atau sistem operasi seperti Java platform telah diimplementasikan untuk berbagai macam perangkat keras dan sistem operasi dengan maksud untuk memungkinkan program Java untuk menjalankan identik pada semua dari mereka. Berbeda platform target kelas yang berbeda dari perangkat dan aplikasi domain:
Platform Java terdiri dari beberapa program, masing-masing menyediakan sebagian dari kemampuan secara keseluruhan. Misalnya, Java compiler, yang mengubah kode sumber Java menjadi bytecode Java (bahasa menengah untuk JVM), diberikan sebagai bagian dari Java Development Kit (JDK). The Java Runtime Environment (JRE), melengkapi JVM dengan just-in-time (JIT) compiler, yang mengubah menengah bytecode menjadi asli kode mesin on the fly. Platform Java juga mencakup serangkaian luas dari perpustakaan.
Rekayasa perangkat lunak
rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
Perangkat perusak
Perangkat perusak, perangkat lunak berbahaya atau perangkat lunak jahat (bahasa Inggris: "malware", berasal dari lakuran kata malicious" "berniat jahat" dan "software "perangkat lunak") adalah perangkat lunak yang diciptakan untuk menyusup atau merusak sistem komputer, server atau jejaring komputer tanpa izin termaklum ("informed consent") dari pemilik. Istilah ini lazim digunakan oleh pakar komputer untuk mengartikan berbagai macam aplikasi atau kode yang berniat jahat atau destruktif. Istilah 'virus komputer' kadang-kadang dipakai sebagai frasa pemikat ("catch phrase") untuk mencakup semua jenis perangkat perusak, termasuk virus murni ("true virus").
Perangkat lunak bebas
Perangkat lunak bebas ("free software") jangan disalahartikan dengan perangkat lunak gratis ("freeware") yaitu perangkat lunak yang digunakan secara gratis. Perangkat lunak gratis dapat berupa perangkat lunak bebas atau perangkat lunak tak bebas. Sejak akhir tahun 1990-an, beberapa alternatif istilah untuk perangkat lunak bebas digulirkan seperti "perangkat lunak sumber terbuka" ("open-source software"), ""software libre"", "FLOSS", dan "FOSS".
Aplikasi web
Dalam rekayasa perangkat lunak, suatu aplikasi web (bahasa Inggris: "web application" atau sering disingkat "webapp") adalah suatu aplikasi yang diakses menggunakan penjelajah web melalui suatu jaringan seperti Internet atau intranet. Ia juga merupakan suatu aplikasi perangkat lunak komputer yang dikodekan dalam bahasa yang didukung penjelajah web (seperti ASP, Perl, Java, Java Script, PHP, Python, Ruby, dll) dan bergantung pada penjelajah tersebut untuk menampilkan aplikasi.
Platform as a service
Platform as a service (PaaS) adalah kategori layanan komputasi awan yang menyediakan platform yang memungkinkan pelanggan untuk mengembangkan, menjalankan, dan mengelola aplikasi tanpa kompleksitas membangun dan memelihara infrastruktur yang biasanya terkait dengan pengembangan dan peluncuran aplikasi. PaaS dapat disampaikan dalam dua cara: sebagai publik layanan cloud dari penyedia, di mana konsumen kontrol penyebaran perangkat lunak dengan sedikit pilihan konfigurasi, dan provider yang menyediakan jaringan, server, penyimpanan, OS, 'middleware' (yaitu; java runtime, .net runtime, integrasi, dll.), database dan layanan lainnya untuk menjadi tuan rumah konsumen aplikasi; atau sebagai layanan pribadi (perangkat lunak atau alat) di dalam firewall, atau sebagai perangkat lunak yang digunakan pada public infrastructure as a service.