Teknik Elektro dan Informatika

Rekayasa Perangkat Lunak: Pengertian, Contoh, dan Penerapannya

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Rekayasa Perangkat Lunak atau biasa disingkat dengan RPL adalah salah satu bidang profesi dan juga mata pelajaran yang mempelajari tentang pengembangan perangkat-perangkat lunak termasuk dalam hal pembuatannya, pemeliharaan hingga manajemen organisasi dan manajemen kualitasnya. Bisa dikatakan RPL ini merupakan sebuah perubahan yang terjadi pada perangkat lunak guna melakukan pengembangan, pemeliharaan, dan pembangunan kembali dengan menerapkan prinsip rekayasa sehingga memperoleh perangkat lunak yang bisa bekerja secara lebih efisien dan efektif pada user nantinya.

Perangkat lunak sendiri merupakan sekumpulan data yang tersimpan dan terprogram oleh sistem komputer, istilah ini cukup umum dengan sebutan software. Merupakan elemen dari komputer, software menjadi elemen yang tidak tampak secara fisik. Ia berisi instruksi-instruksi yang diprogram dan bisa berada di perangkat keras manapun, software pada mulanya adalah sebuah kode mesin atau machine code yang dibuat oleh seorang ilmuwan. Berisi angka-angka biner yang dapat dikenali oleh komputer, terkhusus prosesor. Software bekerja dengan membuat instruksi tertentu dalam melakukan perhitungan, logika, input-output, dan aritmatika pada prosesor.

Beberapa ahli memberikan penjelasan yang sedikit berbeda satu dengan lainnya, teori ini jugalah yang digunakan oleh dunia pendidikan untuk diberikan sebagai pemahaman kepada pelajarnya.

  • Stephen R.Schach

    RPL adalah sebuah disiplin ilmu yang mana dibuat untuk kepentingan menghasilkan perangkat lunak yang bebas dari kesalahan, pengiriman yang tepat waktu, dan memuaskan keinginan pemakainya.

  • Fritz Bauer

    Ia mengartikan RPL sebagai pengembangan dan penggunaan prinsip rekayasa dalam rangka memperoleh perangkat lunak yang bisa dipercaya dan bekerja secara efisien dan dilakukan pada mesin nyata.

  • Institute Of Electrical And Electronics Engineers 610.12

    Sedangkan menurut IEEE, adalah sebuah studi dan aplikasi dengan menggunakan pendekatan yang bersifat kuantifiabel, disiplin, dan sistematis kepada pengembangnya, memiliki operasi dan pemeliharaan perangkat lunak yang merupakan aplikasi.

Tujuan Dan Penerapan Rekayasa Perangkat Lunak

Mempelajari ilmu RPL ini dianggap perlu karena pada dasarnya memungkinkan Anda untuk membangun sistem yang lebih kompleks, efektif serta efisien dalam jangka waktu yang panjang dan tentu saja harus memiliki kualitas yang tinggi. Sehingga tujuan dari rekayasa perangkat lunak ini adalah berikut.

  • Mengembangkan Perangkat Lunak

    Mengembangkan perangkat lunak yang bisa berfungsi dan berguna bagi penggunanya menjadi tujuan utama dari seseorang mempelajari RPL, tentunya perangkat lunak harus memiliki fungsi dan kegunaan yang spesifik agar bisa digunakan oleh penggunanya.

  • Memperbarui Fungsi

    Fungsi yang ada pada perangkat lunak terkadang membutuhkan pembaruan, dikarenakan fungsi yang sudah ada sebelumnya mengalami pengurangan sehingga berkurang jugalah fungsi nya bekerja. Dengan mempelajari perangkat lunak secara mendalam, perangkat lunak yang sudah ada bisa menjadi sebuah sistem yang lebih baik kedepannya dan lebih berguna bagi pengguna.

  • Menciptakan User Friendly

    Perangkat lunak yang user friendly setidaknya memiliki tampilan yang menarik, fungsional serta mudah untuk digunakan, pemahaman lebih tentu dimiliki oleh orang yang mempelajari rekayasa perangkat lunak. Sehingga ia bisa menggunakan ilmunya untuk memperbaiki, mengembang, dan menciptakan perangkat lunak yang user friendly tersebut.

  • Meng-Integrasi Peralatan Mekanikal

    Beberapa peralatan mekanikal yang ada biasanya memerlukan integrasi dengan perangkat lunak, agar sistemnya dapat bekerja dengan lebih optimal. Sebuah peralatan yang membutuhkan integrasi dengan perangkat lunak bisa menjadi sebuah masalah, namun mereka yang mempelajarinya tentu bisa menyelesaikan masalah tersebut. Dengan begitu, kegiatan operasionalnya mendukung untuk penggunaan alat tersebut.

  • Melakukan Perawatan

    Mempelajari RPL tidak membuat Anda terpaku dengan pembuatan dan pengembangan sistem perangkat lunak yang ada, tetapi juga pada perawatan atau maintenance perangkat lunak yang ada. Perawatan dibutuhkan jika perangkat lunak tersebut mengalami kendala atau gangguan, agar sistem tetap bagus maka diperlukannya perawatan berkala.

Secara khusus, tujuan mempelajari rekayasa perangkat lunak adalah biaya produksi dan perawatan perangkat lunak yang lebih rendah, menghasilkan perangkat lunak yang yang mampu bekerja pada semua jenis platform dengan baik, serta mampu menghasilkan perangkat lunak yang kinerjanya handal dan tepat waktu. Rekayasa Perangkat Lunak atau RPL ini bisa diterapkan dalam kehidupan sehari-hari maupun dalam sebuah perusahaan, seperti pembuatan aplikasi yang mampu mencatat data kecelakaan, aplikasi pembuatan kamera untuk driver dan lain sebagainya.

Sumber: https://kwikkiangie.ac.id/

Selengkapnya
Rekayasa Perangkat Lunak: Pengertian, Contoh, dan Penerapannya

Teknik Elektro dan Informatika

Pengembangan Perangkat Lunak

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Pengembangan perangkat lunak (juga disebut pengembangan aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan aplikasi perangkat lunak, pengembangan aplikasi perusahaan, atau pengembangan platform) adalah pengembangan suatu produk perangkat lunak. Istilah "pengembangan perangkat lunak" bisa dipakai untuk menyebut aktivitas pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya dalam proses yang terencana dan terstruktur. Karena itu, pengembangan perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa, modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain yang menghasilkan produk perangkat lunak.

Perangkat lunak bisa dikembangkan untuk berbagai tujuan, tiga tujuan paling umum adalah memenuhi kebutuhan klien/bisnis tertentu (perangkat lunak kustom), memenuhi persepsi kebutuhan sejumlah pengguna potensial (perangkat lunak komersial dan terbuka), atau memenuhi kebutuhan pribadi (misalnya seorang ilmuwan menulis perangkat lunak untuk mengotomasikan sebuah tugas yang rumit). Pengembangan perangkat lunak tertanam adalah pengembangan perangkat lunak tertanam seperti yang dipakai untuk mengontrol produk konsumen, membutuhkan proses pengembangan yang terintegrasikan dengan pengembangan produk fisik yang dikontrol.

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.

Proses bisnis dan pemodelan data

