Minggu, 19 September 2021

REKAYASA PERANGKAT LUNAK

 PERANGKAT LUNAK

Perangkat lunak atau software adalah sekumpulan data elektronik yang tersimpan dan dikendalikan oleh perangkat komputer. Data elektronik tersebut meliputi instruksi atau program yang nantinya akan menjalankan perintah khusus. Perangkat lunak juga disebut sebagai bagian sistem dalam komputer yang tidak memiliki wujud fisik yang diinstal dalam sebuah komputer atau laptop agar bisa dioperasikan.

KARAKTERISTIK  PERANGKAT LUNAK

Berikut ini adalah beberapa karakteristik rekayasa perangkat lunak yaitu:

  1. Sebuah Perangkat Lunak itu dikembangkan dan tidak diproduksi masal seperti pada umumnya perangkat keras. Disini sebuah perangkat lunak hanya dibuat satu dan tidak dibuat dalam jumlah yang banyak sedangkan perangkat keras dibuat dalam jumlah besar.
  2. Sebuah Perangkat Lunak tidak pernah Usang. Hal ini sangat berbeda dengan perangkat keras, dimana sebuah perangkat keras akan usang dimakan waktu. Perhatikan saat kita membeli sebuah Gadget dengan Spek Processor Snapdragon 835, Ram 8 GB, Rom 64 GB, Kamera 16 MB, maka perangkat Gadget ini semakin lama akan usang dan dengan ditandai biasanya adalah PERFORMANSI dari Perangkat Keras yang menurun, Harga yang semakin murah, dan lain-lainnya (Soumyakanti, 2017).
  3. Beberapa Perangkat Lunak dikembangkan secara custom (pesanan) sedangkan Perangkat Keras dikembangkan berdasarkan sistem Component-Based Assembly. Disini sebuah perangkat lunak selain dikembangkan dengan cara umumnya, beberapa perangkat lunak juga ada yang dikembangkan dengan cara pesanan.

KATEGORI PERANGKAT LUNAK

1. Perangkat Lunak Sistem Operasi

Perangkat lunak sistem operasi berfungsi untuk mengendalikan seluruh sistem kerja mendasar yang ada di komputer. Jenis perangkat ini merupakan platform yang memungkinkan perangkat lunak dan aplikasi lain untuk dapat berfungsi. Sistem operasi mengatur segala proses, termasuk mengelola memori, menerjemahkan input, output, tabel pengkodean, dll. Pada intinya, Perangkat ini menghubungkan pengguna, perangkat keras, dan perangkat lunak aplikasi agar dapat digunakan sebagai secara bersamaan. Contoh dari perangkat lunak sistem operasi adalah Microsoft Windows, linux, Mac, IOS Apple, Google Android, dan OS Windows Phone.

2. Perangkat Lunak Aplikasi

Sesuai namanya, macam perangkat lunak ini adalah deretan aplikasi atau program yang tersedia di komputermu yang biasa digunakan untuk membantu menyelesaikan tugas tertentu. Aplikasi menjadi jenis software yang paling sering digunakan oleh banyak orang sekaligus dikenal sebagai perangkat non esensial yang berarti harus diinstal terlebih dahulu dan dioperasikan sesuai kebutuhan penggunanya. Contohnya seperti Adobe Photoshop, Skype, Adobe Premiere, Ms. Excel, dan masih banyak lagi.

3. Perangkat Lunak Pemrograman 

Perangkat lunak Pemrograman adalah software yang berguna untuk menerjemahkan instruksi-instruksi dari bahasa program ke kode bahasa mesin melalui prosedur tertentu agar dapat diterima dan dibaca oleh komputer. Perangkat lunak ini umumnya digunakan oleh seorang programmer untuk menerjemahkan, menulis, menguji, mengembangkan, hingga men-debug software lain, seperti perangkat lunak sistem dan perangkat lunak aplikasi. Misalnya saja Python, PHP, Java, C ++, BASIC,  COBOL, FORTRAN, dan Pascal.

Terdapat 3 level bahasa pemrograman, yakni:

1.    Bahasa tingkat rendah (low level language)

Bahasa ini disebut juga sebagai bahasa mesin di mana pengkodeannya menggunakan angka 0 dan 1.

