Welcomw To Blogspot Riezal Cinta Damai

Archives

IMPLEMENTASI PERANGKAT LUNAK

TUJUAN
1.   Mengetahui aktivitas pada tahapan implementasi Perangkat Lunak
2.   Mengetahui standar pemrograman
3.   Mengetahui konsep modularitas program
4.   Mengetahui konsep abstraksi data

A.1. AKTIVITAS IMPLEMENTASI
Merupakan sekumpulan aktivitas di mana rancangan perangkat lunak yang telah dibuat pada tahap perancangan kemudian dikodekan ke dalam bentuk kode program dengan menggunakan bahasa pemrograman tertentu agar dapat dijalankan pada komputer.
Fondasi  dari  aktivitas  ini  adalah  pemrograman.  Tools  untuk  membuat    program  disebut  bahasa pemrograman. Programmer membuat program dengan panduan dokumentasi rancangan perangkat lunak,  namun pada umumnya programmer juga memeriksa semua dokumen dari tahapantahapan sebelumnya (semisal SKPL) untuk memeriksa konsistensi dari dokumentasi-dokumentasi yang ada.

A.2.  AKTIVITAS PEMROGRAMAN
Program adalah serangkaian ekspresi yang disusun menjadi kesatuan prosedur berupa urutan langkah untuk menyelesaikan suatu permasalahan dan diimplementasikan dalam bentuk bahasa pemrograman sehingga dapat dijalankan pada komputer. Adapun bahasa pemrograman merupakan tatacara penulisan program. Pada bahasa pemrograman terdapat dua factor penting, yakni:
-           Sintaks, yaitu aturan-aturan gramatikal yang mengatur tatacara penulisan ekspresi/statemen.
-           Semantik, yaitu aturan-aturan untuk menyatakan suatu arti.




A.2.1. STANDAR PROGRAM YANG BAIK
Standar pemrograman dibutuhkan untuk menciptakan suatu program dengan portabilitas yang tinggi sehingga  memudahkan  dalam  merancang  dan  merawat  program  serta  meningkatkan  efektivitas penggunaan peralatan komputer. Beberapa standar dasar penilaian untuk sebuah program dikatakan baik antara lain:
1.   Teknik pemecahan masalah
2.   Penyusunan program
3.   Perawatan program
4.   Standar prosedur

A.2.1.1. STANDAR TEKNIK PEMECAHAN MASALAH
Setelah  masalah  dipahami  dengan baik,  seorang  pemrograman membutuhkan suatu teknik untuk memecahkan masalah tersebut. Ada dua pendekatan yang umum digunakan, yakni:
-           Teknik Top-Down merupakan teknik pemecahan masalah di mana suatu masalah yang kompleks dibagi-bagi menjadi beberapa struktur hingga unit yang paling kecil, setelah itu kemudian disusun langkahlangkah untuk menyelesaikan masalah secara rinci. Teknik semacam ini digunakan pada metode pemrograman terstruktur
-           Teknik Bottom-Up merupakan teknik pemecahan masalah yang berkebalikan dengan teknik Top-Down di mana penyelesaian masalah dimulai dari hal-hal yang bersifat khusus, kemudian naik ke bagian yangbersifat umum. Teknik semacam ini digunakan pada metode pemrograman berorientasi objek Setelah  memilih  teknik  pemecahan  masalah,  pemrogram  mulai  menyusun  langkah-langkah  untuk memecahkan masalah, yang disebut dengan algoritma. Algoritma yang baik memiliki ciri-ciri sebagai.
berikut:
-           Tepat, benar, sederhana, standar, dan efektif
-           Logis, terstruktur, dan sistematis
-           Semua operasi terdefinisi
-           Semua proses harus berakhir setelah sejumlah langkah dilakukan
-           Menggunakan bahasa standar sehingga tidak ambigu