Representasi grafik dari keadaan informasi saat ini memberikan sarana yang sangat efektif untuk menyajikan informasi kepada pengguna dan pengembang sistem.

  • Sebuah model bisnis mengilustrasikan fungsi yang saling berkaitan dengan dengan proses bisnis yang sedang dimodelkan pengorganisasian yang melaksanakan fungsi-fungsi ini. Dengan menggambarkan aktivitas dan arus informasi, sebuah fondasi dibuat untuk memvisualisasikan, menentukan, memahami, dan memvalidasi sifat suatu proses.
  • Sebuah model data menyediakan detail dari informasi yang ingin disimpan dan penggunaan utama ketika produk akhir adalah pembuatan kode perangkat lunak komputer untuk aplikasi atau persiapan spesifikasi fungsional untuk membantu keputusan membuat atau membeli perangkat lunak komputer. Lihat gambar di sebelah kanan untuk contoh interaksi antara proses bisnis dan model data.

Biasanya, sebuah model dibuat setelah melakukan sebuah wawancara, disebut sebagai analisis bisnis. Wawancara terdiri dari fasilitator yang mengajukan serangkaian pertanyaan yang dirancang untuk mengekstraksi informasi yang diperlukan yang menggambarkan suatu proses. Pewawancara disebut sebagai fasilitator untuk menekankan bahwa partisipan yang memberikan informasi. Fasilitator harus memiliki pengetahuan tentang proses yang diinginkan, tetapi hal ini tidak sepenting memiliki metodologi terstruktur yang digunakan untuk mengajukan pertanyaan kepada pakar proses. Metodologinya sangat penting karena biasanya sebuah tim dari fasilitator sedang mengumpulkan informasi di sepanjang bangunan dan hasil dari informasi dari semua pewawancara harus cocok dengan satu sama lain setelah selesai.

Metodologi

Satu proses pengembangan perangkat lunak tidak selalu cocok untuk digunakan untuk semua projek. Masing-masing metodologi yang tersedia paling cocok untuk jenis proyek tertentu, berdasarkan berbagai pertimbangan teknis, organisasi, proyek, dan tim.

Aktivitas

Proses perencanaan

Sebuah tugas penting dalam membuat perangkat lunak adalah menganalisis kebutuhan. Pelanggan pada umumnya mempunyai ide abstrak dari apa yang mereka inginkan tetapi mereka tidak tahu apa kegunaan perangkat lunaknya. Insinyur perangkat lunak yang terampil dan berpengalaman mengenali persyaratan yang tidak lengkap, ambigu, atau bahkan bertentangan pada saat ini. Sering mendemonstrasikan kode langsung dapat membantu mengurangi risiko kesalahan persyaratan.

"Walaupun banyak usaha yang diperlukan untuk memenuhi dalam fase persyaratan untuk memastikan bahwa persyaratan lengkap dan konsisten, jarang sekali hal ini terjadi; meninggalkan fase desain perangkat lunak sebagai fase yang paling berpengaruh dalam meminimalkan dampak persyaratan baru atau perubahan. Volatilitas persyaratan merupakan hal yang menantang karena berdampak pada upaya pembangunan di masa depan atau yang sudah berjalan."

CASE

Computer-aided software engineering (CASE) adalah aplikasi ilmiah dari sebuah seperangkat alat dan metode perangkat lunak untuk pengembangan perangkat lunak untuk membantu mencapai kualitas tinggi, produk perangkat lunak bebas cacat dan dapat dipelihara. Ini juga merujuk pada metode pengembangan dari sistem informasi bersama dengan alat otomatis yang dapat digunakan dalam proses pengembangan perangkat lunak. Istilah "computer-aided software engineering" (CASE) dapat merujuk pada perangkat lunak yang digunakan untuk pengembangan secara otomatis dari perangkat lunak sistem, yaitu, kode komputer. Fungsi CASE meliputi analisis, desain, dan pemrograman. Alat CASE mengotomatiskan metode untuk merancang, mendokumentasikan, dan membuat kode komputer terstruktur dalam bahasa pemrograman yang diinginkan.

Dua kunci ide dari Computer-aided Software System Engineering (CASE) adalah:

  • Mendorong bantuan komputer dalam pengembangan perangkat lunak dan proses pemeliharaan perangkat lunak, dan
  • Pendekatan rekayasa untuk pengembangan dan pemeliharaan perangkat lunak.
  • Alat CASE yang umum ada untuk manajemen konfigurasi, pemodelan data, transformasi model, pemfaktoran ulang, pembuatan kode sumber.

Anjuta, sebuah IDE C dan C++ untuk lingkungan GNOME.

Bahasa pemodelan

Sebuah bahasa pemodelan adalah bahasa artifisial yang dapat digunakan untuk mengekspresikan informasi atau pengetahuan atau sistem di dalam sebuah struktur yang ditentukan oleh seperangkat aturan yang konsisten. Aturan ini digunakan untuk interpretasi makna komponen-komponen dalam struktur. Bahasa pemodelan dapat berupa grafis atau tekstual.

Model pandangan

Sebuah model pandangan adalah sebuah kerangka kerja yang menyediakan sudut pandang dalam sistem dan lingkungannya, untuk digunakan dalam proses pengembangan perangkat lunak. Ini adalah representasi grafis dari semantik yang mendasari suatu pandangan.

Kegunaan dari sudut pandang dan pandangan untuk memungkinkan insinyur manusia memahami sistem yang sangat kompleks dan mengorganisir elemen dari suatu permasalahan di sekitar lingkup pakar. Dalam rekayasa sistem intensif fisik, sudut pandang sering kali sesuai dengan kemampuan dan tanggung jawab dalam organisasi teknik.

Paradigma pemrograman

Sebuah paradigma pemrograman adalah sebuah gaya dasar pemrograman komputer, yang umumnya tidak ditentukan oleh metodologi manajemen proyek (seperti waterfall atau agile). Paradigma berbeda dalam konsep dan abstraksi yang digunakan untuk mewakili elemen suatu program (seperti objek, fungsi, variabel, constraint) dan langkah-langkah yang meliputi sebuah komputasi (seperti penugasan, evaluasi, kelanjutan, aliran data). Terkadang konsep yang dinyatakan oleh paradigma digunakan secara kooperatif dalam desain arsitektur sistem tingkat tinggi; dalam kasus lainnya, ruang lingkup paradigma pemrograman terbatas pada struktur internal program atau modul tertentu. Contohnya: object-oriented design (OOD) Grady Booch, juga dikenal sebagai object-oriented analysis and design (OOAD). Model Booch model termasuk enam diagram: class, objek, transisi keadaan, interaksi, modul, dan proses.

Angkatan kerja

Pengembang perangkat lunak adalah orang atau perusahaan yang terlibat dalam proses pengembangan perangkat lunak, termasuk penelitian, desain, pemrograman, pengujian, dan aspek-aspek lain dalam menciptakan perangkat lunak. Gelar pekerjaan lain untuk orang yang memiliki arti yang sama termasuk pemrogram, analis perangkat lunak, atau insinyur perangkat lunak. Perusahaan yang berspesialisasi dalam perangkat lunak dapat disebut rumah perangkat lunak. Di perusahaan besar, mungkin ada karyawan yang tanggung jawabnya hanya terdiri dari salah satu disiplin ilmu. Dalam lingkungan pengembangan yang lebih kecil, beberapa orang atau satu orang mungkin menangani seluruh proses. Lingkungan kolaboratif, seperti perangkat lunak sumber terbuka, dapat menyatukan banyak pengembang.

Sumber: https://id.wikipedia.org/

Selengkapnya
Pengembangan Perangkat Lunak

Teknik Fisika

Fisika atau Fisika Teknik?

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Apa itu Fisika dan Fisika Teknik?

Jurusan Fisika dan Teknik Fisika LMU membantu para mahasiswa untuk meneliti bagaimana dunia di sekitar kita bekerja. Fisika mengkaji hukum-hukum dasar materi dan gerak dalam segala hal, mulai dari partikel subatom hingga galaksi.