2.    Bahasa tingkat tinggi (high level language)

Pengkodean bahasa pemrograman ini menggunakan bahasa Inggris. Beberapa contohnya seperti yang telah disebutkan di atas yaitu BASIC,  COBOL, FORTRAN, dll.

3.    Bahasa generasi keempat (4 GL)

Bahasa ini berfokus terhadap objek atau yang dikenal dengan Object Oriented Programming (OOP). Contohnya adalah Delphi, Visual Basic, Visual C++.

4. Perangkat Lunak Tambahan/Program Bantu (Utility)

Software ini merupakan aplikasi yang berguna untuk membantu pengelolaan komputer, seperti mengkompres file, melindungi sistem, memformat disket, mengkopi data, mengatur harddisk, dan lain-lain. Contohnya seperti Winzip, Antivirus, Scandisk, Norton Utility, dan Defragment.

JENIS PERANGKAT LUNAK

1.    Perangkat Lunak Berbayar – Software yang mengharuskan penggunanya untuk membayar dengan harga tertentu untuk bisa menggunakan perangkat lunak tersebut. Meskipun sudah dibeli, namun lisensi untuk menyebarluaskan tidak diberikan kepada pengguna, karena tindakan tersebut termasuk ilegal. Contoh software berbayar adalah Adobe Photoshop, Microsoft Office, Microsoft Windows dan sebagainya.

2.    Freeware – Perangkat lunak ini gratis dan dapat digunakan tanpa batas waktu tertentu. Biasanya pengembang software membuat perangkat lunak ini untuk komunitas tertentu. Hak cipta tetap dipertahankan sehingga siapa saja dapat melakukan update software terbaru. Contoh software freeware adalah Google Chrome, Mozilla Firefox, dan sebagainya.

3.    Free Software – Pengguna harus membeli perangkat lunak ini terlebih dahulu, setelah itu pengguna bebas untuk melakukan penggandaan, modifikasi, hingga distribusi.

4.    Shareware – Perangkat lunak yang dibagikan secara gratis untuk keperluan tertentu. Biasanya sebagai uji coba dengan fitur terbatas, dan penggunaan dengan waktu yang terbatas (biasanya 15 atau 30 hari). Shareware dibagikan secara gratis untuk memberikan pengguna kesempatan untuk mencoba menggunakan program sebelum membeli lisensi versi lengkap dari perangkat lunak tersebut. 

5.    Malware – Perangkat lunak ini dianggap sebagai perusak, sehingga bisa berbahaya jika disalahgunakan. Tujuan perangkat lunak ini untuk menyusup, bahkan merusak sistem jaringan komputer. Contoh malware adalah spyware (perangkat lunak pengintai), adware (perangkat lunak untuk iklan yang tidak jujur), virus komputer, dan software lainnya yang dibuat dengan tujuan merugikan.

6.    Open Source Software – Perangkat lunak yang bersifat terbuka, sehingga kode sumbernya dapat dipelajari, dimodifikasi, ditingkatkan dan disebarluaskan. Perangkat ini biasanya diperoleh secara gratis dan digunakan oleh komunitas tertentu untuk dikembangkan dengan lisensi GPL (General Public License). Contoh perangkat lunak ini adalah Linux, yang fungsinya setara dengan Microsoft Windows.

7.    Firmware – Perangkat lunak penyimpanan yang hanya dapat dibaca, atau Memory Read OnlySoftware ini bersifat paten sehingga tidak bisa dilakukan modifikasi atau pengembangan meskipun terdapat masalah dalam fungsinya. Biasanya firmware telah menyatu dengan perangkat keras, sehingga dianggap bukan perangkat lunak seutuhnya.

PERANGKAT LUNAK WARISAN

Dalam komputasi, sistem warisan adalah metode lama, teknologi, sistem komputer, atau program aplikasi, “dari, berhubungan dengan, atau menjadi sebuah sistem komputer sebelumnya atau usang.” 

Sistem Perangkat Lunak warisan yg berumur lebih dari beberapa tahun menjadi mahal utk diubah karena beberapa alasan :