A.2.1.2. STANDAR PENYUSUNAN PROGRAM
Beberapa faktor yang menjadi standar dalam penyusunan program  antara lain:
-           Kebenaran logika dan penulisan
Program yang disusun harus memiliki kebenaran logika dalam pemecahan masalah maupun penulisan kode program. Program harus tepat dan teliti dalam perhitungan sehingga hasilnya dapat dipercaya
-           Waktu minimum untuk penulisan program
Penulisan program harus memiliki waktu minimum, artinya waktu minimal yang harus tersedia untuk menuliskan kode program dari awal hingga siap untuk dieksekusi
-           Kecepatan maksimum eksekusi program
Agar program memiliki kecepatan eksekusi maksimum, perlu diperhatikan beberapa hal antara lain bahasa pemrograman yang digunakan, algoritma yang disusun, teknik pemrograman yang dipakai, dan perangkat keras yang digunakan. Kecepatan maksimum juga dapat ditingkatkan dengan memperbaiki struktur program misalkan:
§  Menghindari proses pengujian yang berulang-ulang secara percuma
§  Meletakkan syarat pengujian yang akan menolak data dengan jumlah terbanyak sebagai syarat pengujian pertama, syarat pengujian dengan jumlah terbanyak kedua sebagai syarat pengujiankedua, dan seterusnya
§  Memperbaiki susunan baris program guna meningkatkan kecepatan eksekusi

-           Ekspresi penggunaan memori
Semakin sedikit penggunaan memori, semakin cepat program dieksekusi. Untuk meminimumkan penggunaan memori, maka perlu diperhatikan:
§  Menggunakan tipe data yang cocok untuk kebutuhan pemrograman
§  Menghindari penggunaan variabel berindeks secara berulang kali

-               Kemudahan merawat dan mengembangkan program
Program yang memiliki struktur yang baik, struktur data jelas, dan dokumentasi yang lengkap dan mudah dipahami, akan mudah untuk dirawat dan dikembangkan
-           User friendly
Program  yang  baik  harus  memiliki   layanan   untuk   mempermudah  pemakai  untuk menggunakannya, misalkan layanan online help
-           Portabilitas
Program yang baik harus dapat dijalankan pada kondisi platform yang berbeda-beda, baik itu sistem operasi maupun perangkat keras
-           Modular
Pada pendekatan pemrograman, masalah dibagi-bagi menjadi unit terkecil, yang disebut modul untuk  menyederhanakan  pengimplementasian  langkah-langkah  pemecahan  masalah  dalam bentuk program

A.2.1.3. STANDAR PERAWATAN PROGRAM
Beberapa  standar  yang  harus  dipenuhi  agar  memudahkan  pemrogram  dalam    merawat  dan mengembangkan program antara lain:
1.   Dokumentasi
Dokumentasi merupakan catatan dari setiap langkah pekerjaan membuat program dari awal hingga akhir. Dokumentasi ini penting untuk memudahkan menelusuri adanya kesalahan maupun untuk  pengembangannya. Dokumentasi yang baik akan memberikan informasi yang memada
2.   Penulisan Instruksi
Untuk  memudahkan perawatan  program,  sebaiknya  penulisan  program  dilakukan  sebagai berikut:
§  Menuliskan satu instruksi pada satu baris program
§  Memisahkan  modul-modul  dengan  memberikan  spasi  beberapa  baris  untuk mempermudah pembacaan
§  Membedakan bentuk huruf dalam penulisan program
§  Memberikan tabulasi yang berbeda untuk penulisan instruksiinstruksi yang berada pada loop atau struktur kondisional
§  Menghindari penggunaan konstanta dalam penulisan rumus, jika konstanta tersebut mungkin berubah
§  Melakukan pembatasan jumlah baris instruksi per moduli sehingga orang lain dapat mengerti dan  memahami alur logika program

A.2.1.4. STANDAR PROSEDUR
Penggunaan prosedur standar akan memudahkan bagi pengembang program untuk mengembangkan program tersebut