Pencarian seorang fisikawan untuk mendapatkan jawaban meluas dari fenomena sehari-hari (lintasan bola bisbol dan pelangi, dan bahkan perilaku Cheerios dalam semangkuk susu) hingga ke hal-hal yang eksotis (materi gelap, lubang hitam, dan partikel sub-atom). Fisikawan eksperimental melakukan pendekatan ini dengan mempelajari secara cermat cara dunia bekerja, sementara fisikawan teoretis mengembangkan model matematika yang menjelaskan dan memprediksi fenomena.

Para mahasiswa jurusan ini akan mendapatkan pemahaman bahwa fisika mendasari semua ilmu dasar lainnya, dan merupakan dasar dari sebagian besar teknologi karena berkaitan dengan aspek paling mendasar dari materi dan energi serta hukum-hukum yang mengatur interaksinya. 

Apa yang dilakukan jurusan Fisika dan Teknik Fisika?

Jurusan Fisika dan Teknik Fisika mempelajari bidang-bidang inti fisika: mekanika klasik dan kuantum, elektrodinamika, optik, fisika zat padat, dan mekanika statistik.

Program Fisika menekankan pada pemahaman prinsip-prinsip dasar. Dengan banyaknya pilihan mata kuliah, jurusan ini juga memberikan fleksibilitas dalam bidang studi.

Mahasiswa jurusan Teknik Fisika menerima pendidikan yang luas di bidang teknik - yang menekankan pada penerapan prinsip-prinsip - dan juga di bidang fisika. 

Apakah jurusan ini tepat untuk Anda? 

Kamu mungkin cocok dengan jurusan Fisika dan Teknik Fisika jika kamu:

  • Kreatif dan disiplin
  • Tertarik dengan asal-usul alam semesta
  • Suka mengajukan pertanyaan tentang dunia di sekitar kita
  • Ingin tahu bagaimana segala sesuatu bekerja
  • Menikmati pengamatan bintang 
  • Tentang fakultas kami

Anggota fakultas kami adalah para ahli di berbagai bidang seperti teori kuantum, kosmologi teoretis, misteri struktur galaksi berskala besar, perilaku berbagai sistem materi terkondensasi lunak, ilmu seni, penelitian pendidikan fisika, spektroskopi bintang beresolusi tinggi, dan menghitung korelasi jangka panjang antara putaran pada sistem magnetik benda-benda.

Anggota fakultas kami adalah peneliti dan penulis aktif yang secara teratur mempresentasikan karya mereka di konferensi, menerbitkan makalah di jurnal bergengsi, dan menulis buku teks seperti Fisika Perguruan Tinggi dan Fisika Universitas. Para anggota fakultas telah mendapatkan beasiswa NASA dan hibah National Science Foundation, melacak satelit, serta merancang dan membuat spektograf untuk teleskop observatorium. 

Tentang mahasiswa dan lulusan kami

Mahasiswa kami mendapatkan kesempatan magang, bekerja sama dengan para profesor dalam proyek-proyek penelitian, mempresentasikan karya mereka di konferensi ilmiah dan di jurnal, dan berpartisipasi dalam perkumpulan kehormatan penelitian Sigma Xi.

Mahasiswa LMU yang mengambil jurusan atau minor Fisika dan Teknik Fisika mempersiapkan diri untuk studi pascasarjana di berbagai bidang, mulai dari bioteknologi hingga hukum dan kedokteran. Mereka melanjutkan karir sebagai profesor universitas, peneliti di laboratorium pemerintah dan industri, pemimpin bisnis, dan dokter. Lulusan kami telah menemukan partikel elementer baru, mengembangkan radar militer canggih, mengerjakan perangkat fotonik baru, mengajar di tingkat sekolah menengah dan universitas, dan memiliki perusahaan modal ventura berteknologi tinggi. 

Program studi yang representatif

Mata kuliah kami meliputi: 

  • Pengantar mekanika
  • Pengantar listrik dan magnet
  • Gelombang dan cahaya
  • Fisika modern
  • Senjata pemusnah massal: Fakta dan Fiksi
  • Ide-ide hebat dalam Fisika
  • Astrofisika
  • Fisika kuantum
  • Elektrodinamika
  • Fisika luar angkasa
  • Termodinamika dan mekanika statistik
  • Fisika materi terkondensasi
  • Relativitas umum dan kosmologi

Disadur dari: https://admission.lmu.edu/

Selengkapnya
Fisika atau Fisika Teknik?

Seni Rupa dan Desain

Perkembangan Inovasi Sains dan Teknologi pada Aspek Sosial

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Perkembangan sains dan teknologi telah memiliki dampak yang signifikan dalam kehidupan masyarakat modern. Perubahan ini mencakup berbagai aspek kehidupan, seperti komunikasi, transportasi, kesehatan, energi, dan lingkungan. Dampaknya dapat dirasakan oleh masyarakat di berbagai tingkatan, baik secara lokal maupun global. Dalam bidang komunikasi, kemajuan teknologi seperti internet dan media sosial telah mengubah cara kita berinteraksi dan berkomunikasi. Informasi dapat dengan mudah dan cepat disebarkan dan diakses oleh banyak orang di seluruh dunia, sehingga komunikasi jarak jauh menjadi lebih efisien. 

Di bidang transportasi, perkembangan teknologi telah memperpendek jarak dan waktu perjalanan. Penemuan pesawat terbang, kereta cepat, dan mobil yang lebih efisien telah mengubah cara kita melakukan perjalanan dan berpindah tempat. Hal ini memungkinkan kita untuk menjelajahi dunia dengan lebih mudah dan cepat. 

Dalam bidang kesehatan, perkembangan sains dan teknologi telah membawa kemajuan yang signifikan. Penemuan obat-obatan baru, teknologi medis seperti pemindaian MRI dan CT scan, serta perkembangan dalam bidang genetika telah meningkatkan kemampuan dalam diagnosis, perawatan, dan meningkatkan harapan hidup manusia. Sains dan teknologi juga memainkan peran penting dalam pengembangan energi terbarukan dan ramah lingkungan. Penemuan panel surya, turbin angin, dan teknologi energi lainnya membantu mengurangi ketergantungan pada sumber energi fosil yang terbatas dan berpotensi merusak lingkungan.

Selain itu, sains dan teknologi juga membantu pemahaman kita tentang perubahan iklim dan dampaknya terhadap lingkungan. Teknologi hijau dan inovasi dalam pengolahan limbah membantu kita menjaga dan merawat lingkungan alam sekitar. Dalam konteks Indonesia, negara ini memiliki potensi besar untuk mengembangkan sains dan teknologi. Indonesia memiliki sumber daya alam yang melimpah dan populasi yang besar, yang dapat menjadi basis untuk inovasi dan penelitian berkelanjutan. Pengembangan sains dan teknologi di Indonesia dapat memberikan dampak positif yang signifikan, antara lain:

Peningkatan daya saing: Pengembangan sains dan teknologi akan meningkatkan daya saing Indonesia di tingkat global. Inovasi teknologi akan membantu meningkatkan produktivitas, efisiensi, dan kualitas produk, yang pada akhirnya akan mendukung pertumbuhan ekonomi negara. Pemecahan masalah lokal, dengan mengembangkan sains dan teknologi, Indonesia dapat mengatasi tantangan dan masalah yang spesifik dihadapi oleh masyarakatnya. Misalnya, pengembangan teknologi pertanian yang inovatif dapat membantu meningkatkan produksi pangan dan ketahanan pangan. 

