Pages

Selasa, 29 Oktober 2019

Tugas Sistem Operasi IV


Soal latihan :

1. Pada proses kongkuren yang berinteraksi yang mempunyai beberapa masalah yang harus diselesaikan, yaitu :
- Mutual excusion
- Deadlock
- Starvation
- Sinkronisasi

2. Kongurensi merupakan landasan umum perancangan sistem operasi. apa yang anda ketahui tentang proses yang konguren. jelaskan!

3. Terdapat dua prosees yaitu proses 1 dan proses 2 (P1 dan P2) dan dua sumber daya yaitu sumber daya 1 dan sumber daya 2 (R1 dan R2) proses 1 (P1) dan proses 2 (P2) harus mengakses kedua sumber daya. kondisi tersebut dapat terjadi deadlock, jelaskan!

4. Terdapat tiga buah proses P1,P2 dan P3. memrlukan pengaksesan sumber daya tidak merata. Jelaskan bagaimana starvision itu terjadi.

Jawab !


1. - Adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Proses-proses yang lain dilarang mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama disebut Critical Section/Region. Mutual Exclusion merupakan jaminan untuk mengatasi kondisi pacu agar tidak boleh 2 proses atau lebih memasuki Critical Section secara bersamaan.
Kesuksesan proses- proses kongkuren memerlukan pendefinisian Critical Section dan memaksakan Mutual Exclusion di antara proses-proses kongkuren yang sedang berjalan. Pemaksaan Mutual Exclusion merupakan landasan pemrosesan kongkuren.
Pemaksaan adanya mutual eclusion menimbulkan dua maslah, yaitu:
- Deadlock.
- Startvation.
Kriteria penyelesaian mutual exclusion:
1.      Mutual exclusion harus dijamin, hanya satu proses pada saat yang
diijinkan masuk ke critical section.
2.      Prosesyang berada di noncritical section,  dilarang memblocked proses lain yang ingin masuk critical section.
3.      Harus dijamin proses yang ingin masuk critical section tidak menunggu
selama waktu yang tak berhingga.
4.      Ketika tidak ada proses pada critical section maka proses yang ingin
masuk critical section harus diijinkan masuk tanpa tertunda.
5.      Tidak ada asumsi mengenai kecepatan relative proses atau jumlah
proses yang ada.

- Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu.
Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut.Misal ada proses A mempunyai resource X, proses B mempunyai resource Y.
Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.

- Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan).
Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di bawah ini.Pada gambar diatas, pada antrian kanan terjadi starvation karena resource (jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran

- Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation.
2. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Dikatakan sebagai landasan umum perancangan sistem operasi karena dalam menciptakan suatu sistem operasi, sistem operasi tersebut umumnya harus bisa menjalankan beberapa proses (lebih dari satu proses) pada saat yang bersamaan.
3. Terdapat dua proses P1 dan P2
-          Dua sumber kritis R1 dan R2
-          Proses P1 dan P2 harus mengakses kedua sumber daya itu (R1 dan R2).
-          R1 diberikan pada P1 sedang R2 diberikan pada P2.
-          Karena untuk melanjutkan eksekusi memerlukan dua sumber daya sekaligus maka proses akan saling menunggu sumber daya lain selamanya.
Syarat terjadinya deadlock:
-          Mutual exclusion
Tiap sumber daya saat diberikan pada satu proses.
-          Hold and wait Condition
Proses-proses yang sedang menggenggam sumber daya, menunggu
sumberdaya-sumberdaya baru
-          Non Preemption Condition
Sumberdaya - sumberdaya yang sebelumnya duberikan tidak dapat
diambil paksa dari proses itu.  Sumberdaya –  sumberdaya
harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
-          Circulair Wait Condition
Harus terdapat rantai sirkuler dari dua proses atau lebih, masing-masing
menunggu sumber daya yang digenggam oleh berikutnya pada rantai itu.
Metode Mengatasi deadlock :
1.      Pencegahan terjadinya deadlock
2.      Pengindaran terjadinya deadlock
3.      Deteksi dan pemulihan deadlock

3. Terdapat 3 (tiga) proses P1,P2 dan P3. P1,P2 dan P3.memerlukan akses sumber daya R secaraperiodik. Selanjutnya : P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber sumber daya R. Ketika P1 keluar dari critical region, P2 dan P3 diijinkan mengakses R. Asumsi P3 diberi hak akses.  Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu membutuhkan sumber daya R. Jika pemberian hak akses bergantian terusmenerus antara P1 dan P3 , maka P2 tidak pernah memperoleh akses sumber daya R, meski tidak ada deadlock. Pada situasi ini P2 disebut mengalami startvation.



Selasa, 22 Oktober 2019

Tugas Sistem Operasi III

1. Apa definisi penjadwalan proses ?
2. Pada penjadwalan proses mempunysi tugas dan sasaran, sebutkan tugas dan sasaran tersebut.
3. Sebutkan tipe-tipe penjadwalan yang anda ketahui
4. Strategi penjadwalan terdapat dua jenis yaitu premptive dan non premptive.
5. Sebutkan strategi-strategi penjadwalan dan berikan contoh masing-masing strategi.

1. Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer,

2. Adapun penjadwalan bertugas memutuskan : Proses yang harus berjalan/kapan dan selama berapa lama proses itu berjalan Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
  •  Adil (fairness) Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu. 
  •  Efisiensi (eficiency) Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
  • Waktu tanggap (response time) Waktu tanggap berbeda untuk : 
- Sistem interaktif Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time. 
- Sistem waktu nyata Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. d. Turn around time.
  • Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu. 
  • Throughput Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu.
3. Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  •   Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
  •  Penjadwal jangka menengah (medium term scheduller) 
 Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.
  • Penjadwal jangka panjang (long term scheduller) 
 Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.

4. - Penjadwalan preemptive Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu. Berguna pada sistem dimana proses-proses yang mendapat perhatian/tanggapan pemroses secara cepat.
misalnya : a. Pada sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat fatal. b. Pada sistem interaktif, agar dapat menjamin waktu tanggap yang memadai. Penjadwalan secara preemptive baik tetapi harus dibayar mahal. Peralihan proses memerlukan overhead (banyak tabel yang dikelola). Supaya efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori utama merupakan suatu overhead tersendiri.

 - Penjadwalan nonpreemptive (run to completion) Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

5.  Preemptive, menggunakan konsep :
- RR (Round Robin) 
 - SRF (Shortest Remaining First)
 - PS (Priority Schedulling) 
 - GS (Guaranteed Schedulling)

2. Nonpreemptive, menggunakan konsep : 
- FIFO (First In First Out) atau FCFS (First Come First Serve)  
- SJF (Shortest Job First) 
- HRN (Highest Ratio Next) d. MFQ (Multiple Feedback Queues)

Kamis, 17 Oktober 2019

Tugas RPL III

Latihan !

1. Jelaskan pengertian SDLC dan sebutkan tahapan-tahapannya secara umum!
2. Apa resiko yang dihadapi jika pengembangan aplikasi (Rekayasa Perangkat Lunak) tidak mengikuti tahapan-tahapan SDLC?
3. Sebutkan alasan munculnya SDLC?
4. Mengapa ketika menerapkan metode prototipe, pada tahap awal harus benar-benar diperjelas batasan-batasan/ruang lingkup/spesifikasi perangkat lunak secara umum? Jelaskan menurut pendapat anda!

Jawab !

1. SDLC Adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak.
Berikut tahapan-tahapan untuk mengembangkat perangkat lunak :

A. Perancangan system (System planning)
 Lebih menekankan pada aspek studi kelayakan pengembangan  sistem (feasibility study) aktivitas-aktivas yang ada meliputi :

  • Pembentukan dan konsolidasi tim pengembang.
  • Mendefinisikan tujuan dan ruang lingkup pengembang 
  • Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem.
  • Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem.
  • Menentukan prioritas teknologi dan pemilihan aplikasi 
B. Analisis system (System analysis)
Analisa sistem adalah tahap dimana dilakukan beberapa aktifitas berikut :
  • Melakukan study literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem.
  • Brainstroming dalam tim pengembang mengenai kasus mana yang paling tepatdimodelkan dengan sistem.
  • Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut 
  • Analisa kebutuhan pada sistem dan membuat batasan sistem.
  • Mendefinisikan kebutuhan sistem.
C. Perancangan sistem (System design)
Pada tahap ini, featuresdan operasi-operasi padda sistem dideskripsikan secara detail. Aktivitas-aktivitas yang dilakukan adalah :
  • Menganalisa interaksi objek dan fungsi sistem.
  • Menganalisa data dan membuat skema database.
  • Merancang user interface.
D. Implementasi sistem (System implementation)
Tahap berikutnya implementasi yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba.
Dalam impolementasi, dilakukan aktivitas-aktivitas sebagai berikut :
  • Pembuatan database.sesuai skema rancangan.
  • Pembuatan aplikasi berdasarkan sistem.
  • Pengujian dan perbaikan aplikasi (debugging)
E. Pemeliharaan sistem (System maintenance)
Dilakukan oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan kebutuhan.

2. Jika tidak mengikuti tahapan-tahapan SDLC maka tingkat kegagalan untuk membuat suatu sistem akan sangat terbuka lebar, karena kita tidak mengikuti tahapan-tahapan dari SDLC yaitu : planning, analysis, design, implementasi, dsb. SDLC satu satu jalan bagi kita untuk mengetahui apa yang menjadi keperluan pengguna.

3. Mengembangkan sistem informasi dalam cara yang sangat disengaja, terstruktur, dan teratur, mengulangi setiap tahap siklus hidup.

4. Prototipe membantu dalam menemukan kebutuhan ditahap awal pengembangan, terutama jika klien tidak yakin dimana masalah berasal. selain itu prototipe juga berguna sebagai alat untuk mendesain dan memperbaiki user interface bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya. Artinya jika kita tidsk benar benar diperjelas baik dari segi batasan, ruang lingkup, spesifikasi dsb. Maka pengguna tidak akan tertarik karena pemodelannya yang tidak jelas!

Kamis, 10 Oktober 2019

Tugas RPL II

Latihan !

1. Kegiatan apa saja yang dilakukan pada saat analisis system?
2. Apa saja isi dokumen SRS?
3. Apa perbedaan pendekatan terstruktur dengan pendekatan berorientasi objek?
4. Hal apa saja yang dilakukan pada tahap desain system?
5. Sebutkan minimal 2 metodologi lain (selain pendekatan terstruktur dan pendekata berorientasi objek). Sebutkan karakteristiknya dan kemudian carilah kelebihan dan kekurangannya jika dibandingkan pendekatan terstruktur dan pendekatan berorientasi objek?

Jawab!

1. Kegiatan yang dilakukan pada saat analisis system :
  • Identify : Mengidentifikasikan masalah
  • Understand : Memahami kerja dari sistem yang ada
  • Analyze : Menganalisis system
  • Report : Laporan hasil analisis
  • Mengidentifikasikan masalah 
Mengidentifikasikan (mengenal) masalah merupakan langkah pertama yang dilakukan dalam tahap analisis system. Masalah dapat didefinisikan sebagai suatu pertanyaan yang diinginkan untuk dipecahkan. Masalah inilah yang menyebabkan sasaran dari system tidak dapat dicapai. Oleh karena itu langkah pertama yang harus dilakukan oleh analis sistem adalah Mengidentifikasi terlebih dahulu masalah-masalah yang terjadi.
  • Memahami kerja system
Langkah ini dapat dilakukan dengan mempelajari secara terinci bagaimana sistem yang ada beroperasi. diperlukan data yang dapat diperoleh dengan cara melakukan penelitian. bila ditahap perencanaan sudah pernah diadakan penelitian, sifatnya maasih penelitian pendahuluan (preliminary survey). sedangkan pada tahap analisis sistem, penelitiannya bersifat penelitian terinci (detailed survey). 
Analisis system perlu mempelajari apa dan bagaimana operasi dari sistem yang ada sebelum mencoba untuk menganalisis permasalahan, kelemahan dan kebutuhan pemakai sistem untuk dapat memberikan rekomendasi pemecahnya. Sejumlah data perlu dikumpulkan, denggan menggunakan teknik pengumpulan data yang ada, yaitu wawancara, observasi, daftar pertanyaan dan pengambilan sampel.

  • Menganalisis system 
Langkah ini dilakukan berdasarkan data yang telah diperoleh dari hasil penelitian yang telah dilakukan. Tugas dari analisis system yang diperlukan sehubungan dengan sasaran utama sistem informasi, yaitu menyediakan informasi yang dibutuhkan bgi para pemakainnya perlu dianalisis

  • Membuat laporan dan hasil analisis
 Laporan hasil analisis diserahkan kepanitia pengarah (Steering committe) yang nantinya akan diteruskan ke manajemen. pihak manajemen bersam-sama dengan panitia pengarah dan pemakai sistem akan mempelajari temuan-temuan dan analis yang telah dilakukan oleh analis sistem yang disajikan dalam laporan ini.
Tujuan utama daari penyerahan laporanini kepada manajemen adalah :

- Analisis telah selesai dilakukan

- Meluruskan kesalah-pengertian mengenai apa yang telah ditemukan dan dianalisis oleh analis sistem tetapi tidak sesuai menurut manajemen

- Meminta pendapat dan saran dari pihak manajemen

- Meminta persetujuan kepada pihak manajemen untuk melakukan tindakan selanjutnya (dapat berupa meneruskan ketahap desain sistem atau menghentikan proyek bila dipandang tidak layak lagi)

- Semua hasil yang didapat dari penelitian perlu dilampirkan pada laporan hasil analisis ini, sehingga manajemen dan user dapat memeriksa kembali kebenaran data yang telah diperoleh.

2. Isi dokumen SRS (Software Requirement Spesification) berisi sebagai berikut :
  • Introduction 
Bagian ini berisi penjelasan secara umum berisi tujuan dari pembuatan dokumen SRS secara umum,
scope project yang akan dikerjakan melalui dokumen SRS dan referensi, istilah-istilah yang digunkan pada dokumen.
  • Overall description 
Bagian ini berisi penjelasan berupa perspektif produk, user yang terkait dengan pengguna produk sistem informasi dan asumsi beserts depedency yang terkait dengan project sistem informasi. bagian ini juga berisi penjelasan fungsi-fungsi prosuk sistem informasi yang akan dikerjakan 
  • Specific requirement 
Bagian ini berisi penjelasan berupa kebutuhan spesifikasi dari sistem yang akan dibangun. penggambaran kebutuhan sistem dapat digambarkan dalam bentuk use case model yang nantinya dapat dimanfaatkan oleh system design untuk dirancang lebih spesifik. bagian ini juga menjelaskan fungsionalitas aplikasi yang akan tersedia dan apa saja peruntukannya. performa dan interface juga harus dijelaskan terkait dengan sistem. bagaimana performa yang layak dan seharusnya dimiliki oleh sistem serta bagaimana design interface sistem.
  • Supporting information 
Bagian ini berisi penjelasan informasi yang berfungsi untuk memudahkan pemahaman dokumen SRS. Informasi yang disajikan dapat berupa gambar design  prototype yang berkaitan dengan sistem yang dibangun.

3. - Pendekatan secara terstruktur adalah mengenalkan penggunaan alat-alat dan teknik-teknik untuk mengembangkan sistem yang terstruktur. Teknik terstruktur, merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk  memecahkan masalah . tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya.

- Pendekatan berorientasi objek 
Perbedaan yang paling dasar dari pendekatan terstruktur dan pendekatan OO(Object Oriented) atau berorintasi objek adalah pada metode berorientasi fungsi atau aliran data (data flow diagram) dekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secara hirarki, mulai dan konteks sampai proses-proses yang paling kecil, sementara pada metode berorientasi objek dekomposisi permasalahan dilakukan berdasarkan objek-objek yang ada dalam sistem sumber.

4. Langkah-langkah dalam desain  sistem 
- Tahap perencanaan 
- Mendefinisikanj masalah sistem yang berjalan dan sistem yang diusulkan 
- Menentukan tujuan sistem
- Mengidentiifikasikan kendala sistem
- Membuat studi kelayakan(TELOS)
- Keputusan ditolak/diterima

Tahap analisis sistem
- Mambuat struktur organisasi 
- Mendefinisikan kebutuhan informasi
- Mendefinisikan kriteria kinerja sistem 

Tahap desain
- Menyiapkan rancangan 
- Membuat context diagram
- Membuat DFD
- Membuat IOFC
- Membuat ERD
- Merancang kamus data 
- Membuat floechart
- Merancang file (master, input, proses, temporary)
- Merancang dialog input 
- Merancang dialog output
Menyiapkan konfigurasi system

Tahap penerapan 
- Menyiapkan hardware dan software 
- Implementasi pemograman
- Testing
- Cutover

Tahap penggunaan 
- Audit sistem
- Memelihara sistem


5. Metode system development (SLDC)
Metode ini adalah metode pengembangan sistem informasi yang pertama kali digunakan metode ini juga disebut dengan metode tradisional. Metode ini tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programer 
Adapun kelebihan dan kekurangannya sebagai berikut :
Kelebihan :
- Mudah diaplikasikan 
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.

Kekurangan : 
- Pengembang sering melakukan penundaan yang tidak perlu karena anggota tim proyek harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan, hal ini menyebabkan penggunaan waktu tidak efisien.

Metode watefall
Metode pengembangan sistem yang paling tua dan paling sederhana. Cocok untuk pengembangan perangkat lunak dengan spesidikasi yang tidak berubah-ubah. Model ini menyediakan pendekatan alur hidup perangkat lunak secara sequential atau terurut dimulai dari analisa, desain, pengkodean, pengujian dan tahap pendukung.

Kelebihan :
- Kualitas dari sistem yang dihasilkan akan baik, ini dikarenakan oleh pelaksanaanya secara bertahap. sehingga tidak terfokus pada tahapan tertentu.

Kelemahan :
- Diperlukan manajemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
- Kesalahan kecil akan menjadi kesalahn besar jika tidak diketahui sejak awal pengembangan.
- Pelanggan sulit menyertakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan.

Senin, 07 Oktober 2019

Tugas Sistem Operasi II

Soal latihan :

1. Apa tujuan anda mempelajari sistem operasi, sebutkan !

2. Tugas utama sistem operasi adalah
a. sebagai pengelola seluruh sumber daya (resource manger)
b. sebagai penyedia layanan (extended/virtual machine)
Jelaskan masing masing tugas tersebut !

3. Apa yang anda ketahui tentang fungsi minor sistem operasi, dan sebutkan fungsi-fungsi minor tersebut!

4. Menurut starling [STA-95], sistem operasi mempunyai tiga sasaran, antara lain :
Kenyamanan, Efisiensi, Mampu berevolusi. Jelaskan masing-masing sasaran tersebut!


Jawaban soal :

1. Tujuan Mempelajari Sistem Operasi
Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita,agar dapat memilihalternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan agar konsep dan teknik sistem operasi dapat diterpkan pada aplikasi-aplikasi lain.
Dengan sistem operasi, komputer atau perangkat keras (Hardware) dapat digunakan seefisien mungkin. Komputer juga dapat bekerja dalam kode biner yang mudah dipahami dan digunakan oleh pemakai (user).

2. Sistem operasi sebagai Pengelolaan seluruh sumber daya sistem komputer :
Mengelola seluruh sumber daya yang terdapat pada sistem komputer.

a. Sumber daya fisik yang berupa perangkat keras atau hardware. Terdiri dari :

- Keyboard, barcode reader
- Mouse, joystick, ligt-pen,trackball,touch screen, pointing device.
- Floppy disk drive, hardisk, tape drive, optical disk,CD ROM device.
- Layar monitor baik CRT,LCD, dan perangkat-perangkat display lain.
- Modem, ethernet card, PCNCIA, dan alat komunikasi lain.
- Memori akses acak (RAM), chache memory, register, dan memori volatile lain.
- Perangkat-perangkat multimedia seperti kamera, sound card, radio.
- Perangkat-perangkat pengendalian proses yang terhubung ke komputer yaitu sensor-sensor dan akuator-akuator.

b. Sumber daya abstrak
Sumber daya abstrak terbagi menjadi dua bagian :

- Data
  • Semaphore untuk mengendalikan sinkronisasi proses-proses.
  • PCB (process control block) untuk mencatat dan mengendalikan proses
  • Tabel segmen, table page, i-node, FAT untuk pengendalian memori.
  • Berkas file untuk penyimpanan data dan program.

- Program
Program berupa kumpulan intruksi yang dapat dijalankan sistem komputer. Program berupa utilitas atau aplikasi untuk mencapai tujuan komputasi (pengolahan) tertentu. Sumber daya harus dapat dimanfaatkan secara efektif dan efisien. pemanfaatan harus benar dan mempunyaiefisiensi yang setinggi mungkin, merupakan sasaran yang harus dicapai sistem operasi

Sistem operasi penyedia layanan :
Sistem operasi menyediakan layanan pengaksesan sumber daya sehingga pemogram tidak di rumitkan rincian operasi pernagkat keras yang menjenuhkan. pemakai dapat memandang sistem komputer sebagai kumpulan layanan yang disediakan sistem operasi. layanan-layanan ini lebih muda digunakan dibandingkan dengan bahasa mesin secara langsung.

- Sistem operasi harus membuat penggunaan komputer menjadi lebih nyaman
- Sistem operasi menjadikan penggunaan sumber daya sistem komputer secara efisien
- Sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian dan pengajuan fungsi-fungsi yang baru tanpa mengganggu layanan yang dijalankan sistem komputer.

3. Fungsi minor sistem operasi :
Fungsinya untuk mengelola komputer dan proses-proses yang berjalan dikomputer serta semua perangkat keras dan perangkat lunak. contoohnya saat menjalankan beberapa perangkat lunak secara bersamaan dikomputer, maka sistem operasilah yang akan menatur segala proses tersebut untuk memastikan setiap perangkat lunak dapat berjalan normal dalam mengakses ke CPU, memori dan media penyimpanan.

berikut fungsinya :
- Untuk menjalankan operasi dasar
- Untuk mengatur kerja hardware dan software
- Tempat untuk program dan aplikasi
- Untuk mengkoordinasi kerja dari perangkat komputer
- Mengoptimalkan fungsi perangkat komputer
- Untuk mengawasi dan melindungi jalannya sebuah fungsi program
- Untuk menyajikan tampilan dan sebagai interface ke pengguna


4. Sasaran yang harus dicapai oleh suatu sistem opersi yang baik adalah :
  •  Kenyamanan pengguna :
Sistem operasi harus membuat pengguna nyaman menggunakannya. pengguna komputer harus bisa melakukan tugasnya tanpa terganggu oleh hal lain. misalnya bila pengguna komputer ingin menyusun dokumen, maka sistem operasi yang baik akan memudahkan pengguna mencari draft dokumen difile explorer. Pengguna harus bisa menjalankan pengolah dokumen dengan lancar tanpa gangguan seperti hang atau perlambatan komputer.
  •  Efesiensi penggunaan :
Sistem operasi harus bisa memanfaatkan kemampuan perangka lunak dan perangkat keras komputer dengan sebaik-baiknya. Contohnya bila suatu komputer memiliki monitor dengan kemampuan resolusi tampilan maksimal 1920x1280 pixel, maka sistem operasi yang baik harus mampu menampilkan tampilan hingga resolusi ini tidak terbatas hanya pada resolusi rendah dibawahnya seperti resolusi 1024x700 pixel.
  • Kemampuan berevolusi (berkembang) : 
Sistem operasi harus mampu berkembang dengan memiliki kemampuan penambahan fitur baru disistem operasi itu, atau penambahan perangkat lunak dan perangkat keras dikomputer. Contohnya Pemasangan printer baru di komputer. Sistem operasi yang baik harus mampu langsung mendeteksi printer begitu printer terhubung dengan komputer dan mencari serta menginstal driver yang diperlukan printer agar berjalan. Contoh lain bila ada serangan virus atau malware lainnya, maka sistem operasi yang baik harus mampu mendoenload update terbaru dan menginstalnya sehingga terlindung dari virus itu.







Minggu, 06 Oktober 2019

Tugas RPL pengembangan PL beserta kelebihan dan kekurangan

Tugas I (Individu)
*Carilah Penjelasan tentang Model pengembangan PL yang lain, beri keterangan dalam tiap alur sertakan kelebihan dan kekurangannya.

1. Prototype
2. Transformasi formal
3. R.A.D (Rapid Application Development)
4. Pengembangan Incremental
5. Spiral
6. Fourth-Generation Techniques(4GT)



1. Model prototype
Prototype merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan system. Prototyping, dimulai dengan pengumpulan kebutuhan, mendefinisikan objek keseluruhan dari software, mengidentifikasikan segala kebutuhan, kemudian dilakukan perancangan kilat yang difokuskan pada penyajian aspek yang diperlukan.

Kelebihan prototype :

  • Prototype melibatkan user dalam analisa dan desain.
  • Puny kemampuan menangkap requirement secara konkret daripada secara abstrak.
  • Untuk digunakan secara standalone.
  • Mempersingkat waktu pengembangan sistem informasi.
  • Digunakan untuk memperluas SDLC.
Kekurangan prototype :
  • Mengesampingkan alternatif pemecahan masalah.
  • Biasanya kurang fleksibel menghadapi perubahan.
  • Proses analisis dan perancangan terlalu singkat.
  • Protorype yang dihasilkan tidak selamanya mudah dirubah.
2. Transformasi formal
    Transformasi formal digunakan untuk mengembangkan bagian-bagian sistem yang memiliki persyaratn keselamatan yang tinggi dan pendekatan reuse digunakan untuk pengimplementasian bagian-bagian lain dari sistem data manajemen.

    Kelebihan Transdormasi formal :
    • Mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis 
    • Efektif dalam segi biaya
    • Memiliki resiko lebih rendah terhadap keseluruhan pengembangan sistem 

    Kekurangan Transformasi formal
    • Kesulitan dalam menspesifikasikan beberapa aspek ke dalam sistem misalnya dalam penentuan user interface.
    • Dibutuhkan keterampilan dan pelatihan khusus untuk mengaplikasikan teknik ini .
    • Memerlukan tingkat kerahasian dan keamanan yang tinggi sebelum digunakan.

    3. Model rapid application development(RAD)
    Rapid aplication development adalah sebuah model proses pengembangan perangkatlunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60-90 hari). Model RAD ini merupakan sebuah adaptasi "Kecepatan tinggi"dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen.

    Kelebihan RAD :
    • Lebih efektif dari pengembangan model waterfall/sequential linier dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan 
    • Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efesien.
    • Cocok untuk proyek yang memerlukan waktu yang singkat
    Kekurangan RAD :
    • Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, didalam waktu yang sangat di perpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
    • Tidak semua aplikasi sesuai untuk RAD, bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah .
    • RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
    • Membutuhkan tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar .
    • Jika ada perubshsn ditengah-tengah pengerjaan maka harus membuat kontak yang baru antra pengembang dan pelanggan.
    4. Pengembangan incremental
    Dalam model incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunakyang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.

    Kelebihan Incremental :
    • Resiko yang rendah pada pengembangan sistem.
    • Mengutamakan fungsi fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan 
    • Mampu mengakomodasi perubahan kebutuhan customer.
    • Memaksimalkan pengembalian modal investasi konsumen
    Kekurangan Incremental :
    • Hanya akan berhasul jika tidak ada staffing untuk penerapan secara menyeluruh.
    • Penambahan staff dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
    • Hanya cocok untuk proyek dengan skala kecil.
    • Kemungkinan tiap bagian tidak dapat diintegrasikan.

    5. Spiral
    Model spiral / spiral model adalah model pengembangan software dimana proses digambarkan sebagai spiral. Setiap loop akan mewakili satu fase dari proses pembuatan/perancangan software. loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya.

    Kelebihan Spiral :

    • Setiap tahap pengerjaan diibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan. 
    • Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
    • Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat komputer.
    • Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses 
    • Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan didalam evolusi produk.
    • Tetap mengikuti langkah-langkah dalam siklus kehidapan klasik dan memasukannya kedalam angka kerja iteratif.
    • Membutuhkan pertimbssngsn langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius.
    Kekurangan spiral :

    •  Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
    • Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
    • Hanya cocok untuk proyek dengan skala kecil
    • Kemungkinan tiap bagian tidak dapat diintegrasikan.

    6. Fourth generation technique (4GT)
    Fourth generation technique (4GT) meliputi seperangkat peralatan software yang memungkinkan seorang developer software menerapkan beberapa karakteristik software pada tingkat yang tinggi, yang kemudian menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi yang ditentukan developer.

    Kelebihan Fourth generation technique (4GT) :
    • Karena 4GT menggunakan 4GL yang "notabene" merupakan bahasa pemograman uang khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT. bahkan ada 4GL yang bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
    Kekurangan Fourth generation technique (4GT) :
    • Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, wlau digunakan bahasa 4GL. penggunaan 4GT tanpa perancangan matang ( untuk proyek besar ) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional. 4GL tidak selalu berhasil menghasilkan sistem yang diinginkan 



























    source : https://siniajacom.blogspot.com/2017/10/model-pengembangan-perangkat-lunak.html
    http://erlanggarpl1.blogspot.com/2014/08/model-model-pengembangan-perangkat-lunak.html

    Selasa, 01 Oktober 2019

    Tugas Sistem Operasi

    Nama : Muhamad Taufik Hidayat
    NPM  : 18121041


    Soal Latihan :

    1. Sebutkan komponen sistem komputer dan jelaskan fungsinya!

    2. Fungsi memori utama adalah untuk menyimpan data dan program, dan bersifat Volatile. Apa yang dimaksud dengan Volatile ? jelaskan !

    3. Interconection antar komponen disebut bus, sebutkan jenis-jenis bus tersebut!









    Jawaban Soal :

    1. Komponen sistem komputer dan fungsinya
    • Hardware (Perangkat keras) : Pusat pemroses, Tempat penyimpanan, peralatan Input-Output.
    • Sistem Operasi : Untuk menghubungkan pengguna dengan hardware.
    • Program aplikasi : Untuk membantu pekerjan pengguna komputer untuk mengolah berbagai macam data.
    • Brainware (User) : Pengguna komputer.

    2. Memori Volatile merupakan memori dimana data-nya dapat ditulis dan dihapus kembali secara berulang-ulang, hanya saja sifat penyimpanan memorinya sementara, data akan hilang ketika memori tidak mendapatkan satu daya, atau saat komputer mati (off) semua data yang tersimpan akan hilang. Artinya volatile tidak dapat mempertahankan data dan program yang disimpan bila sumber daya energi (listrik) dihentikan.


    3. Jenis-jenis bus ada 3 (Tiga)
    • Bus alamat (Address Bus) berisi  16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca dibus ini. jumlah lokasi memori yang dapat dialamati, ditentukan jumlah jalur alamat. jika CPU mempunyai jalur N jalur alamat maka dapat mengalamati 2 perangkat N lokasi memori atau port secara langsung, saat CPU membaca atau menulis data mengenai port, alamat port dikirim dibus alamat.

    • Bus data (Data Bus) berisi 8, 16, 32 jalur sinyal parallel atau lebih. Jalur-jalur data adalah arah. CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem yang dipasang pada bus data tapi hanya satu perangkat pada satu saat yang dapat memakainnya. Untuk mengatur ini, perangkat harus mempunyai tiga state agar dapat dipasang pada bus data

    • Bus kendali (Control Bus) Berisi 4-10 jalur sinyal parallel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain : 
    - Memory read (untuk memerintahkan melakukan pembacaan memori)
    - Memori write (untuk memerintahkan melakukan penulisan memori)
    - I/O read (untuk memerintahkan melakukan pembacaan port I/O) 
    - I/O write (untuk memerintahkan melakukan penulisan port I/O). 






      Referensi : ebook Sistem Operasi (Rudy Setiawan)
      Diterbitkan oleh : CV.Seribu Bintang