Jumat, 24 April 2020

Rangkuman Pertemuan 4 - KONSEP PERANCANGAN - REKAYASA PERANGKAT LUNAK



MODEL PERANCANGAN

• Perancangan data/kelas

o Mengubah model kelas menjadi realisasi kelas perancangan dan struktur data yang diperlukan untuk mengimplementasikan Perangkat Lunak.
o Objek, hubungan dan konten data rinci yang digambarkan oleh atribut kelas dan notasi lainnya memberikan dasar untuk aktivitas perancangan data.
o Bagian dari perancangan kelas dapat terjadi bersamaan dengan perancangan arsitektur Perangkat Lunak. 
o Perancangan kelas yang lebih rinci terjadi karena setiap komponen Perangkat Lunak dirancang

• Perancangan arsitektur 

o Mendefinisikan hubungan antara elemen struktural utama dari Perangkat Lunak, gaya dan pola arsitektur yang dapat digunakan untuk mencapai kebutuhan yang ditentukan untuk sistem, dan kendala yang mempengaruhi cara dimana arsitektur dapat diimplementasikan. 
o Mewakili perancangan kerangka kerja arsitektur sistem berbasis komputer berasal dari model kebutuhan.

• Perancangan antarmuka

o Menggambarkan bagaimana Perangkat Lunak berkomunikasi dengan sistem, dan dengan manusia yang menggunakannya.
o Antarmuka menyiratkan aliran informasi (misalnya: data atau kontrol) dan jenis perilaku tertentu.
o Perancangan antarmuka pada tingkat komponen mengubah elemen struktural dari arsitektur Perangkat Lunak menjadi deskripsi prosedural komponen Perangkat Lunak
o Informasi yang diperoleh dari model berbasis kelas dan model perilaku berfungsi sebagai dasar untuk perancangan komponen.


PROSES PERANCANGAN

• Perancangan Perangkat Lunak adalah proses yang bersifat iteratif dimana spesifikasi kebutuhan Perangkat Lunak diterjemahkan menjadi “blue print" untuk membangun Perangkat Lunak.
• Blue print menggambarkan pandangan holistik Perangkat Lunak. Yaitu, perancangan diwakili pada tingkat abstraksi yang tinggi pada tingkat yang dapat langsung ditelusuri ke tujuan sistem dan data yang lebih rinci, fungsional, dan kebutuhan perilaku
• Saat iterasi perancangan Perangkat Lunak berlangsung, penghalusan lebih lanjut akan menggerakkan abstraksi yang lebih rendah.


Atribut-Atribut Kualitas Perangkat Lunak

• Tiga karakteristik umum yang berfungsi sebagai panduan untuk evaluasi perancangan yang baik:
o Perancangan Perangkat Lunak harus menerapkan semua spesifikasi kebutuhan yang secara eksplisit ada dalam model kebutuhan, dan mengakomodasi semua spesifikasi kebutuhan implisit yang diinginkan oleh stakeholder.
o Perancangan Perangkat Lunak harus menghasilkan produk kerja yang mudah dibaca dan dimengerti bagi mereka yang membuat kode-kode program dan yang akan melakukan mengujian untuk kemudian mendukung Perangkat Lunak. 
o Perancangan Perangkat Lunak seharusnya menyediakan gambaran lengkap tentang Perangkat Lunak, menangani permasalahan data, fungsional, dan perilaku dari perspektif implementasi.

Panduan Kualitas Perangkat Lunak
• Tujuannya untuk mengevaluasi kualitas representasi perancangan
o Rancangan Perangkat Lunak harus menunjukkan arsitektur yang :
 Telah dibuat menggunakan gaya atau pola arsitektur yang dapat dikenali  
 Tersusun atas komponen-komponen yang menunjukkan karakteristik perancangan yang baik  
 Dapat diimplementasikan secara evolusioner, dan memfasilitasi implementasi dan pengujian.