Dalam hal ini, penting untuk menciptakan lingkungan yang mendukung bagi pengembangan sains dan teknologi, seperti investasi dalam riset dan pengembangan, pendidikan yang berkualitas dalam bidang ilmu pengetahuan dan teknologi, serta kerjasama antara lembaga pemerintah, perguruan tinggi, dan sektor swasta. Dengan memperhatikan pengembangan sains dan teknologi, Indonesia dapat mengambil manfaat dari dampak positif yang ditawarkan oleh kemajuan ilmu pengetahuan dan teknologi dalam menghadapi tantangan masa depan dan meningkatkan kualitas hidup masyarakatnya.

Dampak sains dan teknologi terhadap kehidupan masyarakat sains dan teknologi telah mengubah cara kita berkomunikasi, terutama dengan adanya perkembangan telepon seluler, internet, dan media sosial. Kini kita dapat dengan mudah terhubung dengan orang di seluruh dunia, yang membawa perubahan dalam cara kita berinteraksi, berbagi informasi, dan memperluas jaringan sosial. Perkembangan di bidang transportasi, seperti pesawat terbang, kereta cepat, dan mobil modern, telah mengubah dunia menjadi lebih terhubung. Waktu perjalanan menjadi lebih singkat dan efisiensi transportasi meningkat, memberikan dampak positif pada mobilitas, perdagangan, dan pariwisata.

Peran sains dan teknologi dalam bidang kesehatan sangat besar. Penemuan obat-obatan baru, teknologi medis seperti pemindaian dan pencitraan medis, serta pengembangan teknik operasi yang canggih, telah meningkatkan diagnosis, perawatan, dan pemulihan penyakit. Ini memberikan kontribusi pada peningkatan harapan hidup dan kualitas hidup masyarakat. Kemajuan di bidang energi juga memberikan dampak signifikan. Pengembangan energi terbarukan, seperti tenaga surya dan angin, membantu mengurangi ketergantungan pada sumber energi fosil dan dampak negatif terhadap lingkungan. 

Hal ini juga memberikan manfaat dalam hal akses energi yang lebih baik dan harga energi yang lebih terjangkau bagi masyarakat. Sains dan teknologi juga berperan dalam pemahaman dan perlindungan lingkungan. Melalui inovasi teknologi hijau, pengolahan limbah, dan pemantauan lingkungan, kita dapat mengurangi polusi, merawat ekosistem alam, dan menghadapi perubahan iklim dengan cara yang lebih baik.

Pemerintah Indonesia perlu meningkatkan investasi dalam riset dan pengembangan di bidang sains dan teknologi. Dengan memberikan dana yang cukup, kita dapat mendorong inovasi, penemuan baru, dan pengembangan teknologi yang bermanfaat bagi masyarakat. Peningkatan kualitas pendidikan sains dan teknologi sangat penting. Perlu ditingkatkan kualitas pendidikan di semua tingkatan, termasuk sekolah dasar, menengah, dan perguruan tinggi, baik dalam hal kurikulum, fasilitas laboratorium, maupun pelatihan guru.

Budaya kewirausahaan di bidang teknologi perlu didorong oleh pemerintah dan sektor swasta. Dukungan yang lebih besar harus diberikan kepada startup teknologi, pengembangan inkubator bisnis, dan akses ke pembiayaan bagi inovator dan pengembang teknologi yang berbakat. Kerjasama dan jaringan antara pemerintah, perguruan tinggi, sektor swasta, dan komunitas ilmiah perlu dibangun secara kuat. Kolaborasi ini dapat meningkatkan pertukaran pengetahuan, sumber daya, dan pengalaman, serta mempercepat perkembangan sains dan teknologi di Indonesia.

Pengembangan sains dan teknologi perlu fokus pada solusi lokal yang relevan dengan kebutuhan masyarakat Indonesia. Masalah seperti pertanian berkelanjutan, pengelolaan limbah, dan akses air bersih harus menjadi fokus utama dalam upaya mengatasi tantangan yang dihadapi. Dengan mengambil langkah-langkah ini, Indonesia dapat mengoptimalkan potensi sains dan teknologi untuk memajukan kehidupan masyarakat, meningkatkan daya saing global, dan mengatasi tantangan masa depan melalui solusi inovatif.

Kesimpulan dari artikel tersebut adalah bahwa pengembangan sains dan teknologi memiliki dampak positif yang signifikan terhadap kehidupan masyarakat, termasuk dalam bidang komunikasi, transportasi, kesehatan, energi, dan lingkungan. Indonesia memiliki potensi besar untuk mengembangkan sains dan teknologi, yang dapat memberikan dampak positif dalam meningkatkan daya saing, pemecahan masalah lokal, dan meningkatkan kualitas hidup masyarakat. 

Untuk mencapai hal tersebut, perlu fokus pada solusi lokal yang relevan dengan kebutuhan masyarakat Indonesia, meningkatkan investasi dalam riset dan pengembangan, meningkatkan kualitas pendidikan sains dan teknologi, mendorong budaya kewirausahaan di bidang teknologi, dan membangun kerjasama dan jaringan antara pemerintah, perguruan tinggi, sektor swasta, dan komunitas ilmiah.

Saran untuk artikel ini adalah untuk lebih menekankan pada contoh konkrit dari pengembangan sains dan teknologi di Indonesia, seperti proyek-proyek riset dan pengembangan yang sedang berjalan, startup teknologi yang sukses, atau inovasi teknologi yang telah memberikan dampak positif pada masyarakat. Hal ini dapat membantu membuktikan potensi besar yang dimiliki Indonesia dalam bidang sains dan teknologi, serta memberikan inspirasi bagi pembaca untuk terlibat dalam pengembangan sains dan teknologi di Indonesia.

Sumber: https://www.kompasiana.com/

Selengkapnya
Perkembangan Inovasi Sains dan Teknologi pada Aspek Sosial

Teknik Elektro dan Informatika

Insinyur Perangkat Lunak

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Seorang insinyur perangkat lunak adalah orang yang menerapkan prinsip-prinsip rekayasa perangkat lunak untuk desain, pengembangan, pemeliharaan, pengujian, dan evaluasi dari perangkat lunak untuk membuat perangkat lunak komputer atau perangkat lain yang berisi perangkat lunak bekerja.

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.

Pendidikan

Setengah dari semua praktisi hari ini havedegrees dalam ilmu komputer, sistem informasi, atau teknologi informasi. Sejumlah kecil, namun tumbuh, jumlah praktisi memiliki gelar teknik perangkat lunak. Pada tahun 1987, Imperial College London memperkenalkan gelar sarjana teknik perangkat lunak tiga tahun pertama di Inggris dan dunia; Pada tahun berikutnya, Universitas Sheffield mendirikan sebuah program serupa. Pada tahun 1996, Institut Teknologi Rochester memulai program sarjana teknik perangkat lunak sarjana pertama di Amerika Serikat, namun ia tidak mendapatkan ABETaccreditation sampai tahun 2003, bersamaan dengan Rice University, Clarkson University, Milwaukee School of Engineering dan Mississippi State University memperoleh gelar mereka . Pada tahun 1997, PSG College of Technology di Coimbatore, India adalah orang pertama yang memulai gelar Master of Science lima tahun yang terintegrasi dalam Rekayasa 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.

Pada tahun 1998, the US Naval Postgraduate School (NPS) didirikan pertama doktor program dalam Rekayasa perangkat Lunak di dunia. Selain itu, banyak online gelar dalam Rekayasa perangkat Lunak telah muncul seperti Master of Science dalam Rekayasa perangkat Lunak (MSE) gelar yang ditawarkan melalui Ilmu Komputer dan Jurusan Teknik di California State University, Fullerton. Steve McConnell berpendapat bahwa karena sebagian besar perguruan tinggi yang mengajarkan ilmu komputer bukan rekayasa perangkat lunak, ada kekurangan sejati insinyur perangkat lunak. ETS Universitas dan UQAM (Université du Québec à Montréal) yang diamanatkan oleh IEEE untuk mengembangkan Software Engineering Body of Knowledge (SWEBOK), yang telah menjadi standar ISO menggambarkan tubuh pengetahuan yang dicakup oleh seorang insinyur perangkat lunak.

