Rabu, 16 Februari 2011

PEMROGRAMAN DAN ALGORITMA DAN PEMROGRAMANAM)

(PEMROGRAMAN DAN PROGR
ALGORITMA DAN PEMROGRAMANAM)

PEMROGRAMAN
Pemrograman Terstruktur :
merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri, dipahami dan dikembangkan oleh siapa saja.
PEMROGRAMAN (2)
Tujuan Pemrograman Terstruktur :
 Meningkatkan kehandalan program
 Program mudah dibaca dan ditelusuri
 Menyederhanakan kerumitan program
 Pemeliharaan program
 Meningkatkan produktivitas program

PEMROGRAMAN (3)
Ciri Teknik Pemrograman Terstruktur :
 Mengandung teknik pemecahan masalah yang tepat dan benar;
 Memiliki algoritma pemecahan masalah yang bersifat sederhana, standard an efektif dalam memecahkan masalah;
 Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami;
 Program semata-mata terdiri dari tiga struktur dasar (sequence structure, looping structure, selection structure).
 Menghindari penggunaan instruksi GOTO (peralihan proses tanpa syarat tertentu) yang menjadikan program tidak terstruktur dengan baik;
 Membutuhkan biaya testing yang rendah;
 Memiliki dokumentasi yang baik;
 Biaya perawatan dan pengembangan yang rendah;

PEMROGRAMAN (4)
Ciri-ciri Algoritma Pemrograman yang baik adalah:
 Memiliki logika perhitungan /metode yang tepat dalam memecahkan masalah.
 Menghasilkan output yang tepat dan benar dalam waktu yang singkat
 Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda
 Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman.
 Semua operasi yang dibutuhkan terdefinisi dengan jelas.
 Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan.

PROGRA
Standart Program yang baik, memerlukan :
A. Standar Teknik Pemecahan Masalah , terdapat 2 teknik :
 Teknik Top-Down (umum digunakan) :
Suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Kelompok masalah kecil dianalisis. Dapat juga kelompok masalah dipilah lagi menjadi subbagian, setelah itu disusun langkah-langkah penyelesaian secara detail.
 Teknik Bottom-Up (mulai ditinggalkan) :
Pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program guna menyelesaikan masalah tersebut.

PROGRAM (1)
B. Standart Penyusunan Program, kriterianya :
 Kebenaran logika dan penulisan
 Waktu minimum untuk penulisan program
 Kecepatan maksimum eksekusi program
 Ekspresi penggunaan Memori à Meminimumkan (pemborosan pemakaian memori menyebabkan eksekusi berjalan lambat).
 Kemudahan merawat dan mengembangkan program
 User Friendly
 Portability
 Pemrograman Modular
PROGRAM (2)
C. Standar Perawatan Program, faktor-faktor yang memudahkan dalam merawat dan mengembangkan program :
1. Dokumentasi
 Penting guna melakukan penelusuran jika terjadi kesalahan mupun untuk pengembangannya.
 Dokumentasi yang baik dapat memberikan informasi yang cukup memadai sehingga end user/pemrogram lain dapat mengerti dan memahami alur logika program.
2. Penulisan instruksi, disesuaikan dengan aturan penulisan dalam bahasa pemrograman.
PROGRAM (4)
Tahap-tahap Membuat Program :
(Untuk program Besar dan Kompleks à Tahapan Sistematis dan terpadu)
a. Pendefinisian Masalah
b. Analisis Kebutuhan
c. Desain Algoritma
d. Pengkodean
e. Transfer ke Bahasa Pemrograman
f. Testing dan Debugging
g. Dokumentasi
h. Pemeliharaan

PROGRAM (5)
Untuk Program Sederhana maka Tahap itu hanya :
Mengidentifikasi Masalah, menentukan input, proses dan output yang diinginkan, menentukan algoritma, mengimplementasikannya dengan suatu bahasa pemrograman tertentu dan melakukan testing, kemudian dilanjutkan dengan penyusunan dokumentasi.