o Rancangan Perangkat Lunak harus bersifat modular, artinya Perangkat Lunak harus secara logis menjadi bagian dalam elemen-elemen atau subsistem
o Rancangan Perangkat Lunak harus berisi representasi data, arsitektur, objek-objek, antarmuka, dan komponen yang berbeda.
o Rancangan Perangkat Lunak harus memuat struktur data yang sesuai untuk kelas yang akan diimplementasikan dan digambarkan dari pola-pola data yang dapat dikenali.
o Rancangan Perangkat Lunak harus mengarah pada komponen yang menunjukkan karakteristik fungsional yang bersifat independen.
o Rancangan Perangkat Lunak harus memuat antarmuka yang mengurangi kompleksitas hubungan antar komponen dan dengan lingkungan eksternal.
o Rancangan Perangkat Lunak harus diturunkan dari metode perulangan yang dikendalikan oleh informasi yang diperoleh selama analisis kebutuhan Perangkat Lunak.
o Sebuah perancangan harus direpresentasikan menggunakan notasi yang secara efektif mengkomunikasikan maknanya.

Atribut-Atribut Kualitas

• Fungsionalitas
o Dinilai dengan mengevaluasi sejumlah fitur dan kemampuan program, fungsi-fungsi umum yang disampaikan, dan keamanan sistem secara keseluruhan.
• Peggunaan
o Dinilai dengan mempertimbangkan faktor manusia, estetika, konsistensi, dan dokumentasi.
• Keandalan
o Dievaluasi dengan mengukur frekuensi dan tingkat keparahan kegagalan, akurasi hasil keluaran, waktu antar kegagalan, recovery, dan prediktabilitas program.
• Kinerja
o Diukur menggunakan kecepatan pemrosesan, waktu tanggap, konsumsi sumber daya, throughput, dan efisiensi.
• Daya dukung
o Menggabungkan kemampuan program untuk dikembangkan, kemampuan beradaptasi, dan kemampuan melayani kebutuhan pengguna, kemampuan uji, kompatibilitas, konfigurabilitas (kemampuan untuk mengatur dan mengontrol elemen-elemen konfigurasi Perangkat Lunak).


KONSEP-KONSEP PERANCANGAN

