Kelompok yang terkait dalam pengembangan perangkat lunak adalah brainly

Mata Pelajaran : Administrasi Sistem Jaringan
Kompetensi Keahlian : Teknik Komputer dan Jaringan
Tingkat / Semester : XI (Sebelas) / Ganjil
Guru Pengampu : Elan Jaelani, S.Kom

3.1.1. Menjelaskan Sistem Operasi Jaringan

A. Sistem Operasi (Operating System)

Sistem operasi merupakan sebuah program yang mengendalikan semua fungsi yang ada pada komputer. Sistem operasi menjadi basis landasan pengembangan aplikasi untuk user (pengguna). Secara umum semua sistem operasi memiliki empat fungsi berikut:

  1. Pengendalian Perangkat Keras

Akses terhadap berbagai perangkat keras yang terhubung pada komputer disediakan oleh sistem operasi melalui suatu aplikasi yang dikenal dengan istilah driver. Setiap driver dibuat untuk mengendalikan satu perangkat keras. Instalasi aplikasi driver ini dilakukan sendiri sistem operasi pada saat instalasi ataupun waktu perangkat keras dihubungkan ke komputer. Mekanisme instalasi secara otomatis saat perangkat dihubungkan ini dikenal dengan istilah Plug and Play (PnP).

  1. Pengelolaan File dan Folder

Hal ini dimungkinkan oleh sistem operasi karena pada saat instalasi sistem operasi ada proses format untuk harddisk. Melalui proses tersebut ruang harddisk akan ditata sedemikian rupa sehingga memiliki blok-blok tertentu untuk menyimpan file. Proses ini mirip seperti penempatan rak-rak pada ruangan kosong untuk diisi buku-buku nantinya. Sebuah file adalah kumpulan blok yang saling terkait dan memiliki sebuah nama. Folder merupakan sebuah penampung yang dapat berisi file-file ataupun sub-folder lainnya. Setiap file-file yang terkait dengan program komputer ditempatkan dalam folder tersendiri untuk memudahkan pencarian file.

User dapat menggunakan komputer melalui aplikasi yang ada (terinstall) di komputer. Setiap aplikasi menyediakan interface untuk menerima interaksi yang mungkin dari user. Terdapat dua jenis interface yang dapat digunakan untuk berinteraksi dengan user, yakni:

  • Command Line Interface (CLI). Interaksi user dengan sistem dilakukan dengan mengetikkan serangkaian kalimat perintah untuk dikerjakan oleh komputer.
  • Graphical User Interface (GUI). Disini interaksi user dilakukan melalui sekumpulan menu dan icon yang dapat dipilih oleh user untuk memberikan berbagai perintah ke komputer.

Setiap aplikasi yang dijalankan oleh sistem operasi dengan mencari lokasi file program tersebut dan memindahkan isinya ke memori untuk kemudian mengirimkan setiap perintah pada file tersebut untuk dijalankan oleh komputer. Aplikasi user disini merupakan aplikasi yang digunakan oleh user untuk menyelesaikan suatu tujuan tertentu. Fungsi manajemen pada aplikasi user ini dapat meliputi:

  • Install, proses menempatkan file-file program pada sistem komputer termasuk konfigurasi program tersebut.
  • Uninstall, proses untuk menghapus file-file program beserta konfigurasi dari komputer.
  • Update/Upgrade, proses untuk memperbarui file-file dari program yang telah terinstall.

Selain memiliki fungsi-fungi manajemen di atas, sistem operasi modern juga dapat memiliki kemampuan sebagai berikut:

  • Multi user – dua atau lebih user dapat bekerja sama untuk saling berbagi pakai penggunaan aplikasi dan sumber daya seperti printer pada waktu yang bersamaan.
  • Multi tasking – sistem operasi dapat menjalankan lebih dari satu aplikasi user.
  • Multi processing – sistem operasi dapat menggunakan lebih dari satu CPU (Central Processing Unit).
  • Multi threading – setiap program dapat dipecah ke dalam thread-thread untuk kemudian dapat dijalankan secara terpisah (pararel) oleh sistem operasi. Kemampuan ini juga termasuk bagian dari multi tasking pada aplikasi.