A.3. MODULARITAS
Modularitas merupakan sebuah konsep untuk memecah program menjadi modul-modul kecil di mana masing-masing modul berinteraksi melalui antarmuka modul. Dengan adanya modularitas, kesalahan di satu bagian program dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian lainnya, program menjadi lebih sederhana sehingga lebih mudah dipahami.
A.3.1. KRITERIA MODULARITAS
Terdapat lima kriteria modularitas, yakni:
1.   Decomposibility
Kemampuan untuk mendekomposisi masalah menjadi submasalah yang lebih sederhana dan dihubungkan dengan struktur yang sederhana
2.   Composability
Kemampuan membangun modul-modul program yang kemudian dapat diintegrasikan menjadi program pada lingkungan yang mungkin berbeda dengan saat modul tersebut dibangun
3.   Understandability
Kemampuan menghasilkan program di mana programmer dapat memahami masing-masing modul tanpa perlu mengetahui detailnya
4.   Continuity
Kemampuan meredam propagasi perubahan, yaitu suatu kondisi  di mana perubahan kecil pada satu modul memicu perubahan hanya pada satu modul atau sedikit modul yang terkait
5.   Protection
Kemampuan meredam kondisi abnormal hanya pada satu modul

A.3.2. ATURAN MODULARITAS
Terdapat pula lima aturan modularitas, antara lain:
1.   Direct mapping
Struktur model yang ada pada masing-masing tahap pengembangan perangkat lunak semestinya kontinyu, dalam artian modul yang terdapat pada analisis masih merupakan modul pada tahap perancangan dan tetap menjadi modul pada saat pemrograman
2.   Few interfaces
Setiap modul seharusnya berinteraksi dengan sesedikit mungkin dengan modul lain sebab jika terjadi banyak interaksi antar modul akan meningkatkan propagasi perubahan
3.   Small interfaces (weak coupling)
Untuk modul-modul yang berkomunikasi, diusahakan informasi yang dipertukarkan pada saat komunikasi adalah sesedikit mungkin sehingga mengurangi ketergantungan antar modul
3.   Explicit interface
Kapan saja modul X dan Y berkomunikasi maka komunikasi ini harus dari teks X atau Y atau keduanya
4.   Information hiding
Pemrogram harus merancang modul dengan sekelompok fitur pada suatu modul tampak pada modul lain, sedangkan fitur lainnya diusahakan tersembunyi dari modul lain. Modul lain hanya berhubungan dengan modul lewat deskripsi pada fitur yang terlihat tersebut
A.3.3. PRINSIP MODULARITAS
Terdapat juga lima prinsip modularitas, yakni:
1.   The Linguistic Modular Units principle
Modul harus merupakan unit sintaks pada bahasa pemrograman yang digunakan. Prinsip ini umumnya  dilanggar  karena  itu  pengembang  terpaksa  harus  melakukan  translasi  atau restrukturisasi terhadap model rancangan yang diperolehnya
2.   The Self-Documentation Principle
Perancang modul harus membuat semua informasi mengenai modul yang berkaitan terdapat pada modul tersebut. Dokumentasi internal ini sangat penting untuk proses pengembangan dan pemeliharaan perangkat lunak
3.   The Uniform Access Principle
Semua layanan modul seharusnya tersedia melalui notasi yang seragam tanpa memperhatikan pengimplementasian layanan tersebut apakah untuk keperluan penyimpanan atau komputasi


4.   The Open-Closed Principle
Modul harus bersifat terbuka dalam artian terbuka untuk dikembangkan serta bersifat tertutup dalam  artian  komunikasi  antar  modul  hanya  melalui  antarmuka  yang  telah  ditetapkan mekanismenya
5.   The Single Choice Principle
Kapan saja program harus mendukung beberapa alternatif, satu dan hanya satu modul pada program yang mengetahui daftar lengkap dari yang dimilikinya

