12. Perangkat Lunak Komputer

12.1. Jenis-jenis Software

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:

Dokumentasi program :

  • 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:

12.2.4. Kesalahan Pemrograman

12.3. Perangkat Lunak Aplikasi

Perangkat lunak aplikasi umumnya dapat menangani data jenis:

12.4. Hak Cipta Perangkat Lunak


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.

 

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

  1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan prima (atau bukan).
  2. Bual algoritma untuk menghitung perkalian hanya dengan operator penjumlahan.
  3. Buat algoritma untuk mencetak N buah bilangan prima yang pertama.
  4. Buat algoritma untuk menentukan jenis akar persamaan kuadrat!
  5. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika : Sn = 3 + 7 + 11 + …… + (4n-1)
  6. Buat algoritma untuk menghitung faktorial dari suatu bilangan.
  7. Buat flowchart untuk mencetak pasangan nilai X dan Y dengan persamaan Y = X3 – 2X +1. Cobalah untuk nilai dari –10 sampai 10 !