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:
- Flowchart, algoritma : konsep rencana pemecahan masalah
- Coding : menuliskan algoritma dalam bahasa program tertentu
- Compiling: kompilator menterjemahkan bahasa tingkat tinggi ke dalam
bahasa mesin yang dimengerti komputer
- Interpreter: menggunakan virtual machine yang dapat memahami bahasa
tingkat tinggi
- Running : menjalankan program
- Debugging: memperbaiki kesalahan program
Urutan tersebut tidak baku. Dalam pelaksanaan beberapa tahap digabung,
dipertukarkan, atau ditiadakan.
|
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
- Dokumentasi: cara menulis, mengarsipkan, membuat catatan, keterangan,
menyampaikan.
Dokumentasi BUKAN berarti merekam sesuatu kemudian disimpan untuk dikenang.
- Trend baru: dokumentasi disertakan dalam file program (source code).
Contoh pada perl script, java dan javascript
|
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
harga = jmlBrg x hrgSat
Cetak nilai harga
|
Masukkan
nilai jmlBrg dan hrgSat
IF jmlBrg > 100 THEN
harga = 90% x jmlBrg x
hrgSat
ELSE
harga = jmlBrg x hrgSat
END IF
Cetak nilai harga |
Masukkan
nilai jmlBrg dan hrgSat
REPEAT WHILE jmlBrg < 10
Cetak pesan "Tidak boleh kurang dari 10"
Masukkan nilai jmlBrg dan hrgSat
END REPEAT |
12.2.2. Bahasa Pemrograman Procedure-oriented
Contoh program yang dibuat dengan bahasa pemrograman procedure-oriented (mis:
QBASIC)
CLS
INPUT "Masukkan jumlah barang yang dibeli:", jmlBrg
INPUT "Masukkan harga satuan:", hrgSat
harga = jmlBrg * hrgSat
PRINT "Harga yang dibayar:", harga
END
CLS
INPUT "Masukkan jumlah barang yang dibeli:", jmlBrg
INPUT "Masukkan harga satuan:", hrgSat
IF jmlBrg > 100 THEN
harga = 0.9 * jmlBrg * hrgSat
ELSE
harga = jmlBrg * hrgSat
END IF
CLS
INPUT "Masukkan jumlah barang yang dibeli:", jmlBrg
INPUT "Masukkan harga satuan:",hrgSat
WHILE jmlBrg < 10
PRINT "Tidak boleh kurang dari 10"
INPUT "Masukkan jumlah barang yang dibeli:", jmlBrg
INPUT "Masukkan harga satuan:",hrgSat
WEND
END
|
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 menuliskan PRINT
tetapi terketik
ORINT
(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:
- 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 |
Soal Latihan
- Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan
prima (atau bukan).
- Bual algoritma untuk menghitung perkalian hanya dengan operator penjumlahan.
- Buat algoritma untuk mencetak N buah bilangan prima yang pertama.
- Buat algoritma untuk menentukan jenis akar persamaan kuadrat!
- Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika : Sn
= 3 + 7 + 11 + …… + (4n-1)
- Buat algoritma untuk menghitung faktorial dari suatu bilangan.
- Buat flowchart untuk mencetak pasangan nilai X dan Y dengan persamaan Y
= X3 – 2X +1. Cobalah untuk nilai dari –10 sampai 10 !
Tidak ada komentar:
Posting Komentar