Kebenaran logika dan penulisan
Program harus memiliki ketepatan, ketelitian dan kebenaran dalam perhitungan (rumus-rumus ditulis dengan benar dan urutan benar logis) sehingga hasilnya dapat dipercaya àbukan asal program dapat dieksekusi

Waktu minimum untuk penulisan program
Waktu minimum yang tersedia wajar untuk menyusun program dari awal hingga siap dioperasikan.

Kecepatan maksimum eksekusi program
Faktor yang mempengaruhi kecepatan maksimum ini adalah :
 bahasa pemrograman yang digunakan
 algoritma yang disusun
 teknik pemrograman yang diterapkan
 perangkat keras yang dipakai untuk mengoperasikan.

Ekspresi penggunaan Memori
Hal-hal yang diperhatikan :
 Penggunaan tipe data yang cocok untuk kebutuhan pemrograman
 Hindarilah penggunaan yang berulang-ulang terhadap variabel berindeks.

Kemudahan merawat dan mengembangkan program
àsyarat :
memiliki struktur pemrograman yang baik, struktur data yang jelas, dilengkapi dokumentasi yang mudah dipahami, diuji dan dikembangkan.

User Friendly
Program yang disusun harus memiliki fasilitas-fasilitas yang memberikan kemudahan bagi pemakai untuk mengoperasikan sehingga mudah untuk dipahami
misal :
- pemberian help
à memberi penjelasan jika terjadi kesulitan
- menu pilihan
- tampilan yang informative,
- pesan-pesan sederhana dan singkat.
Portability
Punya kefleksibelan untuk digunakan à program yang disusun dapat dioperasikan dengan berbagai jenis system operasi.

Pemrograman Modular
 Mengimplementasikan langkah-langkah pemecahan masalah pada kelompok masalah yang kecil berupa modul-modul program (sekumpulan instruksi yang memiliki operasi-operasi dan data yang didefinisikan, memiliki struktur internal yang tidak tergantung pada subprogram yang lain, dan merupakan satu kesatuan yang utuh yang akan dieksekusi secara berulang-ulang.)
 Masing-masing modul yang disusun, dibuat suatu system untuk mengintegrasikannya sehingga menjadi satu kesatuan program yang lengkap.

Pendefinisian Masalah
Langkah-langkah :
 Memahami masalah dengan tepat
 Identifikasi dan definisikan masalah secara rinci, temukan masalah utama, masalah lain seputar masalah utama yang mungkin timbul dan menentukan batasan masalah.

Analisis Kebutuhan (1)
Tujuan analisis kebutuhan :
Menentukan spesifikasi fungsi, kemampuan dan fasilitas dari program yang disusun.

Manfaat analisis kebutuhan :
Dasar evaluasi setelah program selesai disusun.

Analisis Kebutuhan (2)
Analisis kebutuhan meliputi :
 Siapa pemakai program
 Pesan-pesan apa saja yang ingin ditampilkan
 Apakah dibutuhkan password guna menjaga keamanan program
 Bagaimana format menu, input,proses atau output yang diinginkan
 Data apa saja yang akan diinputkan
 Berapa digit angka yang akan diproses
 Rumus apa yang akan digunakan atau bagaimana proses pengolahan data harus dilakukan
 Siapa saja yang membutuhkan informasi yang akan dihasilkan nanti
 Informasi apa yang dibutuhkan oleh masing-masing pemakai
 Apakah manfaat dari informasi yang dihasilkan tersebut
 Kapan informasi tersebut dibutuhkan
 Apa bentuk help yang diinginkan oleh para pemakai

Analisis Kebutuhan (3)
Tanpa analisis kebutuhan yang memadai, pemrogram hanya akan dapat mengungkapkan masalah secara umum, tetapi kehilangan aspek kualitasnya, dan dapat mengakibatkan pemecahan masalah menjadi tidak tepat dan tidak proporsional.