• Konsep perancangan pada dasarnya akan menyediakan kebutuhan:
o Kriteria yang digunakan untuk membagi Perangkat Lunak menjadi komponen yang bersifat mandiri
o Rincian fungsi/struktur data yang dapat dipisahkan dari representasi konseptual
o Kriteria yang digunakan untuk mendefinisikan kualitas teknis perancangan Perangkat Lunak
Abstraksi
• Pada tingkat abstraksi tertinggi, penyelesaian masalah dinyatakan dalam istilah luas menggunakan bahasa pada lingkungan permasalahan.
o Pada tingkat abstraksi lebih rendah, deskripsi yang lebih rinci dari penyelesaian masalah harus diberikan.
o Terminologi berorientasi masalah digabungkan dengan terminologi berorientasi implementasi dengan tujuan untuk lebih dapat menyelesaikan permasalahan
o Pada tingkat abstraksi yang paling rendah, penyelesaian masalah dapat langsung diimplementasikan menggunakan bahasa pemrograman yang dipilih.
Arsitektur
• Arsitektur sistem/Perangkat Lunak merupakan struktur keseluruhan Perangkat Lunak dan cara bagaimana struktur tersebut memberikan integritas konseptual untuk suatu sistem/Perangkat Lunak.
• Arsitektur sistem/Perangkat Lunak juga merupakan struktur/organisasi dari komponen program (modul) yang menjelaskan bagaimana komponen-komponen tersebut berinteraksi, dan struktur data yang digunakan oleh komponen.
Pola (Pattern)
• Pola adalah suatu wawasan yang di dalamnya memuat esensi dari solusi yang terbukti untuk permasalahan perancangan Perangkat Lunak dalam konteks tertentu.
• Tujuan dari setiap pola perancangan adalah untuk memberikan deskripsi yang memungkinkan perancang untuk menentukan:
o Apakah pola berlaku untuk pekerjaan saat ini
o Apakah pola dapat digunakan kembali
o Apakah pola dapat berfungsi sebagai panduan untuk mengembangkan pola yang serupa, tetapi berbeda secara fungsional atau struktural
Pemisahan Perhatian
• Pemisahan perhatian adalah konsep perancangan yang menunjukkan bahwa masalah yang kompleks dapat diselesaikan jika permasalahan itu dibagi menjadi bagian-bagian yang lebih kecil yang lebih mudah diselesaikan dan/atau dioptimalkan secara independen.
• Pemisahan perhatian dapat diimplementasikan menggunakan konsep perancangan Perangkat Lunak yang saling berhubungan seperti: modularitas, aspek-aspek, kemandirian fungsional, dan penghalusan.
Modularitas
• Modularitas adalah atribut tunggal dari Perangkat Lunak yang memungkinkan suatu program untuk dapat dikelola secara cerdas.
• Perangkat Lunak monolitik adalah program besar yang terdiri dari satu modul.
• Perangkat Lunak monolitik tidak dapat dengan mudah dipahami oleh rekayasawan Perangkat Lunak. Jumlah lintasan kendali, rentang referensi, jumlah variabel, dan kompleksitas keseluruhan hampir tidak mungkin dimengerti.
Penyembunyian Informasi
• Maksudnya bahwa Modul Perangkat Lunak harus dispesifikasikan dan dirancang sedemikian rupa sehingga informasi (algoritma dan data) yang terdapat dalam modul tidak dapat diakses oleh modul lain yang tidak memerlukan informasi tersebut.
• Penyembunyian informasi (Information hiding) menyiratkan bahwa modularitas yang efektif dapat dicapai dengan mendefinisikan sejumlah modul independen yang berkomunikasi satu sama lain dalam hal informasi yang diperlukan untuk mencapai fungsi Perangkat Lunak.
• Manfaatnya ketika modifikasi tertentu perlu dilakukan selama pengujian Perangkat Lunak dan selama pemeliharaan Perangkat Lunak.
Independensi Fungsional
• Konsep independensi fungsional adalah hasil langsung dari pemisahan masalah, modularitas, dan konsep abstraksi dan penyembunyian informasi.
• Independensi fungsional dicapai dengan cara mengembangkan modul yang memiliki fungsi tunggal (single-minded) dan memiliki interaksi yang bersifat tertutup dengan modul lain.
• Modul independen lebih mudah dikembangkan karena fungsi-fungsi di dalamnya dapat dilokalisasi dan antarmuka disederhanakan.
• Modul independen lebih mudah dipelihara dan diuji
Penghalusan
• Penghalusan merupakan proses elaborasi yang dimulai dengan pernyataan fungsi (atau deskripsi informasi) yang didefinisikan pada tingkat abstraksi yang tinggi.
• Penghalusan langkah demi langkah menggunakan strategi perancangan top-down.
• Hirarki Perangkat Lunak dikembangkan dengan melakukan dekomposisi pernyataan fungsi yang bersifat makro (abstraksi prosedural) secara bertahap hingga pernyataan dalam bahasa pemrograman dapat tercapai.
• Penghalusan membantu untuk mendapatkan rincian pada tingkat rendah saat perancangan berlangsung.
Refaktorisasi
• Refaktorisasi adalah teknik reorganisasi perancangan Perangkat Lunak yang bertujuan untuk menyederhanakan perancangan (atau kode) dari komponen tanpa harus mengubah fungsi atau perilakunya.
• Refaktorisasi Perangkat Lunak, diperiksa kembali untuk:
o Menemukan redundansi
o Menemukan elemen perancangan yang tidak digunakan
o Menemukan algoritma yang tidak efisien (tidak perlu)
o Menemukan struktur data yang konstruksinya buruk
o Menemukan kegagalan perancangan lainnya yang dapat diperbaiki untuk menghasilkan perancangan yang lebih baik.

Minggu, 29 Maret 2020

Pengenalan RPL ( Rekayasa Perangkat Lunak )

PERANGKAT LUNAK
  Definisi Perangkat Lunak (PL) adalah:
Instruksi-instruksi program komputer yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi dan kinerja yang dikehendaki
Struktur data yang memungkinkan programprogram memanipulasi informasi
Informasi deskriptif pada salinan tercetak dan bentuk-bentuk maya yang menggambarkan pengoperasian dan penggunaan program

  Kategori Perangkat Lunak