Derajat lainnya

Dalam bisnis, beberapa praktisi rekayasa perangkat lunak memiliki SIM atau sistem informasi komputer derajat. Dalam sistem embedded, beberapa teknik listrik, teknik elektronika, ilmu komputer dengan penekanan pada "embedded system" atau teknik komputer derajat, karena perangkat lunak tertanam sering memerlukan pemahaman rinci tentang perangkat keras. Dalam perangkat lunak medis, praktisi mungkin telah informatika medis, medis umum, atau biologi derajat.

Beberapa praktisi matematika, sains, teknik, atau teknologi (BATANG) derajat. Beberapa filsafat (logika secara khusus) atau non-teknis derajat. Misalnya, Barry Boehm meraih gelar dalam matematika. Dan, orang lain tidak memiliki derajat.

Profesi

Kerja

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.

Pengembang perangkat lunak yang bekerja di akademisi di INGGRIS telah didirikan dan dibina konsep "Research Software Engineer" (RSE).

Pekerjaan

Pekerjaan ini adalah berbasis kantor, dan sebagian besar pekerjaan dilakukan selama jam kerja normal, tapi kadang-kadang dapat menyebabkan bekerja dan bekerja sampai larut malam atau selama akhir pekan, tergantung di mana dan ketika klien berada. Pekerjaan juga dapat dilakukan di rumah atau di mana saja di komputer yang ditetapkan. Beberapa profil tinggi perusahaan telah mendorong insinyur perangkat lunak untuk bekerja selama berjam-jam; Apple's Steve Jobs mendirikan sebuah budaya di mana insinyur tidak akan pernah mengambil hari libur dan bekerja sepanjang akhir pekan, namun mencintai apa yang mereka lakukan.

Dampak globalisasi

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.

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.

Hadiah

Ada beberapa penghargaan di bidang rekayasa perangkat lunak:

  • CODiE awards adalah penghargaan tahunan yang dikeluarkan oleh perangkat Lunak dan Informasi Asosiasi Industri untuk keunggulan dalam pengembangan perangkat lunak dalam industri perangkat lunak.
  • Sentakan Awards adalah penghargaan di industri perangkat lunak.
  • Stevens Penghargaan adalah rekayasa perangkat lunak penghargaan yang diberikan dalam memori Wayne Stevens.
  • Penggunaan gelar "Insinyur"

Asal-usul istilah

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.

Kesesuaian jangka

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.

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:

  • keberadaan sekadar istilah telah dasar beberapa sangat dangkal-dan palsu analogi, yang hanya membingungkan masalah ... komputer adalah seperti yang luar biasa gadget yang ada alasan yang baik untuk berasumsi bahwa sebagian besar analogi dengan disiplin lain terlalu dangkal untuk setiap nilai positif, Bahkan jadi dangkal bahwa mereka hanya membingungkan.
  • 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.
  • Individu komentator tidak setuju tajam pada bagaimana mendefinisikan rekayasa perangkat lunak atau legitimasi sebagai sebuah disiplin ilmu teknik. David Parnas telah mengatakan bahwa rekayasa perangkat lunak adalah, pada kenyataannya, suatu bentuk rekayasa. Steve McConnell mengatakan bahwa itu tidak, tapi itu harus. Donald Knuth telah mengatakan bahwa pemrograman adalah sebuah seni dan ilmu pengetahuan. Edsger W. Dijkstra menyatakan bahwa istilah rekayasa perangkat lunak dan perangkat lunak insinyur telah disalahgunakan dan harus dianggap berbahaya, terutama di Amerika Serikat.

Peraturan klasifikasi

Kanada

Di Kanada menggunakan judul tugas Insinyur dikendalikan di masing-masing provinsi dengan self-regulating teknik profesional organisasi yang juga bertugas dengan penegakan undang-undang yang mengatur. Maksudnya adalah bahwa setiap individu memegang sendiri keluar sebagai insinyur telah diverifikasi telah dididik untuk tertentu terakreditasi tingkat dan praktek profesional mereka tunduk pada kode etik dan peer pengawasan. Hal ini juga ilegal untuk menggunakan gelar Insinyur di Kanada kecuali seorang individu berlisensi.

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.

ITU profesional dengan gelar dalam bidang lain (seperti ilmu komputer atau sistem informasi) dilarang menggunakan gelar Insinyur perangkat Lunak, atau kata-kata Insinyur perangkat Lunak dalam judul, tergantung pada provinsi atau wilayah tempat tinggal anda.

Dalam beberapa kasus, kasus-kasus yang telah dibawa ke pengadilan mengenai penggunaan ilegal yang dilindungi gelar Insinyur perangkat Lunak.

Prancis

Di Prancis, istilah ingénieur (insinyur) tidak dilindungi judul dan dapat digunakan oleh siapa saja, bahkan oleh mereka yang tidak memiliki gelar akademis.

Namun, gelar Ingénieur Diplomé (Graduate Engineer) adalah aplikasi resmi gelar akademik yang dilindungi oleh pemerintah dan berhubungan dengan Diplôme d'Ingénieur, yang merupakan salah satu yang paling bergengsi gelar akademik di Prancis.

Islandia

Penggunaan judul tölvunarfræðingur (ilmuwan komputer) dilindungi oleh undang-undang di Islandia. Rekayasa perangkat Lunak adalah yang diajarkan di Ilmu Komputer jurusan di universitas Islandia. Islandia negara hukum bahwa izin harus diperoleh dari Menteri Perindustrian ketika gelar itu diberikan ke luar negeri, sebelum menggunakan judul. Gelar ini diberikan kepada mereka yang telah memperoleh gelar BSc di bidang Ilmu Komputer dari yang diakui lembaga pendidikan tinggi.

Selandia Baru

Di Selandia Baru, Lembaga Insinyur Profesional Selandia Baru (IPENZ), yang lisensi dan mengatur negara chartered engineer (CPEng), mengakui rekayasa perangkat lunak sah sebagai cabang dari teknik profesional dan menerima aplikasi dari perangkat lunak engineers untuk mendapatkan chartered status asalkan dia memiliki tersier tingkat disetujui mata pelajaran. Rekayasa perangkat lunak disertakan sedangkan Ilmu Komputer biasanya tidak.

Amerika Serikat

The Bureau of Labor Statistics (BLS) mengklasifikasikan komputer insinyur perangkat lunak sebagai subkategori dari "ahli komputer", bersama dengan pekerjaan seperti ilmuwan komputer, programmer, administrator jaringan. BLS mengklasifikasikan semua disiplin ilmu teknik, termasuk perangkat keras komputer insinyur, insinyur.

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.

UntukTexas dan Florida adalah di antara negara-negara yang mengatur penggunaan istilah-istilah seperti insinyur komputer dan insinyur perangkat lunak.

Ada juga yang baru Profesional Engineer (PE) ujian yang dimulai pada bulan April 2013 untuk Rekayasa perangkat Lunak khusus sebagai proses yang ketat peraturan bergerak maju.

Sumber: https://id.wikipedia.org/

Selengkapnya
Insinyur Perangkat Lunak

Teknik Elektro dan Informatika

Apa itu Perangkat Lunak?

