12. Perangkat Lunak Komputer
12.1. Jenis-jenis Software
- System Software:
- Operating System (OS) : Windows, MacOS, Linux, BSD, Darwin
- Programming Languages : asembly, pascal, C, C++, .. perl, php, java
- System Utility : scandisk, fdisk, ..
- Application Software
- Custom-made Software / Custom Software / Tailor-made Software
- Commercial Software / Package Software :
- wordprocessor,
- desktop publishing,
- spareadsheet,
- database management system,
- graphics software, dsb
Situs directory (pengelompokan, klasifikasi) software:
|
12.2. Bahasa Pemrograman
Tahap penyusunan software:
|
Peserta diharapkan mengerti bagaimana komputer berpikir (secara terstruktur).
12.2.1. Logika Pemrograman
Program Control Structures:
- Sequential : urut. Setiap langkah dikerjakan satu per satu secara terurut dari langkah awal hingga langkah terakhir.
- Branch, selection, decision : pencabangan.
- Loop, iteration, repetition : pengulangan
Dokumentasi program :
- flowchart
- pseudocode, algoritma
|
Contoh Program Flowchart
| Flowchart: program sederhana | Flowchart program yang menggunakan branch | Flowchart program yang menggunakan loop |
Contoh pseudocode untuk program yang sama dengan flowchart di atas.
Masukkan nilai jmlBrg dan hrgSat | Masukkan nilai jmlBrg dan hrgSatIF jmlBrg > 100 THENELSEEND IFCetak nilai harga | Masukkan nilai jmlBrg dan hrgSatREPEAT WHILE jmlBrg < 10
END REPEAT |
12.2.2. Bahasa Pemrograman Procedure-oriented
Contoh program yang dibuat dengan bahasa pemrograman procedure-oriented (mis: QBASIC)
CLSINPUT "Masukkan jumlah barang yang dibeli:", jmlBrgINPUT "Masukkan harga satuan:", hrgSatharga = jmlBrg * hrgSatPRINT "Harga yang dibayar:", hargaENDCLSINPUT "Masukkan jumlah barang yang dibeli:", jmlBrgINPUT "Masukkan harga satuan:", hrgSatIF jmlBrg > 100 THENELSEEND IFCLSINPUT "Masukkan jumlah barang yang dibeli:", jmlBrgINPUT "Masukkan harga satuan:",hrgSatWHILE jmlBrg < 10
WENDEND |
12.2.3. Bahasa Pemrograman Object-oriented
OOP mencakup 5 konsep dasar:
- Class
- Object
- Properties / Attributes
- Event
- Method / Procedure / Operations
Objects memiliki sifat umum:
- encapsulation: sebuah object merupakan unit yang berdiri sendiri; object mencakup data dan instruksi yang terkait.
- inheritance : semua karakteristik sebuah class akan dimiliki oleh object yang dibuat berdasarkan class tersebut
- polymorphism: setiap object dapat memahami dan melaksanakan perintah-perintah yang diterimanya, sesuai dengan sifat object itu sendiri.
12.2.4. Kesalahan Pemrograman
- syntax error: kesalahan karena penulisan perintah tidak sesuai dengan aturan. (coding, compiling)
contoh: mau menuliskanPRINTtetapi terketikORINT(salah ketik, salah ejaan). - logical error : kesalahan karena logika pemrograman (algoritma) tidak benar
- numerical error:
- original data error : data yang dihitung memang salah
- truncation error : hitung
((100 / 3) * 3) = 99 - round off error : hitung
((100 / 3) * 3) = 99,9999 - propagated error :
12.3. Perangkat Lunak Aplikasi
Perangkat lunak aplikasi umumnya dapat menangani data jenis:
- text: type face, type size (satuan point = 1/72"), type weight, type style, font
- numbers
- pictures
- sound
- video
12.4. Hak Cipta Perangkat Lunak
- Perangkat lunak gratis:
- freeware
- public domain
- Perangkat lunak dengan hak cipta
- copyrighted software
- shareware
- Masalah: software piracy
Tips menyusun algoritma atau flowchart
- Baca masalahnya. - tentu saja - :)
- Tentukan input, output, proses. Bayangkan penyelesaian masalah tersebut sebagai sebuah sistem. Proses secara global dapat dianggap sebagai sebuah 'black box'.
- Flowchart untuk membantu melihat (visualisasi) diagram alur kejadian. Jika bingung dengan bentuk gambar node flowchart, abaikan dulu pemilihan bentuknya.
- Tulis algoritma, berikan catatan dalam kalimat yang manusiawi jika perlu
Contoh:
Buat algoritma atau flowchart untuk menentukan apakah sebuah bilangan merupakan bilangan ganjil atau genap.
- Masalahnya sudah dibaca? Bisakah anda ulangi pertanyaan tersebut dengan kalimat sendiri tanpa harus melihat seluruh cerita?
- Tentukan:
- input: sebuah bilangan sembarang, asumsikan input dari sebuah alat input (misal: keyboard)
- output: pernyataan "bilangan ganjil", "bilangan genap"
- proses:
gimana sih caranya? Bilangan genap: habis dibagi dua. Jika dibagi dua, maka hasilnya adalah bilangan bulat utuh.
Fungsi apa saja yang sudah tersedia?
Simbol-simbol flowchart
| Flow line | Arah alur program | |
| Terminator | Awal, akhir program atau proses | |
| Persiapan, inisialisasi | Mengisi harga awal, kondisi-kondisi awal | |
| Proses | Proses perhitungan atau pengolahan | |
| input, output | input atau output data, parameter, informasi lain | |
| predefined process | sub program atau sub proses. proses yang didefinisikan di dalam flowchart lain | |
| decision | Pemilihan langkah | |
| on page connector | penghubung ke bagian lain flowchart di halaman yang sama | |
| off page connector | penghubung ke bagian lain flowchart yang ada di halaman lain |

Tidak ada komentar:
Posting Komentar