PL Sistem (System Software)
PL Aplikasi (Application Software)
PL Rekayasa/Ilmiah (Engineering/Scientific Software)
PL yang tertanam (Embedded Software)
PL Lini Produk (Product-Line Software)
PL Aplikasi Web (Web/Mobile Applications)
PL Kecerdasan Buatan (Artificial Intelligence Software)

  Jenis Perangkat Lunak Aplikasi
a. Stand-Alone Applications adalah contoh aplikasi seperti aplikasi office pada PC, program CAD, software manipulasi foto, dll
b. Interactive Transaction-Based Aapplications adalah aplikasi yang mengeksekusi pada komputer remote dan yang diakses oleh pengguna dari PC mereka sendiri atau terminal
c. Batch Processing Systems adalah sistem bisnis yang dirancang untuk memproses data input yang besar untuk membuat output yang sesuai. Contoh: sistem penagihan telepon, dan sistem pembayaran gaji.
d. Embedded Control Systems adalah sistem kontrol Perangkat Lunak yang mengontrol dan mengelola perangkat keras, atau sistem yang tertanam pada jenis sistem lain. Contoh: Perangkat Lunak yang mengontrol pengereman anti-lock mobil, dan software dalam oven microwave untuk mengontrol proses memasak.
e. Entertainment Systems adalah sistem yang terutama untuk penggunaan pribadi dan yang dimaksudkan untuk menghibur pengguna.
f. Systems for Modelling and Simulation adalah sistem yang dikembangkan untuk model proses fisik atau situasi, dengan banyak objek yang saling berinteraksi.
g. Data Collection Systems adalah sistem yang mengumpulkan data dari lingkungan mereka menggunakan satu set sensor dan mengirim data ke sistem lain untuk diproses
h. Systems of Systems adalah sistem yang terdiri dari sejumlah sistem PL lain.

  Kegagalan Perangkat Lunak

Faktor-faktor penyebab kegagalan Perangkat Lunak:
1. Meningkatnya tuntutan RPL membangun sistem yang lebih besar, sistem yang lebih kompleks menyebabkan tuntutan berubah. Sistem harus dibangun dan disampaikan lebih cepat, lebih besar, dan lebih kompleks. Sistem harus memiliki kemampuan baru yang sebelumnya dianggap mustahil.
2. Harapan yang rendah Hal ini relatif mudah untuk menulis program komputer tanpa menggunakan metode dan teknik RPL. Banyak Pengusaha yang tidak menggunakan metode RPL, akibatnya PL lebih mahal dan kurang dapat diandalkan.

REKAYASA PERANGKAT LUNAK (RPL)
RPL adalah disiplin teknik yang berkaitan dengan semua aspek produksi Perangkat Lunak (PL) dari tahap awal spesifikasi sistem sampai pemeliharaan.
Aspek produksi RPL berkaitan dengan proses teknis dari pengembangan PL, manajemen proyek PL dan pengembangan alat-alat, metode, dan teori untuk mendukung produksi PL.
RPL merupakan aplikasi dari suatu pendekatan yang semantik, disiplin, dan dapat diukur pada pengembangan, operasi, dan perawatan PL.
  Perangkat Lunak (PL) dalam segala bentuk aplikasinya harus direkayasa, dengan alasan:
PL telah menyatu secara maya dengan setiap aspek dalam kehidupan
Kebutuhan IT yang sudah banyak dituntut oleh individu, bisnis dan pemerintah bertambah kompleks
Individu, bisnis, dan pemerintah mengandalkan PL untuk mengambil keputusan yang bersifat taktis dan strategis
Nilai aplikasi terus bertambah, kemungkinan jumlah pengguna dan usia PL akan bertambah.

  PROSES PERANGKAT LUNAK