Berdasarkan jumlah bit-nya, sistem operasi dibagi menjadi dua macam, sistem operasi 32-bit dan sistem operasi 64-bit. Terdapat dua perbedaan antara sistem operasi 32-bit dan 64-bit.

  • Sistem operasi 32-bit hanya mampu menerima RAM maksimal 3 GB, sedangkan sistem operasi 64-bit mampu menggunakan lebih dari 128 GB RAM.
  • Manajemen memori dari sistem 64-bit juga lebih baik, sehingga mampu menjalankan proses pada aplikasi lebih cepat.

Dilihat dari penggunaannya sistem operasi dapat dibedakan menjadi dua kelompok besar, yakni:

  • Sistem operasi desktop, yang banyak digunakan di kantor-kantor, Small Office/Home Office (SOHO), dengan jumlah user yang sedikit.
  • Sistem operasi jaringan, Network Operating System (NOS), didesain untuk dapat melayani user dalam jumlah besar untuk berbagai keperluan dan banyak digunakan pada perusahaan berskala besar.

Berdasarkan metode pengembangannya, system operasi dibagi atas dua jenis, yaitu :

  • Sistem Operasi Close Source (Proprietari) Sistem operasi proprietari merupakan sistem operasi yang dikembangkan secara internal oleh seseorang, perkumpulan ataupun perusahaan. Sistem operasi yang tergolong proprietari ini adalah Windows dan Mac Os.
  • Sistem Operasi Open Source (Terbuka) Sistem Operasi Terbuka merupakan sistem operasi yang kode programnya dibuka untuk umum sehingga dapat dikembangkan oleh yang lainnya. Sistem operasi yang termasuk terbuka adalah UNIX, Linux dan turunannya. Linux sendiri memiliki banyak varian, seperti Debian, Slackware, Redhat dan SuSE. Varian ini lebih dikenal dengan nama distro.

B. Sistem Operasi Jaringan (Network Operating System/Workstation)

Sistem operasi jaringan adalah pengelola seluruh sumber daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (Web, FTP, DNS, dan lain-lain) untuk memudahkan dan memberi kenyamanan dalam penggunaan dan pemanfaatan sumber daya sistem komputer.

Sistem operasi jaringan atau sistem operasi komputer yang dipakai sebagai server dalam jaringan komputer hampir mirip dengan sistem operasi komputer stand alone. Bedanya, pada sistem operasi jaringan, salah satu komputer harus bertindak sebagai server bagi komputer lainnya.

  • Komputer Server adalah komputer yang menyediakan fasilitas bagi komputer-komputer lain di dalam jaringan.
  • Komputer Client (klien) adalah komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh server.

Sistem operasi jaringan memiliki karakteristik sebagai berikut:

  • Mendukung penggunaan oleh lebih dari satu user.
  • Menjalankan aplikasi yang mampu digunakan oleh lebih dari satu user.
  • Stabil (robust), dimana kecil kemungkinan untuk terdapat error pada program. Robustness adalah istilah untuk menunjukkan kemampuan suatu sistem komputer menangani masalah yang terjadi selama digunakan oleh user.
  • Memiliki tingkat keamanan data yang lebih tinggi dari sistem operasi desktop.

Berikut ini adalah beberapa sistem operasi jaringan yang banyak digunakan saat ini:

  • UNIX/Linux, ini merupakan sistem operasi yang paling banyak digunakan sebagai server saat ini, contoh sistem operasi jaringan dengan linux diantaranya adalah Red Hat, Caldera, SuSE, Debian, Fedora, Ubuntu dan Slackware.
  • Novell Netware, di tahun 1980-an, ini merupakan sistem operasi pertama yang memenuhi semua persyaratan untuk membangun sebuah jaringan komputer lokal.
  • Microsoft Windows, masih dari perusahaan yang sama, Microsoft juga mengeluarkan Windows Server sebagai sistem operasi jaringannya, mulai dari versi awalnya adalah Windows Server 2000, hingga yang terakhir Windows Server 2016.