Desain Algoritma
 Dibuat sama dengan menuliskan serta menggambarkan langkah-langkah dalam pemecahan masalah yang ada, karena algoritma bertujuan untuk menyelesaikan masalah.
 Algoritma yang dibuat tidak langsung jadi dan harus dikaji terus menerus, sehingga akan diperoleh algoritma yang paling lengkap, tepat, benar dan relevan, karena algoritma harus memiliki kebenaran secara logika sebelum siap untuk diimplementasikan dalam bentuk program.
 Fase dari desain algoritma terlengkap bila telah mempunyai suatu deskripsi penuh, dan bila kajian yang telah dilakukan tidak lagi menyingkap permasalahan. à siap melangkah ke pengkodean.

Pengkodean (1)
Pengkodean :
Membuat Kode-kode / perintah-perintah yang mirip dengan bahasa pemrograman.

Tujuan yang harus dicapai dalam pengkodean adalah :
EFISIENSI , yang meliputi :
 Efisiensi kode, merupakan satu kesatuan dengan efisiensi algoritma yang telah didefinisikan pada tahap perancangan
 Efisiensi memori adalah keefisien perintah dalam program dan dalam menggunakan memori baik untuk pelaksanaan perintah ataupun pada penyimpanan data
 Efisiensi I/O, terdapat 2 pertimbangan efisiensi pada I/O yaitu :
 I/O yang berpengaruh langsung terhadap pemakai, maksudnya input yang dimasukkan oleh pemakai cukup jelas dan mudah dimengerti begitu juga untuk output yang dihasilkan.
 I/O yang berpengaruh secara langsung terhadap mesin.

Pengkodean (2)
Meliputi :
 Dokumentasi Kode, dimulai dengan : pemilihan identifier (variabel, label, konstanta), kemudian dilanjutkan dengan penyusunan komentar serta penggambaran dari organisasi program yang telah dibuat.
 Deklarasi data, ditentukan apabila kode telah dibuat (memakai sejumlah petunjuk yang dapat digunakan untuk membuat data mudah dimengerti dan mudah pemeliharaannya).
 Penyusunan perintah.
 Input / Output

Pengkodean (3) - Penyusunan perintah
Petunjuk penyusunan Perintah :
 menghindari pemakaian tes kondisi yang berbelit-belit
 menjabarkan tes pada kondisi yang salah
 menghindari pemakaian pengulangan yang berbelit-belit
 menggunakan tanda kurung untuk pembuatan ekspresi logika atau aritmatika
 menggunakan spasi atau symbol yang dapat dibaca untuk menjelaskan isi perintah
 Bedakan bentuk huruf dalam penulisan program seperti huruf kapital untuk instruksi dan huruf kecil untuk komentar.

Pengkodean (4) - Input / Output
petunjuk perancangan dan pengkodean input/output :
 Validasi seluruh data input
 Cek keusangan terhadap seluruh kombinasi dari item input
 Selalu membuat format input dan format output yang mudah
 Selalu membuat komentar seluruh input / output

Transfer ke Bahasa Pemrograman (1)
 Transfer ke Bahasa Pemrograman :
Menterjemahkan desain kode-kode ke dalam bahasa pemrograman yang aktual.
Maka perlulah dipilih bahasa pemrograman yang tepat dan sesuai dengan permasalahan yang ada.
 Bahasa pemrograman merupakan kendaraan yang digunakan untuk komunikasi antara manusia dengan mesin komputer dan sebagai media untuk membuat program
 Karakteristik dari bahasa pemrograman mempunyai pengaruh yang penting pada kualitas komunikasi
 kerekayasaan bahasa pemrograman mempunyai pengaruh yang penting terhadap berhasil tidaknya suatu program yang akan dibuat




Transfer ke Bahasa Pemrograman (2)
Kriteria untuk mengevaluasi pemilihan bahasa Pemrograman adalah :
 Bidang aplikasi yang sedang dikerjakan.
 Kekompleks-an algoritma dan perhitungan
 Lingkungan di mana perangkat lunak akan diterapkan
 Pengetahuan staf akan bahasa pemrograman
 Ketersediaan kompiler yang baik.