1.    Berbagai bagian sistem diimplementasi oleh tim yg berbeda. Tidak ada gaya pemrograman yg konsisten diseluruh sistem.

2.    Sebagian/seluruh sistem diimplementasikan dengan bahasa program bahasa program lama. Outsourcing yg mahal dari pemeliharaan sistem mungkin terjadi karena staf yg bersangkutan tidak paham dengan bahasa program tsb.

3.    Dokumentasi sistem sering tidak memadai.

4.    Pemeliharaan bertahun-tahun biasanya merusak struktur sistem sehingga semakin sulit dipahami.

5.    Sistem telah dioptimasi untuk pemakaian ruang & kecepatan eksekusi & tidak ditulis utk dipahami.

6.    Data yg diolah sistem mungkin disimpan di file yg berbeda & struktur filenya tidak kompatibel. Mungkin ada duplikasi data, data tidak akurat & tidak lengkap

KEGAGALAN PERANGKAT LUNAK

Saat ini, sebagian besar bisnis sangat bergantung pada software untuk operasi sehari-hari, baik secara internal maupun eksternal yang berhubungan dengan pelanggan. Akibatnya, menjadi semakin jelas bahwa kegagalan perangkat lunak sedang meningkat dan berdampak besar pada organisasi global. Tingkat kegagalan proyek perangkat lunak berkisar antara 50% – 80%.

Berikut merupakan berbagai penyebab kegagalan perangkat lunak yang paling umum:

  • Perhitungan yang salah 
  • Pengeditan data salah 
  • Pengeditan data tidak efektif 
  • Pengkodean / implementasi aturan bisnis yang salah 
  • Kinerja perangkat lunak yang tidak memadai 
  • Data yang membingungkan atau menyesatkan 
  • Perangkat lunak yang sulit digunakan 
  • Perangkat lunak usang 
  • Pemrosesan tidak konsisten
  • Sulit untuk memelihara dan memahami 
  • Hasil atau kinerja yang tidak dapat diandalkan
  • Dukungan kebutuhan atau tujuan bisnis yang tidak memadai
  • Tidak lagi didukung oleh vendor
  • Antarmuka yang salah atau tidak memadai dengan sistem lain 
  • Pencocokan dan penggabungan data yang salah 
  • Pencarian data yang menghasilkan hasil yang salah 
  • Pemrosesan hubungan data yang salah 
  • Penanganan file dan data salah 
  • Kontrol keamanan tidak memadai
  • Ketidakmampuan untuk menangani kapasitas data produksi

REKAYASA PERANGKAT LUNAK

Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.

PROSES PERANGKAT LUNAK

Proses perangkat lunak (Software 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.

PRAKTEK REKAYASA PERANGKAT LUNAK

Praktek rekayasa perangkat lunak mencakup prinsip-prinsip, konsep, metode dan alat-alat yang menerapkan seluruh proses perangkat lunak. Setiap proyek rekayasa perangkat lunak berbeda namun, satu set dari prinsip-prinsip umum berlaku untuk proses secara keseluruhan dan praktek dari setiap aktivitas kerangka terlepas dari proyek atau produk.

MITOS REKAYASA PERANGKAT LUNAK

1.    Mitos managements 

A.    Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah kita lakukan 10 tahun yang lalu.

Realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments

B.    Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software.

Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah  ketinggalan jaman ( out of date ).

C.    Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa programmer saja. Konsep ini sering disebut Mongolian harde concept.

2.    Mitos Langganan / Customer

A.    Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian.

Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan terhadap usaha-usaha pem- bentukkan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adalah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer.

B.    Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena software itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari peru- bahan berbeda dari waktu ke waktu. 

 



Kesimpulan : Jika perubahan mendekati akhir penyelesaian, maka biaya akan lebih besar.

3.    Mitos Praktisi

A.    Tidak ada metode untuk analisis disain dan testing terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding.

Realitasnya : Metode untuk analisis desain dan testing diperlukan dalam pengembangan software.

B.    Segera setelah software digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara “CATCH AS CATCH CAM”.

Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir dan direncanakan.

1

Senin, 13 September 2021

CLOUD COMPUTING

Cloud Computing merupakan istilah yang sudah sering kita dengar. Namun, masih sedikit yang mengerti apa itu Definisi,Fungsi dan Cara Kerja Cloud Computing dalam kehidupan sehari – hari. Pada perusahaan – perusahaan maupun organisasi besar pengaruh Cloud Computing untuk memudahkan dalam berinteraksi dari satu komputer dengan komputer lainnya tanpa memakan banyak biaya. Dalam penerapannya, Cloud Computing hanya membutuhkan jaringan internet, hal ini dikarenakan Cloud Computing memiliki server yang terpusat.


Defisini Cloud Computing

Cloud Computing merupakan istilah dari Cloud yang diartikan sebagai internet dan Computing diartikan sebagai komputer. Definisi dari Cloud Computing adalah sebuah proses pengolahan daya komputasi  melalui jaringan internet  yang memiliki fungsi agar dapat menjalankan program melalui komputer yang telah terkoneksi satu sama lain pada waktu yang sama.

Cloud Computing merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Cloud Computing memudahkan penggunanya untuk menjalankan program tanpa harus menginstall aplikasi terlebih dahulu dan memudahkan pengguna untuk mengakses data dan informasi melalui internet.

Hal ini akan menghemat biaya operasional juga menghemat waktu karena tidak memerlukan hardisk berkapasitas besar untuk menyimpan setiap file software. Seperti misalnya data microsoft word yang cukup diinstal satu kali pada server lalu bisa digunakan di komputer lainnya tanpa harus repot-repot melakukan penginstalan kembali. 


Cara Kerja Sistem Cloud Computing

 

 

Teknologi Cloud Computing ini menjadikan internet sebagai pusat server dalam mengelelola data. Sistem ini memudahkan pengguna untuk login ke internet agar mendapatkan akses untuk menjalankan program atau aplikasi tanpa harus menginstall aplikasi tersebut.

Karena tidak perlu melakukan installasi pada aplikasi, maka untuk media penyimpanan data dari pengguna juga disimpan secara virtual sehingga tidak akan terbebani dengan penggunaan memori yang ada di komputer. Peritah – perintah yang digunakan oleh pengguna tadi  selanjutnya akan dilanjutkan ke server aplikasi.

Setelah perintah diterima oleh sever aplikasi, maka data akan diproses yang akhirnya pengguna akan menerima halaman yang telah diperbaharui sesuai dengan perintah yang telah diberikan sebelumnya. Contoh dari Cloud Computing adalah Yahoo, PDF Gmail, Google Drive.

Perintah yang diberikan dalam penggunaan aplikasi tersebut akan langsung terintegrasi secara langsung dengan sistem Cloud Computing yang ada di komputer. Pengguna hanya memerlukan jaringan internet agar dapat menjalankan aplikasi tersebut tanpa perlu melakukan instalasi.


Fungsi Cloud Computing

Dalam kehidupan sehari-hari biasanya kita melihat di perkantoran menggunakan banyak komputer untuk menjalankan perusahaanya. Dengan keadaan seperti ini peningkatan penggunaan komputer semakin meningkat, sehingga membuat pengguna harus menggunakan media penyimpanan yang lebih besar dan menjadi prioritas di segala  bidang. Terlebih pada sektor bisnis yang memerlukan teknologi yang berkapasitas tinggi dengan biaya yang mahal.Hal ini menjadikan Cloud Computing menjadi solusi dari permasalahan ini karena merupakan teknologi yang bagus dan murah.

Selain murah, Cloud Computing memiliki media penyimpanan, fleksibel dan efisien untuk diterapkan dalam sektor bisnis . Cloud Computing juga menjadi solusi untuk menurunkan permintaan hardware dan software pengguna.

Dari sisi Perusahaan juga memiliki keuntungan yang sama, dalam penggunaan Cloud Computing. Penerapan ini contohnya Gmail, Hotmail, Yahoo, Google Drive bahkan sudah didukung teknologi ini. Saat proses mengkaskes layanan email ini, anda akan menyimpan informasi di server cloud. Berikut ini beberapa manfaat dari Cloud Computing, yaitu :

  • Media Penyimpanan Terpusat pada Server

Teknologi Cloud Computing memudahkan pengguna untuk menyimpan data secara terpusat di satu server sesuai layanan yang sudah di sediakan oleh Cloud Computing. Selain itu, dari segi infrastruktur pengguna tidak tidak perlu lagi menyediakannya seperti data center, media penyimpanan, sudah tersedia secara virtual oleh Cloud Computing.

  • Keamanan Data

Dalam penerapan teknologi Cloud Computing penyedia Cloud Computing telah menyediakan jaminan data sehingga data tidak mudah corrupt atau rusak , platform teknologi, jaminan ISO. Tentunya dengan Cloud Computing akan membuat data dan informasi Anda bisa lebih aman terjaga dibandingkan metode konventional yang digunakan oleh kebanyakan orang saat ini.

  • Lebih Murah dan Tahan Lama

Cloud Computing tidak memerlukan media penyimpanan storage pada hard disk eksternal karena sudah ada media penyimpanan terpusat pada server. Karena semua produk hardware atau fisik memiliki masa pemakaian dan setelah masa pemakaian tersebut biasanya akan terjadi beberapa kerusakan dan berfungsi tidak optimal dan sering terjadi error.

 

Mengenal Jenis-jenis Layanan Cloud Computing

1.      SAAS (Software as a Service)

Jenis layanan yang satu ini menyediakan aplikasi yang siap pakai yang ditujukan untuk end user atau pengguna terakhir. Sehingga user tidak perlu lagi membuat aplikasi baru. Contoh dari layanan SAAS adalah gmail, twitter, facebook, dan lain sebagainya. Pada layanan tersebut, siapa saja dapat memanfaatkannya untuk berbagai keperluan tanpa harus repot-repot membangun server atau infrastruktur baru.

2.      PAAS (Platform as a Service)

Layanan PAAS berfungsi untuk menyewakan tempat kepada para pengguna aplikasi untuk menjalankan aplikasi tersebut. Contohnya ialah seperti penyediaan database, framework, atau sistem operasi lainnya yang merupakan suatu platform untuk menjalankan aplikasi.

Jadi pada layanan ini pengguna tidak perlu melakukan pengecekan atau maintaince pada platform tersebut karena hal tersebut sudah diatur dalam layanan ini. Dan pengguna bisa fokus untuk membangun aplikasi dan mengembangkannya saja. Beberapa layanan yang menyediakan PAAS diantaranya seperti Amazon Web Service, Windows Azure, dan Google App Engine.

3.      IAAS (Infrastructure as a Service)

Layanan ini menyediakan infrastruktur IT untuk para pengguna akhir yang mana dalam layanan tersebut berbasis data cloud. Infrastruktur yang disediakan bisa bersifat hardware seperti memori, hardisk, atau jenis server tertentu.

Cloud provider pada layanan ini hanya menyediakan infrastruktur sesuai dengan permintaan pengguna. Jadi bila Anda ingin melakukan upgrade atau penambahan infrastruktur tertentu bisa langsung menghubungi penyedia layanan. Contoh penyedia layanan IAAS seperti Rackspace cloud, Amazon EC2, dan lain sebagainya.

Struktur Cloud Computing

  • Computer Front End : Biasanya merupakan Komputer desktop biasa dan muncul di halaman depan interface. Dalam hal ini Front End Cloud Computing merupakan sisi dari Client dan Cloud Computing Systemnya yang kemudian dibagi menjadi dua interface dan aplikasi yang disesuaikan dengan fungsi dan keperluan dari Cloud Computingnya.
  • Computer Back End : Computer back end adalah komputer skala besar yang biasanya berupa server computer yang dilengkapi dengan data center. Biasanya, computer back end harus mempunyai kinerja yang tinggi, karena harus melayani mungkin hinggga ribuan permintaan data.
  • Penghubung antara Keduanya : Perangkat yang sebagai penghubung keduanya bisa berupa jaringan LAN atau internet. Sehingga dalam hal ini perangkat dapat terkoneksi satu sama lainnya untuk dapat bertukar informasi dan data.

DICODING, KELAS GRATIS HINGGA CHALLENGE MENARIK!

Hai semuanya! sebelumnya, kita kenalan dulu yaa. Saya Mala,salah satu mahasiswi IT di salah satu universitas di Indonesia. Saya ingin berbag...