Dipublikasikan oleh Dewi Sulistiowati pada 27 Februari 2025


Perangkat lunak adalah kumpulan program dan data yang memberi tahu komputer bagaimana melakukan tugas tertentu. Perangkat lunak sering kali menyertakan dokumentasi perangkat lunak terkait. Ini berbeda dengan perangkat keras, yang darinya sistem dibangun dan yang benar-benar melakukan pekerjaan.

Pada tingkat pemrograman terendah, kode yang dapat dieksekusi terdiri dari instruksi bahasa mesin yang didukung oleh prosesor individu-biasanya unit pemrosesan pusat (CPU) atau unit pemrosesan grafis (GPU). Bahasa mesin terdiri dari kelompok nilai biner yang menandakan instruksi prosesor yang mengubah keadaan komputer dari keadaan sebelumnya. Sebagai contoh, sebuah instruksi dapat mengubah nilai yang tersimpan di lokasi penyimpanan tertentu di komputer - sebuah efek yang tidak dapat diamati secara langsung oleh pengguna. Instruksi juga dapat memanggil salah satu dari banyak operasi input atau output, misalnya, menampilkan beberapa teks pada layar komputer, menyebabkan perubahan status yang seharusnya terlihat oleh pengguna. Prosesor menjalankan instruksi sesuai urutan yang diberikan, kecuali jika diinstruksikan untuk "melompat" ke instruksi yang berbeda atau diinterupsi oleh sistem operasi. Pada tahun 2024, sebagian besar komputer pribadi, perangkat ponsel cerdas, dan server memiliki prosesor dengan beberapa unit eksekusi, atau beberapa prosesor yang melakukan komputasi secara bersamaan, sehingga komputasi telah menjadi aktivitas yang jauh lebih bersamaan daripada di masa lalu.

Mayoritas perangkat lunak ditulis dalam bahasa pemrograman tingkat tinggi, misalnya Python, JavaScript, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C#, dan Java. Bahasa pemrograman ini lebih mudah dan lebih efisien bagi para programmer karena lebih dekat dengan bahasa alamiah daripada bahasa mesin.[2] Bahasa tingkat tinggi diterjemahkan ke dalam bahasa mesin dengan menggunakan kompilator, penerjemah, atau kombinasi keduanya. Perangkat lunak juga dapat ditulis dalam bahasa rakitan tingkat rendah, misalnya C, C++, Assembly, dan Fortran. Bahasa rakitan memiliki korespondensi yang kuat dengan instruksi bahasa mesin komputer dan diterjemahkan ke dalam bahasa mesin menggunakan assembler.

Sejarah

Algoritma untuk perangkat lunak pertama ditulis oleh Ada Lovelace pada abad ke-19, untuk Analytical Engine yang direncanakan. Dia menciptakan bukti untuk menunjukkan bagaimana mesin akan menghitung bilangan Bernoulli. Karena bukti dan algoritmanya, ia dianggap sebagai pemrogram komputer pertama.

Teori pertama tentang perangkat lunak, sebelum terciptanya komputer seperti yang kita kenal sekarang, diusulkan oleh Alan Turing dalam esainya tahun 1936, On Computable Numbers, dengan Aplikasi pada Entscheidungsproblem (masalah keputusan). Hal ini pada akhirnya mengarah pada penciptaan bidang akademis ilmu komputer dan rekayasa perangkat lunak; kedua bidang tersebut mempelajari perangkat lunak dan pembuatannya. Ilmu komputer adalah studi teoritis tentang komputer dan perangkat lunak (esai Turing adalah contoh dari ilmu komputer), sedangkan rekayasa perangkat lunak adalah penerapan prinsip-prinsip rekayasa untuk pengembangan perangkat lunak.

Pada tahun 2000, Fred Shapiro, seorang pustakawan di Yale Law School, menerbitkan sebuah surat yang mengungkapkan bahwa makalah John Wilder Tukey pada tahun 1958 yang berjudul "The Teaching of Concrete Mathematics" berisi penggunaan istilah "perangkat lunak" yang paling awal yang ditemukan dalam pencarian arsip elektronik JSTOR, yang mendahului kutipan Kamus Bahasa Inggris Oxford selama dua tahun. Hal ini membuat banyak orang memuji Tukey sebagai pencipta istilah tersebut, terutama dalam berita kematian yang diterbitkan pada tahun yang sama, meskipun Tukey tidak pernah mengklaim kredit untuk istilah tersebut. Pada tahun 1995, Paul Niquette mengklaim bahwa dia yang pertama kali menciptakan istilah ini pada bulan Oktober 1953, meskipun dia tidak dapat menemukan dokumen yang mendukung klaimnya. Publikasi paling awal yang diketahui tentang istilah "perangkat lunak" dalam konteks teknik adalah pada bulan Agustus 1953 oleh Richard R. Carhart, dalam Memorandum Penelitian Rand Corporation.

Jenis

Pada hampir semua platform komputer, perangkat lunak dapat dikelompokkan ke dalam beberapa kategori besar.

Tujuan, atau domain penggunaan

Berdasarkan tujuannya, perangkat lunak komputer dapat dibagi menjadi:

  • Perangkat lunak aplikasi menggunakan sistem komputer untuk menjalankan fungsi khusus di luar operasi dasar komputer itu sendiri. Ada banyak jenis perangkat lunak aplikasi yang berbeda karena berbagai tugas yang dapat dilakukan dengan komputer modern sangat banyak-lihat daftar perangkat lunak.
  • Perangkat lunak sistem mengatur perilaku perangkat keras, untuk menyediakan fungsi dasar yang diperlukan oleh pengguna, atau agar perangkat lunak lain dapat berjalan dengan baik, jika ada. Perangkat lunak sistem juga dirancang untuk menyediakan platform untuk menjalankan perangkat lunak aplikasi, dan ini mencakup hal-hal berikut:
  • Sistem operasi adalah kumpulan perangkat lunak penting yang mengelola sumber daya dan menyediakan layanan umum untuk perangkat lunak lain yang berjalan "di atasnya". Program pengawas, pemuat boot, shell, dan sistem jendela adalah bagian inti dari sistem operasi. Pada praktiknya, sistem operasi dibundel dengan perangkat lunak tambahan (termasuk perangkat lunak aplikasi) sehingga pengguna berpotensi melakukan beberapa pekerjaan dengan komputer yang hanya memiliki satu sistem operasi.
  • Driver perangkat mengoperasikan atau mengontrol jenis perangkat tertentu yang terpasang pada komputer. Setiap perangkat membutuhkan setidaknya satu driver perangkat yang sesuai; karena komputer biasanya memiliki setidaknya satu perangkat input dan setidaknya satu perangkat output, komputer biasanya membutuhkan lebih dari satu driver perangkat.
  • Utilitas adalah program komputer yang dirancang untuk membantu pengguna dalam pemeliharaan dan perawatan komputer mereka.
  • Perangkat lunak berbahaya, atau malware, adalah perangkat lunak yang dikembangkan untuk merusak atau mengganggu komputer. Malware sangat erat kaitannya dengan kejahatan yang berhubungan dengan komputer, meskipun beberapa program jahat mungkin dirancang sebagai lelucon.

Sifat atau domain eksekusi

Aplikasi desktop seperti peramban web dan Microsoft Office dan LibreOffice dan WordPerfect, serta aplikasi ponsel cerdas dan tablet (disebut "aplikasi").