Suatu proses merupakan sekumpulan aktivitas, aksi, dan tugas yang dijalankan ketika suatu produk kerja harus dibuat.
Sebuah proses PL adalah urutan kegiatan yang mengarah ke produksi produk software.
Empat kegiatan proses PL adalah: a.
a. Spesifikasi PL
b. Pengembangan PL
c. Software validasi
d. Software evolusi
Suatu aktivitas berupaya mencapai tujuan umum dan diterapkan tanpa memperhatikan lingkungan aplikasi, tanpa memperhatikan ukuran proyek, tanpa memperhatikan kompleksitas dan usaha, dan tanpa memperhatikan kekakuan dari RPL saat diterapkan.
Suatu tugas konsentrasi pada tujuan yang kecil tetapi terdefinisi dengan baik.
Kerangka kerja proses membangun dasar bagi proses RPL yang lengkap dengan cara mengidentifikasikan aktivitas kerangka kerja yang cocok untuk semua proses RPL.
Kerangka kerja proses mencakup sekumpulan akitivitas yang berperan sebagai penyangga dan cocok dengan keseluruhan proses PL.
Aktivitas kerangka kerja proses:
a. Komunikasi
b. Perencanaan
c. Pemodelan
d. Konstruksi
e. Penyerahan PL ke pelanggan/user
Aktivitas kerangka kerja proses RPL disempurnakan oleh aktivitas yang bertindak sebagai penyangga.
Kegiatan-kegiatan penyangga mencakup:
a. Penelusuran dan kendali proyek PL
b. Manajemen risiko
c. Penjaminan kualilitas PL
d. Tinjauan teknis
e. Pengukuran
f. Manajemen konfigurasi PL
g. Manajemen penggunaan ulang
h. Persiapan produk kerja dan produksi


  MITOS-MITOS PL
A. Mitos Manajemen
Mitos-1: Kita sudah memiliki buku yang standar dan prosedur untuk
   membangun PL.
Realita: Apakah buku tersebut mencerminkan praktek RPL modern, lengkap,
 dan dapat beradaptasi dengan keadaan yang dihadapi saat ini?
Mitos-2: Jika kita tertinggal dari jadwal yang telah ditetap-kan, kita dapat
menambah jumlah programmer dan akan memenuhi jadwal dengan cepat.
Realita: Menambah orang baru untuk proyek PL yang tertunda menyebabkan
 penyelesaian proyek PL tersebut mejadi semakin terlambat.
Mitos-3: Jika memutuskan untuk menyewa orang ketiga untuk mengerjakan
proyek PL, kita bisa sedikit lega karena PL dikerjakan oleh pihak ketiga.
Realita: Jika sebuah organisasi tidak dapat memahami cara mengelola dan
  mengendalikan proyek PL secara internal, maka organisasi tersebut
   akan bekerja lebih keras lagi ketika menyewa pihak ketiga.
B. Mitos Pelanggan
Mitos-1: Pernyataan tujuan umum sudah cukup untuk mulai menulis program, dan kita dapat membuat rinciannya nanti.
Realita: Pembuatan pernyataan kebutuhan yang komprehensif dan stabil tidak selalu dimungkinkan (tidak ambigu), tetapi perlu mengembangkan komunikasi yang efektif antara pengembang dan pelanggan.
Mitos-2: Kebutuhan PL terus menerus berubah, tetapi perubahan-perubahan dapat dengan mudah diakomodasi karena PL bersifat fleksibel.
Realita: Dampak perubahan beragam sesuai dengan waktu di mana perubahan diperkenalkan.

C. Mitos Praktisi
Mitos-1: Ketika kita menulis kode program dan menjalakannya, maka pekerjaan dianggap sudah selesai.
Realita: Semakin cepat kita mulai menulis ‘kode program’, semakin lama waktu yang dibutuhkan untuk menyelesaikannya.
Mitos-2: Satu-satunya produk kerja untuk mencetak proyek PL yang berhasil adalah program yang sedang berjalan.
Realita: Sebuah produk kerja hanyalah sebagian kecil dari konfigurasi PL yang pada dasarnya mencakup banyak unsur RPL yang berhasil dan memberikan panduan bagi dukungan PL.
Mitos-3: RPL akan memaksa kita membuat dokumentasi yang berlebihan dan terkesan tidak penting, dan akan selalu menghambat kemajuan.
Realita: RPL merupakan kegiatan yang bertujuan untuk meningkatkan kualitas produk. Kualitas yang baik mengarah pada berkurangnya pekerjaan yang berulang-ulang sehingga pengiriman ke pelanggan akan lebih cepat.