A.3.4. KRITERIA MODUL YANG BAIK
Beberapa kriteria dari modul yang baik antara lain:
1.   Kohesif
Modul dikatakan kohesif jika fungsionalitasnya terdefinisi  dan  terfokus dengan  baik.  Kohesi mengacu  pada  derajat  elemen-elemen  modul  yang  saling  berhubungan.  Modul  kohesif melakukan satu tugas tunggal pada suatu prosedur program yang memerlukan sedikit interaksi dengan prosedur yang sedang dilakukan pada bagian lain program.
Modul yang melakukan serangkaian tugas yang saling berhubungan secara lepas disebut sebagai
kohesif  koinsidental.  Modul  yang melakukan tugas yang berhubungan secara logis disebut kohesif secara
logis. Bila modul berisi tugas-tugas yang dieksekusi dalam jangka waktu sama, maka modulmodul tersebut disebut kohesif temporal.
Bila elemen pemrosesan dari suatu modul dihubungkan dan dieksekusi dalam suatu urutan yang spesifik,  maka  akan  muncul  kohesi  prosedural.  Dan  bila  semua  elemen  pemrosesan berkonsentrasi pada satu area pada suatu struktur data, maka terjadi kohesi komunikasional
2.         Loosely coupled
Coupling  mengacu kepada derajat  modul-modul  saling  berkomunikasi.  Modul-modul  harus seminimal mungkin berkomunikasi dengan modulmodul lain. Maka dari itu nilai derajat coupling harus sekecil mungkin
3.         Enkapsulasi
Modul harus memenuhi persyaratan information hiding. Atribut dari modul seharusnya tidak secara langsung tersedia untuk modul-modul lain. Atribut-atribut modul hanya tersedia ke modulmodul lain melalui antarmuka yang telah ditetapkan. Enkapsulasi mengimplikasikan pemahaman implementasi  modul  tertentu  tidak  dibutuhkan  bagi  pemakai  modul  sehingga  tidak  perlu mengetahui detail dankeseluruhan isi modul
5.         Reuseability
Merupakan sasaran strategis rekayasa perangkat lunak dan dapat meningkatkan produktivitas pengembangan perangkat lunak. Implikasi dari reuseability adalah fungsionalitas modul harus segeneral dan seluas mungkin sehingga dapat digunakan oleh modul lain dan dapat mengurangi waktu dan biaya yang dikeluarkan

A.4. ABSTRAKSI DATA
Abstraksi  data  merupakan  suatu  cara  untuk  menggambarkan  data  dengan  memisahkannya  dari implementasinya. Salah satu jenis abstraksi data adalah tipe data dan juga ADT (Abstract Data Type).
Dengan abstraksi, seorang pemrogram tidak memperdulikan bagaimana data itu diimplementasikan, contohnya tipe data int merupakan abstraksi dari sekumpulan bit di memori sebagai bilangan bulat.
Tipe data merupakan sekumpulan nilai dan operasi yang diasosiasikan pada nilai-nilai itu. Sedangkan ADT mendeklarasikan sekumpulan nilai, operasi pada nilai, dan aksioma-aksioma yang senantiasa dipenuhi oleh operasioperasi tersebut. ADT tidak mendefinisikan cara nilai tersebut diimplementasikan sehingga mungkin terdapat beberapa implementasi berbeda untuk ADT yang sama.

A.4.1. CIRI-CIRI DARI ADT ADALAH:
-           Berisi struktur data dan operasi-operasi terhadap struktur data tersebut
-           Menyediakan pengkapsulan
-           Menyediakan information hiding
-           Menyediakan abstraksi
-           Tidak menspesifikasikan implementasi struktur data
-           Menspesifikasikan perilaku dari ADT




A.4.2. KEGUNAAN ADT ANTARA LAIN:
-           ADT menyediakan dasar untuk modularitas perangkat lunak
-           Mengidentifikasikan setiap modul dengan implementasi ADT, yaitu deskripsi sekumpulan objek dengan antarmuka bersama
-           Antarmuka didefinisikan  oleh  sekumpulan operasi yang  dibatasi  oleh properti-properti  yang abstrak
-           Masing-masing operasi diimplementasikan menggunakan satu representasi dari ADT
TERDAPAT TIGA KOMPONEN DALAM IMPLEMENTASI ADT, YAKNI:
-           Spesifikasi ADT berisi fungsi-fungsi, aksioma-aksioma, dan prakondisiprakondisi
-           Pemilihan representasi bagi ADT

-           Sekumpulan  subprogram,  masing-masing  mengimplementasikan  salah  satu  fungsi  pada spesifikasi ADT yang beroperasi pada representasi yang telah dipilih 

0 komentar:

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More