Testing dan Debugging (1)
Testing
 Adalah menguji program sampai dipenuhi bebas error lewat macam-macam kondisi atau dengan input yang hasilnya dapat diprediksi.
 Testing tidak dapat secara absolute bisa yakin bahwa program adalah benar. Untuk program besar bisa jadi setelah dipakai sekian lama kemudian diketemukan error.

Testing dan Debugging (2)
Debugging
adalah mengoreksi error yang terdeteksi meliputi menetapkan lokasi kode yang error dan mengoreksinya.

Dokumentasi (1)
Definisi :
Merupakan informasi dan gambaran tambahan yang sangat membantu untuk memahami sebuah kode yang diberikan.
Tujuannya :
adalah untuk menjadi pedoman dan penjelasan bagi para pemakai.

Dokumentasi (2)
Dokumentasi dibedakan :
 Dokumentasi internal : Merupakan bagian kode hanya eksplanasi dari berbagai aspek lewat computer
 Dokumentasi eksternal : Dalam bentuk manual dan catatan-catatan penting tentang program.
Dokumentasi internal dan eksternal harus konsisten satu sama lain dengan kode.

Dokumentasi (3)
Catatan-catatan tentang dokumentasi :
 Dokumentasi yang teratur sangat penting untuk semua program, sedangkan dokumentasi yang buruk akan menurunkan mutu program yang terbaik, bahkan bisa membuatnya tidak berguna.

 Dokumentasi sangat penting bagi para pemakai program, bentuknya harus bergantung pada sasarannya. Keluasan dari dokumentasi yang diperlukan tergantung pada penggunaan yang diproyeksikan dari program tersebut.

 Dokumentasi harus dipelihara dengan perangkat lunak, jika perangkat lunak berubah, berbagai macam bagian dari dokumentasi itu harus direvisi agar dapat merefleksikan modifikasi yang akan dibuat.

Pemeliharaan (1)
Kegunaan :
untuk menjabarkan aktivitas dari analisis system pada saat perangkat lunak telah dipergunakan oleh pemakai.

Pemeliharaan (2)
Aktivitas pada fase pemeliharaan :
1. Penambahan atau peningkatan atau juga perbaikan untuk perangkat lunak, meliputi :
 penambahan fungsi-fungsi baru
 perbaikan tampilan
 perbaharui dokumentasi internal dan eksternal
 perbaharui karakteristik dari sistem
2. Adaptasi perangkat lunak dengan lingkungan mesin yang baru , meliputi :
 Pemindahan perangkat lunak ke mesin yang baru atau berlainan
 Modifikasi untuk mempergunakan protocol atau disk drive tambahan.
3. Perbaikan permasalahan yang timbul, aktivitasnya :
 pembenaran kesalahan yang timbul setelah perangkat lunak dipergunakan oleh pemakai

Pemeliharaan (3)
Pemeliharaan perangkat lunak dibedakan :
1. Corrective Maintenance
Biasanya terjadi pada saat perangkat lunak dipakai dan hasil yang didapat oleh pemakai tidak sesuai,biasanya kesalahan yang timbul pada saat keluaran yang tidak sesuai
1. Adaptive Maintenance
Biasanya terjadi karena adanya perkembangan dari perangkat lunak atau perangkat keras (mesin) sehingga memerlukan modifikasi perangkat lunak yang telah dibuat.
1. Prefective Maintenance
Biasanya terjadi pada saat perangkat lunak yang telah dibuat, dilakukan pengujian dan kemudian digunakan oleh pemakai dan setelah digunakan timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai
1. Preventive Maintenance
Biasanya seiring dengan perkembangan dari perangkat lunak atau perangkat keras di masa mendatang, misalnya penambahan fungsi-fungsi untuk melengkapi fungsi-fungsi yang telah ada.

1 komentar: