PERMASALAHAN TERKAIT PERANGKAT LUNAK (PROGRAM)
APA PROGRAM ?
Kumpulan instruksi / perintah yang dirangkaian sehingga membentuk suatu proses untuk mengolah data.
FAKTOR KUALITAS PROGRAM
- Correctness : besarnya program dapat memuaskan spesifikasi dan objektivitas dari misi pelanggan.
- Reliability : besarnya program dapat diharapkan memenuhi fungsi-fungsi yang dikehendaki.
- Efficiency : jumlah sumber-sumber dan kode yang dibutuhkan program untuk menjalankan fungsifungsinya.
- Integrity : besarnya pengontrolan pengaksesan oleh seorang yang tidak mempunyai otorisasi terhadap program dan data.
- Usability : usaha yang dibutuhkan untuk mempelajari, mengoperasikan, menyiapkan input & menginterpretasikan output program.
- Maintability : usaha yang dibutuhkan untuk menempatkan & menetapkan kesalahan pada program.
- Flexibility : usaha yang dibutuhkan untuk memodifikasi program yang dibutuhkan.
- Testability : usaha yang dibutuhkan untuk menguji program untuk menjamin program sesuai yang diharapkan.
- Portability : usaha yang dibutuhkan untuk mnetransfer program dari lingkungan ke lingkungan lain.
- Reusability : besarnya program dapat digunakan oleh aplikasi lain.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
- SDLC adalah serangkaian aktivitas yang dilaksanakan oleh profesional dan pemakai sistem informasi untuk mengembangkan dan mengimplementasikan software (program).
- Aktivitas atau proses standar yang digunakan untuk membangun program, yaitu :
- Analisa kebutuhan (spesifikasi)
- Desain
- Coding
- Pengujian
FAKTA DALAM PEMBANGUNAN PROGRAM
METODOLOGI PERANCANGAN PROGRAM
Prinsip dasar dalam pembangunan program berdasarkan input data, proses dan output. Beberapa pendekatan perancangan program :
- Procedure-Driven
- Event-Driven
- Data-Driven
PROCEDURE-DRIVEN
- Procedure-Driven untuk perancangan program berdasarkan pada apa yang akan dilakukan program (proses atau fungsi).
- Strateginya adalah dengan memecahkan setiap fungsi menjadi lebih kecil dan lebih spesifik.
- Contoh : Program untuk persegi panjang dibagi menjadi fungsi : hitung keliling dan hitung luas persegi panjang
EVENT-DRIVEN
- Event-Driven untuk perancangan program berdasarkan pada kejadian atau interaksi dari luar dapat menyebabkan perubahan dari satu kondisi ke kondisi lain.
- Keadaan awal dari sebuah program mengidentifikasikan seluruh pemicu yang mewakili kejadian untuk kondisi yang akan dihasilkan.
- Contoh : apabila tombol mulai pada program stopwatch di klik maka program akan menghitung waktu yang berjalan sampai tombol stop di klik.
DATA-DRIVEN
- Data-Driven untuk perancangan program berdasarkan struktur data.
- Dimulai dengan analisis data dan hubungan antara data, untuk menentukan struktur data dasar. Setelah struktur data telah ditetapkan, output data yang diperlukan diperiksa dalam rangka menentukan proses apa yang diperlukan untuk mengkonversi data input ke output.
- Contoh :
- Untuk membuat program menghitung bonus karyawan. Besar bonus masing-masing karyawan tergantung gaji pokok dan jenis tanggung-jawabnya.
- Data Input : Data Profil Karyawan (seperti : nik, nama, jabatan, gaji pokok)
- Data Output : Bonus karyawan
- Proses :
Ambil tanggung_jawab dari profil_karyawan
If tanggung_jawab = “Sales manager”
Then bonus = gaji_pokok * 0.10
Else
If tanggung_jawab = “Senior salesman”
Then bonus = gaji_pokok * 0.08
Else … dan seterusnya …
BELAJAR PEMROGRAMAN ?
- Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer.
- Belajar pemrograman adalah belajar tentang metodologi pemecahan masalah kemudian menuangkannya dalam suatu notasi yang mudah dibaca dan dipahami.
TEKNIK PEMROGRAMAN
- Permasalahan bisnis yang semakin kompleks dan rumit sedangkan waktu yang diberikan untuk pengembangan program semakin cepat.
- Dibutuhkan teknik pemrograman untuk mengembangkan program yang kompleks dan rumit dalam waktu yang cepat.
- Pemrograman Tidak Terstruktur
- Pemrograman Terstruktur
- Pemrograman Prosedural
- Pemrograman Modular
- Pemrograman Berorientasi Objek
PEMROGRAMAN TIDAK TERSTRUKTUR
- Pemrograman tidak terstruktur adalah suatu teknik pemrograman dimana penulisan instruksi tidak teratur dan sistematis sehingga sulit untuk dipahami.
- Contoh : Penggunaan perintah GOTO yang banyak dalam program.
PEMROGRAMAN TERSTRUKTUR
- Pemrograman terstruktur adalah suatu teknik pemrograman dimana penulisan instruksi secara sistematis, logis dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
- Prinsip pada pemrograman terstruktur jika suatu proses sudah sampai pada titik tertentu, maka proses selanjutnya tidak bisa melakukan proses pada baris sebelumnya.
PEMROGRAMAN PROSEDURAL
- Pemrograman prosedural adalah suatu teknik pemrograman dimana penulisan instruksi yang sama dibuat dalam sub program tersendiri sehingga pembuatan program lebih cepat dan memudahkan perbaikan apabila terjadi kesalahan.
PEMROGRAMAN MODULAR
- Pemrograman modular adalah suatu teknik pemrograman dimana prosedur dari fungsi umum dikelompokkan dalam modul-modul dan setiap modul menunjukkan fungsi dan tugas tunggal.
PEMROGRAMAN BERORIENTASI OBJEK
- Pemrograman berbasis obyek (OOP) mendasarkan pada konsep objek dan interaksinya.
- Objek berasal dari tipe data abstrak.
- Objek dapat menerima pesan (message), mengolah data, dan mengirimkan pesan ke object lain membentuk interaksi antar object.
- Objek bersifat independen: tiap object dapat dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu.
BELAJAR BAHASA PEMROGRAMAN ?
- Bahasa pemrograman merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
- Belajar bahasa pemrograman adalah belajar memakai suatu bahasa pemrograman sesuai dengan aturan tata bahasanya.
TIGA FAKTOR PENTING DALAM BAHASA PEMROGRAMAN
- Sintaks
- Semantik
- Kebenaran Logika
SINTAKS
Sintaks adalah aturan penulisan suatu bahasa pemograman (tata bahasanya).Contoh :
#include<file-include>
main()
{ pernyataan; }Apabila terjadi kesalahan dalam penulisan sintaks maka akan terjadi error pada saat kompilasi.
SEMANTIK
Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.Contoh :
- \n; arti semantiknya baris baru.
- Printf(); arti semantiknya mencetak string ke layar.
- Getch(); arti semantiknya membaca sebuah karakter.
KEBENARAN LOGIKA
Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.Contoh :
main()
{int bil=1;
while(bil<=5)
printf(" %d ",bil);
getch();}
Output dari program di atas terjadi perulangan terus menerus yang tidak berakhir.