Kamis, 28 Maret 2019

Resume jaringan Repeater, Bridge dan NIC

Resume jaringan Repeater, Bridge dan NIC


Repeater


Repeater adalah suatu alat yang berfungsi memperluas jangkauan sinyal WiFi yang belum tercover oleh sinyal dari server agar bisa menangkap sinyal WiFi. 

Fungsi :

  1. Untuk menambah dan mengoptimalkan sinyal WiFi
  2. Untuk memperjauh sinyal dari server.
  3. Untuk mempercepat pengiriman dan penerimaan data.
  4. Mengurangi penggunaan kabel jaringan
  5. Sebagai pengganti router jika rusak 

Kelebihan :
  • Dapat memperkuat sinyal.
  • Sebuah analog perangkat yang memperkuat input sinyal terlepas dari alam (analog atau digital).
  • Sebuah digital perangkat yang memperkuat dan membentuk ulang atau melakukan kombinasi dari salah satu fungsi pada sinyal input digital untuk transmisi ulang.
  • Karena repeater berkerja dengan sinyal fisik yang sebenarnya, dan jangan mencoba untuk menginterpretasikan data yang dikirim.
  • Repeater bekerja pada lapisan fisik, di lapisan pertama dari model OSI.
Kekurangan :
  • Repeater harus di tempatkan di tempat yang tinggi
  • Memperpanjang jarak fisik jaringan
  • Jangan serius mempengaruhi kinerja jaringan
  • Khusus terhubung media yang berbeda

Bridge


Bridge adalah sebuah komponen yang digunakan untuk memperluas jaringan atau membuat sebuah segmen jaringan. Bridge juga adalah alat yang bisa mempelajari alamat link yang ada pada setiap perangkat yang terhubung dengannya dan juga mengatur alur frame berdasarkan alamat tersebut.

Fungsi :
  1. Untuk menghubungkan 2 buah jaringan komputer LAN yang sejenis sehingga dapat memiliki satu jaringan LAN yang lebih besar dari ketentuan konfigurasi LAN tanpa bridge.
  2. Dapat menghubungkan beberapa jaringan komputer yang terpisah, itu tipe jaringan yang sama maupun yang berbeda.
Kelebihan : 

  • Mempermudah proses monitoring pada sebuah jaringan
  • Membantu keamanan data dari sebuah organisasi
  • Dapat di aplikasikan pada jaringan LAN
  • Dapat ditarik secara jarak jauh, dengan menggunakan Bridge wireless
  • Dapat memecah jaringan LAN menjadi jaringan yang lebih kecil
  • Menghemat biaya operasional
  • Mudah dalam mengaplikasikan Bridge
Kekurangan : 

  • Fiturnya kebanyakan hanya terbatas pada konektivitas LAN
  • Tidak selengkap router dalam hal fitur - fiturnya
NIC (Network Interface Card)


NIC adalah sebuah kartu yang berfungsi sebagai jembatan dari komputer ke sebuah jaringan komputer.

Fungsi : 
  1. Membangun sebuah jaringan komputer dan menghubungkan komputer satu dengan komputer lain.
  2. Membantu mempermudah keperluan pengiriman data dan informasi antar komputer.
  3.  Menghubungkan  jaringan local dengan jaringan internet.
  4. Mengintegrasikan komputer dengan beberapa peralatan elektronik.
Kelebihan :

  • Senang untuk menambah atau mengurangkan komputer Ndan mod tanpa mengganggu operasi yang telah dijalankan.
  • Kurang kabel dan jarak LAN tidak terbatas.
  • Murah
  • Sesuai untuk rangkaian yang kecil.
Kekurangan : 

  • Jika kabel tulang belakang ( backbone) atau nama - nama bosnya bermasalah rangkaian tidak dapat berfungsi, maka :
  • Memerlukan Terminator untuk kedua - dua hujung kabel tulang belakang.
    Sukar mengesankan kerusakan.
    Perlu pengulan (repeater) jika jarak LAN jauh.
    Persian tambahan diperlukan untuk mengelakkan pelanggaran (collision) data.