Tugas ASJ-P-Tr-01

  1. Apa yang dimaksud dengan sistem operasi jaringan?
  2. Sebutkan sistem operasi jaringan yang diketahui?
  3. Apa perbedaan antara sistem operasi jaringan dengan sistem operasi umumnya?
  4. Apakah kelebihan dan kekurangan menggunakan sistem operasi terbuka (open source) dibandingkan tertutup (proprietary)?
  5. Jelaskan kemungkinan aplikasi user untuk berjalan langsung tanpa melalui sistem operasi?

Tugas ASJ-K-Pr-01

Buatlah timeline (lini masa) sejarah perkembangan sistem operasi Linux dari awal hingga tahun sekarang ini? Gunakan distribusi Linux yang masuk 20 daftar distro populer 6 bulan terakhir di situs www.distrowatch.com.


Page 2

Mata Pelajaran : Administrasi Sistem JaringanKompetensi Keahlian : Teknik Komputer dan JaringanTingkat / Semester : XI (Sebelas) / GanjilGuru Pengampu : Elan Jaelani, S.Kom 3.1.1. Menje

20/07/2020 13:10 WIB - ICT MATSUDA

Software development merupakan istilah yang tidak asing bagi setiap developer atau seorang programmer khususnya dalam membuat sebuah aplikasi atau website. Istilah ini sangat penting dan dibutuhkan setiap membuat sebuah produk. Di dalam sebuah perusahaan maupun startup yang bergerak di bidang IT setiap hari akan berhubungan dengan yang namanya software development.

Dalam artikel ini, kami akan mengenalkan lebih dalam apa itu software development hingga metode pengembangan dari suatu software. Dalam pembuatan sebuah perangkat lunak, pasti dibutuhkan sebuah manajemen dalam pengembangan aplikasi dimulai dari awal penyusunan hingga proses deploy dan perawatan. 

Seperti kata pepatah: “Tak kenal, maka tak sayang”, sebelum masuk pada penjelasan lebih dalam mengenai pengembangan perangkat lunak, anda harus mengenal terlebih dahulu apa itu software development. Sehingga anda akan lebih paham mengenai konsep dan tujuan dari pengembangan software.

Apa Itu Software Development?

Nah, untuk mengerti lebih dalam mengenai software development. Alangkah lebih baik untuk mengenal terlebih dahulu mengenai pengertian dan fungsinya. Berikut merupakan penjelasan dari kedua poin tersebut.

 1.  Pengertian Software Development

Dalam segi bahasa, software development merupakan pengembangan sebuah perangkat lunak. Selanjutnya menurut istilah, merupakan proses pengembangan sebuah aplikasi perangkat lunak yang dijalankan secara sistematis sehingga menghasilkan sebuah produk yang baik dan berkualitas. 

Di dunia developer sendiri, istilah ini sering disebut dengan Software Development Life Cycle (SDLC). SDLC sendiri merupakan siklus hidup dari pengembangan software. Tujuan dari penggunaan SDLC sendiri adalah untuk membangun sebuah sistem informasi yang direncanakan dengan baik agar memenuhi target produk yang akan dirilis. 

 2.  Fungsi Software Development

Setelah mengenal pengertian, saatnya untuk mengetahui fungsi dari penggunaan software development. Pada bagian ini kami tidak akan menjelaskan panjang lebar. Akan tetapi, kami akan memfokuskan pada beberapa titik sehingga anda dapat memahami lebih mudah tujuan dari penggunaan SDLC sendiri. 

Fungsi yang pertama adalah untuk membantu komunikasi antar tim developer dalam pengembangan aplikasi. Hal ini sangatlah penting, karena untuk mengurangi terjadinya miss communication antar tim. 

Misalnya dari sisi UI / UX Designer, menjalankan tugas untuk membuat rancangan awal desain sebuah website. Kemudian, pada sisi front end developer dapat menjalankan tugas nya untuk membuat tampilan sebuah website dari hasil rancangan desain murni dari UI / UX Designer. Dan dari sisi back end dapat mengurus bagian database dan server untuk dipakai oleh front end.  

Jadi, komunikasi antar tim disini sangat dibutuhkan agar proses pengembangan perangkat lunak dapat berjalan dengan baik dan terarah. Selanjutnya pada fungsi kedua, untuk memberikan tampilan yang jelas mengenai input dan output dalam berbagai tahap pengembangan perangkat lunak. 