Skrip JavaScript adalah perangkat lunak yang secara tradisional disematkan dalam halaman web yang dijalankan langsung di dalam browser web saat halaman web dimuat tanpa memerlukan plugin browser web. Perangkat lunak yang ditulis dalam bahasa pemrograman lain juga dapat dijalankan di dalam peramban web jika perangkat lunak tersebut diterjemahkan ke dalam JavaScript, atau jika plugin peramban web yang mendukung bahasa tersebut diinstal; contoh yang paling umum dari yang terakhir adalah skrip ActionScript, yang didukung oleh plugin Adobe Flash.

Perangkat lunak server, termasuk:

  • Aplikasi web, yang biasanya berjalan di server web dan menampilkan halaman web yang dibuat secara dinamis ke browser web, menggunakan misalnya PHP, Java, ASP.NET, atau bahkan JavaScript yang berjalan di server. Di zaman modern ini biasanya menyertakan beberapa JavaScript untuk dijalankan di peramban web juga, dalam hal ini mereka biasanya berjalan sebagian di server, sebagian di peramban web.
  • Plugin dan ekstensi adalah perangkat lunak yang memperluas atau memodifikasi fungsionalitas perangkat lunak lain, dan mengharuskan perangkat lunak tersebut digunakan agar dapat berfungsi.
  • Perangkat lunak yang disematkan berada sebagai firmware di dalam sistem yang disematkan, perangkat yang didedikasikan untuk penggunaan tunggal atau beberapa penggunaan seperti mobil dan televisi (meskipun beberapa perangkat yang disematkan seperti chipset nirkabel dapat menjadi bagian dari sistem komputer biasa yang tidak disematkan seperti PC atau ponsel cerdas). Dalam konteks sistem tertanam, terkadang tidak ada perbedaan yang jelas antara perangkat lunak sistem dan perangkat lunak aplikasi. Namun, beberapa sistem tertanam menjalankan sistem operasi tertanam, dan sistem ini mempertahankan perbedaan antara perangkat lunak sistem dan perangkat lunak aplikasi (meskipun biasanya hanya akan ada satu aplikasi tetap yang selalu dijalankan).
  • Microcode adalah jenis perangkat lunak tertanam khusus yang relatif tidak jelas yang memberi tahu prosesor itu sendiri cara menjalankan kode mesin, jadi sebenarnya ini adalah tingkat yang lebih rendah dari kode mesin. Ini biasanya merupakan hak milik produsen prosesor, dan setiap pembaruan perangkat lunak mikrokode pemasyarakatan yang diperlukan diberikan oleh mereka kepada pengguna (yang jauh lebih murah daripada pengiriman perangkat keras prosesor pengganti). Dengan demikian, seorang programmer biasa tidak akan berharap untuk berurusan dengannya.

Alat pemrograman

Alat pemrograman juga merupakan perangkat lunak dalam bentuk program atau aplikasi yang digunakan pengembang untuk membuat, men-debug, memelihara, atau mendukung perangkat lunak.

Perangkat lunak ditulis dalam satu atau lebih bahasa pemrograman; ada banyak bahasa pemrograman yang ada, dan masing-masing memiliki setidaknya satu implementasi, yang masing-masing terdiri dari seperangkat alat pemrogramannya sendiri. Alat-alat ini dapat berupa program yang relatif mandiri seperti kompiler, debugger, penerjemah, penghubung, dan editor teks, yang dapat digabungkan untuk menyelesaikan suatu tugas; atau mereka dapat membentuk lingkungan pengembangan terintegrasi (IDE), yang menggabungkan sebagian besar atau semua fungsionalitas alat mandiri tersebut. IDE dapat melakukan hal ini dengan menggunakan alat individual yang relevan atau dengan mengimplementasikan kembali fungsionalitasnya dengan cara yang baru. IDE dapat mempermudah untuk melakukan tugas-tugas tertentu, seperti mencari file dalam proyek tertentu. Banyak implementasi bahasa pemrograman yang menyediakan pilihan untuk menggunakan alat individual atau IDE.

Topik

Arsitektur

Orang yang menggunakan komputer serba guna modern (bukan sistem tertanam, komputer analog, dan superkomputer) biasanya melihat tiga lapisan perangkat lunak yang melakukan berbagai tugas: platform, aplikasi, dan perangkat lunak pengguna.

  • Perangkat lunak platform: Platform mencakup firmware, driver perangkat, sistem operasi, dan biasanya antarmuka pengguna grafis yang, secara keseluruhan, memungkinkan pengguna untuk berinteraksi dengan komputer dan periferal (peralatan terkait). Perangkat lunak platform sering kali dibundel dengan komputer. Pada PC, biasanya memiliki kemampuan untuk mengubah perangkat lunak platform.
  • Perangkat lunak aplikasi: Perangkat lunak aplikasi adalah apa yang kebanyakan orang pikirkan ketika mereka memikirkan perangkat lunak. Contoh umum termasuk aplikasi perkantoran dan permainan video. Perangkat lunak aplikasi sering kali dibeli secara terpisah dari perangkat keras komputer. Terkadang aplikasi dibundel dengan komputer, tetapi itu tidak mengubah fakta bahwa aplikasi tersebut berjalan sebagai aplikasi independen. Aplikasi biasanya merupakan program independen dari sistem operasi, meskipun sering kali dirancang untuk platform tertentu. Sebagian besar pengguna menganggap kompiler, basis data, dan "perangkat lunak sistem" lainnya sebagai aplikasi.
  • Perangkat lunak yang ditulis oleh pengguna: Pengembangan pengguna akhir menyesuaikan sistem untuk memenuhi kebutuhan spesifik pengguna. Perangkat lunak pengguna mencakup templat spreadsheet dan templat pengolah kata.[rujukan] Bahkan filter email juga merupakan jenis perangkat lunak pengguna. Pengguna membuat perangkat lunak ini sendiri dan sering kali mengabaikan betapa pentingnya perangkat lunak ini. Tergantung pada seberapa kompeten perangkat lunak yang ditulis oleh pengguna telah diintegrasikan ke dalam paket aplikasi default, banyak pengguna mungkin tidak menyadari perbedaan antara paket asli dan apa yang telah ditambahkan oleh rekan kerja.

Eksekusi

Perangkat lunak komputer harus "dimuat" ke dalam penyimpanan komputer (seperti hard drive atau memori). Setelah perangkat lunak dimuat, komputer dapat menjalankan perangkat lunak tersebut. Hal ini melibatkan pengiriman instruksi dari perangkat lunak aplikasi, melalui perangkat lunak sistem, ke perangkat keras yang pada akhirnya menerima instruksi sebagai kode mesin. Setiap instruksi menyebabkan komputer melakukan operasi-memindahkan data, melakukan komputasi, atau mengubah aliran kontrol instruksi.

Pemindahan data biasanya dari satu tempat di memori ke tempat lain. Kadang-kadang melibatkan pemindahan data antara memori dan register yang memungkinkan akses data berkecepatan tinggi di CPU. Memindahkan data, terutama dalam jumlah besar, dapat menjadi mahal; hal ini terkadang dihindari dengan menggunakan "penunjuk" ke data sebagai gantinya.[rujukan] Komputasi mencakup operasi sederhana seperti menambah nilai elemen data variabel. Komputasi yang lebih kompleks dapat melibatkan banyak operasi dan elemen data secara bersamaan.

Kualitas dan keandalan

Kualitas perangkat lunak sangat penting, terutama untuk perangkat lunak komersial dan sistem. Jika perangkat lunak rusak, perangkat lunak tersebut dapat menghapus pekerjaan seseorang, merusak komputer, dan melakukan hal-hal yang tidak terduga lainnya. Kesalahan dan kesalahan disebut "bug" yang sering ditemukan selama pengujian alfa dan beta. Perangkat lunak sering juga menjadi korban dari apa yang dikenal sebagai penuaan perangkat lunak, penurunan kinerja progresif yang dihasilkan dari kombinasi bug yang tidak terlihat.

Banyak bug yang ditemukan dan diperbaiki melalui pengujian perangkat lunak. Namun, pengujian perangkat lunak jarang - jika tidak pernah - menghilangkan semua bug; beberapa programmer mengatakan bahwa "setiap program memiliki setidaknya satu bug" (Hukum Lubarsky). Dalam metode pengembangan perangkat lunak waterfall, tim penguji terpisah biasanya dipekerjakan, tetapi dalam pendekatan yang lebih baru, yang secara kolektif disebut pengembangan perangkat lunak lincah, pengembang sering melakukan semua pengujian sendiri, dan mendemonstrasikan perangkat lunak kepada pengguna / klien secara teratur untuk mendapatkan umpan balik. Perangkat lunak dapat diuji melalui pengujian unit, pengujian regresi, dan metode lain, yang dilakukan secara manual, atau yang paling umum, secara otomatis, karena jumlah kode yang harus diuji bisa sangat besar.

Lisensi

Lisensi perangkat lunak memberikan hak kepada pengguna untuk menggunakan perangkat lunak dalam lingkungan berlisensi, dan dalam kasus lisensi perangkat lunak bebas, juga memberikan hak lain seperti hak untuk membuat salinan.

Perangkat lunak berpemilik dapat dibagi menjadi dua jenis:

freeware, yang mencakup kategori perangkat lunak "uji coba gratis" atau perangkat lunak "freemium" (di masa lalu, istilah shareware sering digunakan untuk perangkat lunak uji coba gratis/freemium). Seperti namanya, freeware dapat digunakan secara gratis, meskipun dalam kasus perangkat lunak uji coba gratis atau perangkat lunak freemium, hal ini terkadang hanya berlaku untuk jangka waktu terbatas atau dengan fungsionalitas terbatas.

Perangkat lunak berbayar tersedia dengan biaya, yang hanya dapat digunakan secara legal dengan membeli lisensi.

Perangkat lunak sumber terbuka hadir dengan lisensi perangkat lunak gratis, yang memberikan hak kepada penerima untuk memodifikasi dan mendistribusikan ulang perangkat lunak tersebut.

Paten

Paten perangkat lunak, seperti jenis paten lainnya, secara teoritis seharusnya memberikan penemu sebuah lisensi eksklusif dan terbatas waktu untuk ide terperinci (misalnya algoritma) tentang cara mengimplementasikan sebuah perangkat lunak, atau komponen dari sebuah perangkat lunak. Ide-ide untuk hal-hal berguna yang dapat dilakukan oleh perangkat lunak, dan kebutuhan pengguna, tidak seharusnya dipatenkan, dan implementasi konkret (yaitu paket perangkat lunak aktual yang mengimplementasikan paten) juga tidak seharusnya dipatenkan - yang terakhir ini sudah dilindungi oleh hak cipta, umumnya secara otomatis. Jadi paten perangkat lunak seharusnya mencakup area tengah, antara persyaratan dan implementasi konkret. Di beberapa negara, persyaratan untuk penemuan yang diklaim memiliki efek pada dunia fisik juga dapat menjadi bagian dari persyaratan agar paten perangkat lunak dianggap sah - meskipun karena semua perangkat lunak yang berguna memiliki efek pada dunia fisik, persyaratan ini mungkin terbuka untuk diperdebatkan. Sementara itu, hukum hak cipta Amerika diterapkan pada berbagai aspek penulisan kode perangkat lunak.

Paten perangkat lunak merupakan hal yang kontroversial dalam industri perangkat lunak dengan banyak orang yang memiliki pandangan yang berbeda mengenai hal tersebut. Salah satu sumber kontroversi adalah bahwa pemisahan yang disebutkan di atas antara ide awal dan paten tampaknya tidak dihormati dalam praktiknya oleh pengacara paten - misalnya paten untuk pemrograman berorientasi aspek (AOP), yang dimaksudkan untuk mengklaim hak atas alat pemrograman apa pun yang mengimplementasikan ide AOP, bagaimana pun implementasinya. [Sumber kontroversi lainnya adalah efeknya terhadap inovasi, dengan banyak ahli dan perusahaan terkemuka yang berpendapat bahwa perangkat lunak adalah bidang yang bergerak cepat sehingga paten perangkat lunak hanya menimbulkan biaya dan risiko litigasi tambahan yang sangat besar, dan sebenarnya menghambat inovasi. Dalam kasus perdebatan tentang paten perangkat lunak di luar Amerika Serikat, argumen yang dibuat adalah bahwa perusahaan-perusahaan besar di Amerika Serikat dan pengacara paten kemungkinan besar akan menjadi penerima manfaat utama dalam mengizinkan atau terus mengizinkan paten perangkat lunak.

Desain dan implementasi

Desain dan implementasi perangkat lunak bervariasi tergantung pada kompleksitas perangkat lunak. Sebagai contoh, perancangan dan pembuatan Microsoft Word membutuhkan lebih banyak waktu daripada merancang dan mengembangkan Microsoft Notepad karena Microsoft Notepad memiliki fungsionalitas yang lebih mendasar.

Perangkat lunak biasanya dikembangkan dalam lingkungan pengembangan terintegrasi (IDE) seperti Eclipse, IntelliJ, dan Microsoft Visual Studio yang dapat menyederhanakan proses dan kompilasi perangkat lunak. Seperti yang telah disebutkan di bagian lain, perangkat lunak biasanya dibuat di atas perangkat lunak yang sudah ada dan antarmuka pemrograman aplikasi (API) yang disediakan oleh perangkat lunak yang mendasarinya seperti GTK+, JavaBeans, atau Swing.[rujukan] Pustaka (API) dapat dikategorikan berdasarkan tujuannya. Sebagai contoh, Spring Framework digunakan untuk mengimplementasikan aplikasi perusahaan, perpustakaan Windows Forms digunakan untuk mendesain aplikasi antarmuka pengguna grafis (GUI) seperti Microsoft Word, dan Windows Communication Foundation digunakan untuk mendesain layanan web. Ketika sebuah program dirancang, itu bergantung pada API. Misalnya, aplikasi desktop Microsoft Windows dapat memanggil fungsi API di perpustakaan Formulir Windows .NET Windows seperti Form1.Close () dan Form1.Show () untuk menutup atau membuka aplikasi. Tanpa API ini, programmer perlu menulis fungsi-fungsi ini sendiri. Perusahaan seperti Oracle dan Microsoft menyediakan API mereka sendiri sehingga banyak aplikasi yang ditulis menggunakan pustaka perangkat lunak mereka yang biasanya memiliki banyak API di dalamnya.

Struktur data seperti tabel hash, array, dan pohon biner, serta algoritma seperti quicksort, dapat berguna untuk membuat perangkat lunak.

Perangkat lunak komputer memiliki karakteristik ekonomi khusus yang membuat desain, pembuatan, dan distribusinya berbeda dari kebanyakan barang ekonomi lainnya.

Seseorang yang membuat perangkat lunak disebut programmer, insinyur perangkat lunak, atau pengembang perangkat lunak, istilah-istilah yang memiliki arti yang sama. Istilah yang lebih informal untuk programmer juga ada seperti "coder" dan "hacker" - meskipun penggunaan kata yang terakhir dapat menyebabkan kebingungan, karena lebih sering digunakan untuk mengartikan seseorang yang membobol sistem komputer secara ilegal.

Disadur dari: https://en.wikipedia.org/

Selengkapnya
Apa itu Perangkat Lunak?
« First Previous page 501 of 1.096 Next Last »