Powered By Blogger

Selasa, 05 Oktober 2010

PTI - perangkat lunak_3

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 sederhana
Flowchart program yang menggunakan branch
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:
  1. Class
  2. Object
  3. Properties / Attributes
  4. Event
  5. 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:
    • freeware
    • public domain
  • Perangkat lunak dengan hak cipta
    • copyrighted software
    • shareware
  • Masalah: software piracy

Tips menyusun algoritma atau flowchart

  1. Baca masalahnya. - tentu saja - :)
  2. Tentukan input, output, proses. Bayangkan penyelesaian masalah tersebut sebagai sebuah sistem. Proses secara global dapat dianggap sebagai sebuah 'black box'.
  3. Flowchart untuk membantu melihat (visualisasi) diagram alur kejadian. Jika bingung dengan bentuk gambar node flowchart, abaikan dulu pemilihan bentuknya.
  4. 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 lineArah alur program
 TerminatorAwal, akhir program atau proses
 Persiapan, inisialisasiMengisi harga awal, kondisi-kondisi awal
 ProsesProses perhitungan atau pengolahan
 input, outputinput atau output data, parameter, informasi lain
 predefined processsub program atau sub proses. proses yang didefinisikan di dalam flowchart lain
 decisionPemilihan langkah
 on page connectorpenghubung ke bagian lain flowchart di halaman yang sama
 off page connectorpenghubung ke bagian lain flowchart yang ada di halaman lain

Tidak ada komentar:

Posting Komentar