Tampilan disini sangat diperlukan untuk mengetahui peran dan tugas setiap tim serta membantu meningkatkan kepercayaan dari klien. Hal tersebut sangatlah penting, karena dapat meningkatkan kredibilitas serta kualitas dalam hal pengerjaan setiap proyek yang diberikan.

Baca Juga: 11 Bahasa Pemrograman Web Terbaik untuk Pemula

Software Developer

Setelah mengenal pengertian dan fungsi dari software development, selanjutnya kami akan mengajak anda untuk mengenal apa itu software developer. Tentu dalam pengembangan aplikasi, pasti membutuhkan seorang developer yang terbagi menjadi beberapa tim untuk memudahkan dalam proses pengembangan software.

Dalam setiap perusahaan atau startup, pasti memiliki tim software developer yang bekerja pada setiap bagian. Kami akan menjelaskan beberapa posisi dari software developer yang sering digunakan dalam suatu perusahaan. 

Pertama ada UI / UX Designer, tugasnya dalam hal ini untuk melakukan perancangan desain awal dari aplikasi. Selanjutnya front end developer, yang bertugas untuk merubah desain awal dari tim UI / UX Designer ke dalam bentuk kode pemrograman sehingga output yang dihasilkan nantinya dapat ditampilkan pada klien. 

Yang ketiga ada back end Developer, yang bertugas untuk membuat basis data serta menyiapkan server agar diberikan kepada tim front end sehingga dapat diakses oleh user / klien. Tim backend sendiri haruslah memiliki pemahaman yang mumpuni mengenai algoritma dan struktur data bahasa pemrograman. 

Ada satu posisi lagi yang disebut dengan Full Stack Developer. Posisi ini dituntut untuk dapat bekerja dalam sisi front end dan dari sisi back end. Oleh karena itu, diwajibkan untuk memiliki pengalaman dan komitmen bekerja yang baik agar menjadi full stack developer yang handal. 

Baca juga: 15 Skill yang Wajib Dimiliki oleh Full Stack Developer

Jika anda mulai tertarik untuk menjadi seorang software developer, pastikan anda untuk memahami algoritma pemrograman, struktur data dan database. Selain itu, SDLC juga harus anda ketahui agar dapat bekerja sama dengan developer yang lain.

Tahap Software Development Life Cycle (SDLC)

Untuk sekarang, anda telah memahami beberapa posisi dari software developer. Setiap posisi akan mengemban tugas masing – masing. Tidak semua perusahaan maupun startup membutuhkan tim – tim tersebut. Untuk pembagian tim dari software developer sendiri dapat disesuaikan oleh perusahaan masing –  masing. 

Selanjutnya, masuk pada pengenalan beberapa tahap dari SDLC. Setiap tahap akan kami jelaskan untuk memudahkan anda dalam pemahaman. Tahap SDLC sendiri, bersifat fleksibel dan setiap perusahaan tentunya memiliki sistem pengembangan perangkat lunak yang berbeda – beda. Dikarenakan, untuk tahap software development sendiri disesuaikan dengan kebutuhan pengembangan produk atau tampilan aplikasi yang sesuai dengan permintaan klien. 

Pada tahap analisis ini, berfungsi untuk merencanakan rancangan pembuatan software atau aplikasi. Dimulai dari perencanaan alokasi sumber daya, biaya, estimasi waktu pengerjaan, kebutuhan tim, dan lain – lain. 

Pada tahap ini seorang Project Manager harus memikirkan matang – matang rencana pengerjaan proyek. Sehingga untuk kedepannya dapat dilakukan dengan baik. Dan yang terpenting, komunikasi dari tim developer dengan pihak manager dapat berjalan dengan selaras dan sinkron. 

Selanjutnya, setelah melakukan perencanaan dengan baik. Tahap berikutnya adalah proses desain aplikasi. Pada tahap ini, pengembang akan merencanakan seluruh sistem dan merencanakan alur algoritma dengan baik. 

Proses desain disini tidak hanya dalam penentuan alur algoritma program. Tetapi, pembuatan desain awal tampilan akan diperhatikan agar saat masuk pada tim developer dapat mengimplementasikan dengan sempurna. Biasanya, tim UI / UX Designer dapat mengerjakan tugas ini untuk segera diserahkan nantinya kepada tim developer.   

Tahap ketiga adalah implementasi program. Setelah berhasil menentukan desain awal dari pengembangan aplikasi, selanjutnya akan diserahkan pada tim developer. Di tim software developer sendiri akan dibagi menjadi dua tim besar, front end dan back end. 

Setiap tim akan menjalankan tugas masing – masing. Dalam tahap ini masuk pada penulisan kode dengan menggunakan bahasa pemrograman tertentu. Semisal pada pembuatan website tim front end menggunakan bahasa pemrograman seperti HTML, CSS, dan JavaScript. Pada tim back end menggunakan PHP, Apache, SQL, Node.js, dll.

Pada tahap keempat setelah menyelesaikan proses pembuatan program, maka akan masuk pada tahap pengujian atau testing. Testing disini lebih pada pengujian program yang dibuat untuk mencari berbagai kesalahan seperti bug, error ataupun permasalahan lain yang dapat muncul dari software tersebut.

Pada beberapa perusahaan besar ataupun startup, biasanya menempatkan tim khusus untuk menangani tahap pengujian. Quality Assurance (QA) merupakan posisi untuk menangani pengujian software. Pengujian dapat dilakukan dengan metode black box maupun white box

Setelah menyelesaikan tahap testing, selanjutnya masuk pada perilisan produk. Proses deploy ini berarti software atau perangkat lunak telah berhasil dibuat dan siap untuk diserahkan pada klien. Dan untuk selebihnya, klien akan mencoba fungsionalitas dari aplikasi tersebut.

Apabila saat proses deployment muncul sebuah problematika baru, maka klien dapat memberikan feedback kepada tim developer. Dan selanjutnya dapat dilakukan tahap maintenance atau perbaikan. Pada tahap ini, pihak pengembang dapat melakukan update versi atau penambahan fitur untuk mengatasi permasalahan dari klien tersebut.

Baca Juga: Penjelasan Lengkap Metode Agile dalam Pengembangan Perangkat Lunak

Metode Pengembangan Perangkat Lunak

Selain memiliki beberapa tahap, software development juga mempunyai beberapa macam metode atau model pengembangan yang memiliki ciri khas yang berbeda. Berikut merupakan tujuh model yang pilih karena tingkat penggunaannya dalam suatu perusahaan. 

Pada model ini kita analogikan dengan sebuah air terjun. Pastinya, air terjun mengalir dari atas turun kebawah karena gaya gravitasi bumi. Nah, sama dengan metode waterfall yang berarti tahap pengembangan software dilakukan secara bertahap mulai dari awal hingga akhir.

Maksud dari bertahap disini adalah tahap software development tidak dapat dilakukan secara bersamaan. Akan tetapi, dilakukan mulai dari perencanaan terlebih dahulu. Setelah selesai, baru masuk ke tahap desain dan seterusnya.

Apabila mengalami kegagalan, pada salah satu tahap maka akan diulang kembali ke tahap sebelumnya. Ada beberapa perusahaan yang masih menggunakan model waterfall. Pada penggunaan model ini harus diperhatikan ketepatan estimasi waktu dan sumber daya yang dibutuhkan. 

Penggunaan model ini biasanya dapat diterapkan untuk proyek dengan skala kecil hingga menengah. Serta tidak membutuhkan biaya maupun sumber daya yang terlalu besar.

Baca juga: Tahapan Pengembangan Perangkat Lunak dengan Metode Waterfall 

Model ini termasuk memiliki tingkat repetisi yang tinggi. Model pengerjaan dengan model ini berfokus pada setiap repetisi yang dilakukan. Repetisi disini berarti perulangan tiap tahapnya. 

Model ini dapat dikatakan sebagai metode SDLC yang paling fleksibel dan sama dengan model iterative. Akan tetapi, yang perlu diperhatikan adalah dapat memicu ketidakpuasan dari segi customer karena proses pengerjaan yang terbilang singkat. 

Disisi lain, metode ini sangat cocok untuk menciptakan produk yang dirilis dengan versi cepat dan murah. Oleh karena itu, anda harus memperhatikan setiap tahap dalam metode spiral ini. 

Model RAD (Rapid Application Development) merupakan software development yang cocok untuk menghasilkan produk yang berkualitas tinggi dengan biaya investasi yang rendah.  Biaya disini dapat diminimalisir karena proses penyesuaian yang cepat dari setiap tahap. 

Setidaknya ada empat tahap dari SDLC model RAD ini, yang pertama adalah perencanaan kebutuhan, yang kedua desain, kemudian konstruksi, dan tahap terakhir adalah peralihan (berpindah dari versi lama ke versi baru).

Ketika masuk pada tahap desain dan konstruksi dapat dilakukan secara berulang sehingga dari pihak user atau customer telah mencapai kata sepakat. Developer dapat melakukan repetisi pada tahap desain dan konstruksi tanpa perlu mengulang pada tahap perencanaan. 

Untuk model kali ini sedikit berbeda dengan model – model sebelumnya. Karena, pada model ini menggunakan sebuah prototype. Sehingga yang pertama dilakukan adalah membuat sebuah prototype aplikasi terlebih dahulu.

Sampel tersebut kemudian akan dipresentasikan kepada customer atau klien untuk melakukan kesepakatan. Apabila telah mencapai kata sepakat, maka pengembang atau developer akan membuat produk aslinya sebagai hasil akhir dari proyek tersebut. Metode ini dapat memberikan solusi untuk mengatasi permasalahan pada model waterfall.

Model yang kelima lebih menekankan pada budaya organisasi. Maksudnya adalah selain memperhatikan dalam tahap software development, juga memperhatikan kerjasama antar departemen terhadap pengembangan siklus hidup organisasi. 

Selain itu juga berpengaruh pada jaminan kualitas, serta operasional dari pengembangan perangkat lunak. Jadi, untuk menggunakan metode ini diperlukan pengetahuan lebih dengan manajemen sebuah organisasi serta kerjasama tim yang baik. Agar setiap departemen atau tim dapat melaksanakan tugas masing – masing dengan baik dan tepat.

Nah, berikutnya masuk pada model yang dapat dibilang melibatkan pengembangan model yang lain. Pada setiap siklus tersebut dibagi lagi menjadi siklus – siklus kecil. Pengulangan tersebut dapat diatur dengan mudah serta telah melewati berbagai tahap perencanaan, desain, implementasi serta pengujian. 

Model yang ketujuh merupakan salah satu model dengan penggunaan model yang paling sering digunakan oleh perusahaan maupun startup. Karena model ini dirasa paling cocok untuk diterapkan dalam pengembangan produk atau software dalam jangka waktu pendek maupun panjang. 

Jenis agile yang paling sering digunakan adalah metode scrum. Kelebihan scrum disini terlihat dari penggunaan sprint. Sprint disini merupakan sebuah proses yang dilakukan secara bertahap. Kelebihan yang lain disini adalah setiap tim dapat melakukan kerja secara bersama – sama tanpa perlu menunggu salah satu tim untuk menyelesaikan pekerjaannya.

Terlebih lagi setiap 1 hingga 2 minggu akan selalu dilakukan koordinasi mengenai hasil dari pengerjaan tiap minggu yang dilakukan oleh project manager. Kemudian, customer juga dapat melihat hasil dari pengerjaan tiap tim untuk ditampilkan agar dapat terjadi kesepakatan antara tim pengembang dengan klien.

Baca juga: Penjelasan Lengkap Metode Agile dalam Pengembangan Perangkat Lunak

Kesimpulan

  • Software development adalah proses pengembangan perangkat lunak melalui beberapa tahapan yang tersusun secara sistematis sehingga menghasilkan produk yang berkualitas.
  • Pengembang dari sebuah software development disebut sebagai software developer dengan memiliki beberapa departemen disesuaikan dengan porsi tugasnya.
  • Terdapat enam tahapan dalam SDLC dimulai dari proses perencanaan hingga maintenance.
  • Tujuh metode pengembangan perangkat lunak yang sering digunakan oleh para pengembang untuk membuat perangkat lunak dan paling populer saat ini adalah model Agile menggunakan metode Scrum.

Kami juga menawarkan jasa pembuatan aplikasi untuk membantu kebutuhan pengembangan aplikasi berbasis web, mobile, dan desktop.