Anda di halaman 1dari 217

SILABUS

Pertemuan ke-

Pokok Bahasan

Pengenalan Dasar Pemrograman

Konsep Dasar Pemrograman

Tahapan Pembuatan Program

Elemen-Elemen Bahasa Pemrograman

Analisa Struktur Program

Analisa Struktur Program Lanjutan

Review/Quis

Ujian Tengah Semester (UTS)

Tipe Tabel Database

10

Organisasi dan Akses File

11

Aplikasi Pemrograman Bisnis

12

SDLC

13

Object Oriented Program

14

Implementasi OOP Pada Perangkat Lunak Pemrograman

15

Review/Quis

16

Ujian Akhir Semester (UAS)

Keterangan

Sumber Referensi:
1. Binarto, Iwan. 2005. Konsep Bahasa Pemrograman. Yogyakarta:
ANDI
2. Handayani, Dewi. 2001. Sistem Berkas. Yogyakarta: J&J Learning
3. Indra, Yatini. 2001. Pemrograman Terstruktur. Yogyakarta: J&J
Learning
4. Jogiyanto HM. 2005. Sistem Teknologi Informasi. Edisi II, Yogyakarta:
ANDI
5. Kadir, Abdul. 2002. Pemrograman C++. Yogyakarta: ANDI
6. Kurniadi, Adi. 2002. Pemrograman Visual Basic 6. Jakarta: Elex
Media Komputindo
7. Nugroho, Adi. 2004. Pemrograman Berorientasi Objek. Bandung:
Informatika
8. Raharjo, Budi. 2009. Pemrograman C++. Bandung: Informatika
9. Sutedjo, Budi. 2004. Algoritma & Teknik Pemrograman. Yogyakarta:
ANDI
10. Sutopo, Ariesto Hadi. 2002. Analisis dan Desain Berorientasi Objek.
Yogyakarta: J&J Learning

KONTRAK PERKULIAHAN
Teknik Pemrograman merupakan mata kuliah teori yang
dilakukan di kelas dengan tatap muka oleh dosen yang
bersangkutan
Pertemuan 1-14 dilakukan seperti biasanya dimana dosen
menyampaikan materi kepada mahasiswa
Untuk Pertemuan 7 dan 15 diadakan QUIZ / review materi
Pertemuan 8 diadakan UTS dimana materi diambil dari
pertemuan 1-6, dan Pertemuan 16 diadakan UAS dimana
materi diambil dari pertemuan 9-15.
Setelah UTS khususnya pada Pertemuan 11 mahasiswa
diwajibkan membuat suatu tugas (proyek) yang dikerjakan
secara berkelompok. Tugas tersebut berbentuk Laporan
atau makalah dan CD.
Format makalah tugas sesuai dengan aturan pada outline
TA terbaru.

Capaian Pembelajaran adalah:


Mampu menganalisa sistem yang akan diaplikasikan ke
dalam bentuk program bisnis maupun science, dengan
membuat Laporan dari hasil analisa tersebut secara
berkelompok (tidak diwajibkan: riset dan membuat
program).
Isi dari Laporan tersebut antara lain:
A. Program Aplikasi Bisnis (untuk Jurusan MI dan KA)
Judul sistem harus jelas
Normalisasi (optional)
Spesifikasi File dan Tabel yang digunakan
Spesifikasi Program dan HIPO
Flowchart
B. Program Berbasis Science (untuk Jurusan TK)
Judul program harus jelas
Spesifikasi File dan Tabel yang digunakan
Spesifikasi Program dan HIPO
Flowchart

Pertemuan 1
PENGENALAN DASAR
PEMROGRAMAN

I. Pengertian

Program
Pernyataan yang disusun menjadi satu kesatuan
prosedur yang berupa urutan langkah yang disusun
secara logis dan sistematis untuk menyelesaikan masalah.

Pemrograman
Proses mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dengan menggunakan
bahasa pemrograman.

Bahasa Pemrograman
Prosedur penulisan program.

Programmer
Orang yang membuat sebuah program.

Terdapat 3 faktor penting dalam bahasa pemrograman:


1. Sintaks : aturan penulisan bahasa tersebut
bahasanya).

(tata

2. Semantik : arti/maksud yang terkandung di dalam


statemen tersebut.
3. Kebenaran logika: berhubungan dengan benar tidaknya
urutan statemen.

Dalam membuat sebuah program harus memakai teknik


pemrograman, diantaranya:
1. Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian
masalah. Ini berarti algoritma adalah proses yang
prosedural.
Contoh: Cobol, Basic, Pascal, Fortran dan C.
2. Pemrograman Functional
Merupakan
salah
satu
pemrograman
yang
memperlakukan proses komputasi sebagai evaluasi
fungsi-fungsi matematika (kodenya berupa fungsi-fungsi).
Contoh : Lisp, Scheme, ML, Haskell.

3. Pemrograman Berbasis Modul


Program dipecah-pecah ke dalam modul-modul, dimana
setiap modul menunjukkan fungsi dan tugas tunggal.
Pemrograman ini diterapkan dengan menggunakan subroutine, yaitu sebuah kumpulan perintah yang melakukan
tugas pemrosesan yang terbatas. Pemrograman ini banyak
dimanfaatkan oleh Bahasa Pemrograman Berbasis Obyek.
4. Pemrograman Terstruktur
Pemrograman yang mendukung pembuatan program
sebagai kumpulan prosedur yang dapat saling memanggil
dan dipanggil dari manapun dalam program dan dapat
mengunakan parameter yang berbeda-beda untuk setiap
pemanggilan.
Contoh: Pascal, Cobol, RPG, ADA, C.

5. Pemrograman Berorientasi Objek


Bahasa pemrograman yang mampu memanfaatkan objekobjek yang tersedia atau membuat suatu objek tertentu
dengan menggunakan bahasa pemrograman.
Contoh: C++, SmallTalk, Java.
6. Pemrograman Generic
Dalam pemrograman generik penulisan kode bisa
digunakan oleh berbagai macam tipe data.
Program generik ditulis sekali dan dapat dipakai berkali-kali
untuk data beragam tanpa harus mengubah inti dari
algoritma sehingga dapat memberikan keleluasaan dengan
hanya menulis kode umum hanya sekali dan selanjutnya
kode tersebut dapat dipakai ulang untuk tipe data berbeda
namun memiliki karakteristik yang sama.
Contoh: Java, C++

7. Pemrograman Deklaratif
Sebuah paradigma pemrograman yang mengungkapkan
logika dari sebuah komputasi tanpa menggambarkan aliran
kontrol.
Pemrograman deklaratif merupakan suatu seni membuat
program dengan tidak menggunakan algoritma untuk
pemecahan masalahnya. Untuk membuat pemrograman
deklaratif dibutuhkan suatu bahasa deklaratif.
Contoh: Prolog

II. Kriteria Bahasa Pemrograman


Beberapa kriteria pemilihan sebuah bahasa pemrograman:
1. Clarity, simplicity dan unity
Kemudahan, kesederhanaan dan kesatuan merupakan
suatu
kombinasi
yang
membantu
programer
mengembangkan suatu algoritma.
2. Orthogonality
Merupakan suatu atribut yang dapat dikombinasikan
dengan beragam fitur bahasa pemrograman sehingga
setiap kombinasinya mempunyai arti dan dapat
digunakan.

3. Kewajaran untuk aplikasi


Bahasa pemrograman harus mempunyai struktur data,
operasi-operasi, struktur kontrol dan sintaks yang tepat
untuk memecahkan suatu masalah.
4. Mendukung abstraksi
Abstraksi merupakan suatu hal yang substansial bagi
programer untuk membuat suatu solusi dari masalah
yang dihadapi.
5. Kemudahan untuk verifikasi program
Dengan verifikasi data yang mudah, maka suatu
program akan dengan mudah dibangun dan
dikembangkan

6. Lingkungan Pemrograman
Lingkungan pemrograman dapat berarti editor yang
digunakan, dokumentasi yang baik, fasilitas debugging,
user interface yang baik ataupun tools lain yang dapat
digunakan untuk memudahkan pekerjaan programer.
7. Portabilitas program
Kemudahan program untuk dipakai di berbagai jenis
komputer.
8. Biaya Penggunaan
a. Biaya eksekusi program
b. Biaya kompilasi program
c. Biaya penciptaan, testing dan penggunaan program
d. Biaya pemeliharaan program

III. Aspek Pemrograman


Dalam pengolahan data dan pembuatan sebuah program
diperlukan beberapa aspek-aspek dasar yaitu:
A. Brainware
Tenaga pelaksana yang menjalankan serta mengawasi
pengoperasian sistem unit komputer di dalam proses
pengolahan data untuk menghasilkan suatu informasi yang
tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, Technical Support,
Operator, Data Entry, dll.

B. Hardware
Serangkaian unsur-unsur yang terdiri dari beberapa
perangkat keras komputer yang digunakan untuk
membantu proses kerja manusia (Brainware).
Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive,
Printer, dll.
C. Software
Serangkaian unsur-unsur yang terdiri dari beberapa
perangkat lunak program komputer yang digunakan
untuk membantu proses kerja manusia (Brainware).
Contoh : Sistem Software, Application Software, Package
Software, Utility Software, dll.

IV. Bahasa Pemrograman Berdasarkan


Perkembangan
A. Bahasa Mesin (Machine Language)
Bahasa Pemrograman yang hanya dapat dimengerti oleh
mesin (komputer) yang di dalamnya terdapat CPU yang
hanya mengenal 2 (dua) keadaan yang berlawanan,
yaitu:
- Bila tejadi kontak (ada arus) bernilai 1
- Bila kontak terputus (tidak ada arus) bernilai 0

B. Bahasa Tingkat Rendah (Low Level Language)


Karena susahnya bahasa mesin, maka dibuatlah simbol
yang mudah diingat yang disebut dengan Mnemonics
(pembantu untuk mengingat).
Contohnya :
A
: Untuk kata Add (menambahkan)
B
: Untuk kata Substract (mengurangi)
Mov : Untuk kata Move (memindahkan)
Bahasa Pemrograman yang menterjemahkan Mnemonics
adalah Assembler.

C. Bahasa Tingkat Menengah (Middle Level Language)


Bahasa pemrograman yang menggunakan aturan-aturan
gramatikal dalam penulisan pernyataan, mudah untuk
dipahami dan memiliki instruksi-instruksi tertentu yang
dapat langsung diakses oleh komputer.
Contohnya adalah bahasa C.

D. Bahasa Tingkat Tinggi (High Level Language)


Bahasa
Pemrograman
yang
dalam
penulisan
pernyataannya mudah dipahami
secara
langsung.
Bahasa pemrograman ini terbagi menjadi 2 yaitu :
1. Procedure Oriented Language
a. Scientific
Digunakan untuk memecahkan persoalan
matematis/perhitungan
Misal : Algol, Fortran, Pascal, Basic
b. Bussines
Digunakan untuk memecahkan persoalan dalam
bidang bisnis.
Misal : Cobol, PL/1.
2. Problem Oriented Language
Misal : RPG (Report Program Generator).

E. Bahasa Berorientasi Objek (Object Oriented


Language)
Bahasa pemrograman yang berorientasi pada objek.
Bahasa pemrograman ini mengandung fungsi-fungsi
untuk menyelesaikan suatu permasalahan dan
program tidak harus dituliskan secara detail semua
pernyataannya, tetapi cukup memasukkan kriteriakriteria yang dikehendaki saja
Contohnya: Java, C++, VB .net, Visual C, PHP, dll.

V. Kerangka Dasar Pemrograman

Pertemuan 10

ORGANISASI dan
AKSES FILE

A. ORGANISASI FILE
Organisasi File merupakan teknik yang digunakan untuk
menggambarkan dan menyimpan record pada file.

Organisasi file harus mempertimbangkan beberapa hal


penting, yaitu:
1. Kemudahan peremajaan (update/insert/delete)
2. Kecepatan akses dalam pemgambilan data
3. Kemudahan reorganisasi data
4. Efisiensi penggunaan media penyimpanan (storage)

Cara memilih organisasi file tidak terlepas dari 2 aspek


utama, yaitu:
1. Model penggunaannya
a. Batch
b. Interactive
2. Model Operasi File, ada 4 cara:
a. Creation
b. Update
c. Retrieval
d. Maintenance
Restructuring
Reorganization

Secara umum dapat disimpulkan:


Untuk master file (tabel master) dapat melakukan
created, update, retrieval from dan maintenance.
Untuk work file (Tabel kerja) dapat melakukan created,
update dan retrieval from tapi tidak dapat dilakukan
maintenance.
Untuk report file (tabel output) umumnya tidak di
update, retrieve from atau maintenanced.
Untuk transaction file (tabel input) umumnya hanya
dapat di created dan digunakan untuk sekali proses.

A.1. SEQUENTIAL FILE


Merupakan suatu cara/metode penyimpanan dan pembacaan
data yang dilakukan secara berurutan.
Metode ini mempunyai ciri-ciri sebagai berikut:
a. Data akan disimpan sesuai dengan urutan masuknya
b. Pembacaan data dilakukan secara berurutan, dimulai dari
data paling awal dan dilanjutkan dengan data berikutnya
sehingga data yang dimaksud bisa diketemukan
c. Metode ini baik untuk digunakan apabila pengolahan
terhadap basis data bersifat periodik dan menyeluruh, dan
seringkali digunakan pada tipe pengolahan data yang
berorientasi batch

Gambar Sequential File

Keuntungan Sequential File:


a. Merupakan organisasi file yang sederhana.
b. Jarak setiap aplikasi yang tersimpan sangat jelas.
c. Sangat efisien pada saat sebagian besar record harus
diproses. Contoh: Payroll.
d. Metode penyimpanan di dalam memory sangat
sederhana, sehingga efisien untuk menyimpan record
yang besar.
e. Dapat disimpan pada
Contoh: magnetic tape.

perangkat

yang

murah.

Kerugian Sequential File:


a. Data yang tersimpan harus sudah urut (sorted).
b. Seandainya diperlukan perubahan data, maka seluruh
record yang tersimpan di dalam master file, harus
semuanya diproses.
c. Posisi data yang tersimpan sangat sulit untuk di-update,
sebab master file hanya bisa berubah saat proses
selesai dilakukan.
d. Tidak bisa dilkukan pembacaan secara langsung.

A.2. RANDOM (DIRECT) FILE


Merupakan
suatu
cara/metode
penyimpanan
dan
pembacaan data yang dilakukan secara acak atau langsung
tanpa mengakses seluruh record yang ada.
Metode ini mempunyai ciri-ciri sebagai berikut:
Data disimpan dengan menggunakan alamat
Dalam hal ini, tempat penyimpanan data sudah diatur
sedemikian rupa, sehingga setiap data akan tersimpan di
dalam tempat-tempat yang telah ditentukan sesuai
dengan nomor data yang dimilikinya.
Penyimpanan data menggunakan media penyimpanan
langsung, seperti magnetic disk

Pemrosesan memerlukan file record, yang ditampilkan


menjadi 2 bagian yaitu field kunci dan record data.
Akses data dilakukan dengan menggunakan nomor
record (field kunci).
Dalam metode ini kunci rekaman ditransformasikan ke
alamat penyimpanan dalam media fisik secara acak
(random). Metode ini akan menimbulkan beberapa
masalah, yaitu adanya alamat yang muncul lebih dari satu
kali, dan ada alamat yang tidak pernah muncul sama
sekali.
Pemecahan masalah di atas dengan teknik overflow
location, yaitu dengan menggunakan alamat yang ada di
sampingnya.

Gambar Random File

Keuntungan File Random:


a. Pengaksesan data dilakukan secara langsung, tidak
harus urut.
b. Kecepatan pemrosesan record sangat cepat dalam hal
pemanggilan data.
c. Sangat sesuai untuk kebutuhan File Transaksi, sebab
transaksi harus diproses saat kejadian berlangsung
(memperbarui secara online).
d. Beberapa data yang tersimpan di dalam file dapat
diproses dalam waktu bersamaan (pemrosesan
konkuren).

Kerugian File Random:


a. Memerlukan hardware dan software yang lebih
kompleks apabila dibandingkan dengan sequential file.
b. Kapasitas media penyimpanan memory menjadi besar.
c. Data yang tersimpan mempunyai potensi lebih cepat
rusak.
d. Memerlukan adanya cadangan (back-up) data. Sebab
transaksi
yang
diperbaiki
setiap
saat
bisa
menghilangkan jejak data asal (masalah keamanan
data).

A.3. INDEX SEQUENTIAL FILE


Organisasi Index Sequential adalah berkas/file yang
disusun sedemikian rupa sehingga dapat diakses secara
sequential maupun secara direct (langsung) atau
kombinasi keduanya, direct dan sequential.
Pada saat perekaman data pertama kali file dibentuk
(create file) dengan cara sequential.
Untuk pembacaan data dan penulisan data setelah file
dibentuk, dapat dilakukan secara sequential maupun
random.

Metode ini mempunyai ciri-ciri sebagai berikut :


a. Gabungan antara metode sequential dan random.
b. Record
disimpan
secara
berurutan
dengan
menggunakan kunci (indeks urutan).
c. Penyimpanan data record menggunakan indeks yang
isinya berupa bagian dari data yang sudah tersortir.
d. Perlu penyimpanan tambahan, yaitu untuk file indeks
yang lebih menekankan pada karakteristik fisik dari
penyimpanan.
e. Index ini diakhiri dengan adanya suatu pointer yang
bisa menunjukkan secara jelas posisi data yang
selengkapnya.
g. Index yang ada juga merupakan record-key (kunci
record), sehingga jika record key ini dipanggil, maka
seluruh data juga akan ikut terpanggil.

PRIME DATA FILE

INDEX

LEO
UUT

ANGGI
FERI
LEO
MAY
PARTO
UUT

Silinder 1:
Tr 0 : ADI, tr1, ALI, tr 2, ANI, tr 3
Tr 1 : ADI
AFI
Tr 2 : ALI
AMI
Tr 3 : ANI
ANDI
Silinder 2:
Tr 0 : BOY, tr1, DONI, tr 2, ENI, tr 3
Tr 1 : BOY
CICI
.
.

AJI
AMRY
ANGGI

CERI.

Silinder 6:
Tr 0 : TATA, tr1, TEDI, tr 2, UMI, tr 3
.
.
Tr 3 : UMI
USI
UUT

Keuntungan File Index Sequential:


a. Pemanggilan data lebih cepat dibandingkan dengan
Sequential File.
b. Sangat cocok digunakan untuk menyimpan data secara
batch ataupun individual data.
Kerugian File Index Sequential:
a. Akses data tidak dapat dilakukan secara langsung.
b. Memerlukan ruangan tambahan di dalam memory
untuk menyimpan index data.
c. Memerlukan hardware dan software yang lebih
kompleks.

B. AKSES FILE
Organisasi File yang telah dibahas berbeda dalam cara
pengaksesannya, yaitu:
1. Sequential Access
Suatu pengaksesan record yang didahului pengaksesan
record-record di depannya atau sebelumnya.
Contoh peralatan yang termasuk jenis ini adalah
magnetic tape yang juga dikenal sebagai Sequential
Access Storage Device (SASD).

Ciri-ciri SASD:
a. Proses pembacaan rekaman (access) harus berurutan.
b. Tidak ada pengalamatan untuk data yang disimpan.
c. Data disimpan dalam blok-blok secara sequential
(berurutan).
d. Proses tulis (write) hanya bisa dilakukan sekali saja.
e. Kecepatan akses datanya, sangat tergantung pada:
Kerapatan pita
Kecepatan pita
Lebar celah/gap antar blok (Inter Record Gap)

2. Direct Access
Suatu pengaksesan record secara langsung, tanpa
mengakses seluruh record yang ada.
Contoh peralatan yang termasuk jenis ini adalah adalah
cakram magnetic (magnetic disk), dan dikenal sebagai
Direct Access Storage Device (DASD).

Ciri-ciri DASD:
a. Pembacaan rekaman tidak harus urut.
b. Mempunyai alamat untuk penyimpanan data.
c. Data dapat disimpan dalam karakter atau blok.
d. Proses tulis (write) dapat dilakukan beberapa kali.

Pertemuan 11
Aplikasi Pemrograman
Bisnis

I. TEKNIK PERANCANGAN PROGRAM


BERORIENTASI BISNIS
Berikut ini akan dijelaskan beberapa teknik perancangan
program di dalam sebuah pemrograman yang terstruktur
untuk mendukung proses pembangunan/pengembangan
sistem.
Teknik perancangan file/database dalam bentuk
spesifikasi file
Teknik perancangan program dalam bentuk spesifikasi
program

1. Teknik Perancangan File atau Database


Adapun mengenai langkah-langkah di dalam perancangan
file tersebut adalah sebagai berikut:
1. Menentukan banyaknya jumlah kebutuhan file yang
nanti akan digunakan di dalam program
2. Menentukan Parameter dari file yang akan dibuat
Contoh:
Program Penggajian adalah sebuah aplikasi yang
melakukan proses penghitungan gaji pegawai, dengan
dasar input absen dan proses yang dilakukan secara
batch atau tunda (satu kali dalam sebulan).

Sekilas Analisa Program Penggajian


Input:
Data absen harian
Proses:
Penghitungan Gaji
Parameter perhitungan
Tunjangan pegawai (dari status pegawai)
Gaji Pokok (dari golongan pegawai)
Lembur (dari kehadiran pegawai)
Potongan (jika pegawai mempunyai potongan
yang dibebankan pada gaji)
Output:
Laporan Gaji Bulanan dan Slip Gaji untuk pegawai

Contoh Tabel Pegawai


No
Elemen Data
1 No Induk Pegawai

Akronim
NIP

Tipe
Text

2 Nama Pegawai

NaPeg

Text

25

3 Alamat Pegawai

AlmPeg

Text

50

4 dst.

..

..

Jika dijumlahkan panjang record pegawai

Panjang Ket
6
PK

180
misal

Parameter File meliputi hal-hal sebagai berikut:


a. NAMA FILE
Nama yang dibuat untuk menunjukkan nama file yang
digunakan. Dituliskan di dalam source program.
Contoh: File_Pegawai, File_Lembur, dll.
b. AKRONIM FILE
Nama yang dibuat untuk menunjukkan file disimpan
dalam tabel/database, dituliskan dengan extension-nya.
Contoh: Pegawai.mdb, Lembur.dbf, Absensi.myd
c. KODE FILE
Nama yang dibuat pada saat file digambarkan dalam
bentuk diagram (Normalisasi)
Contoh: Tabel Pegawai, Tabel Lembur, Tabel Absen

d. TYPE FILE
Tipe dari tabel yang digunakan dalam program.
Contoh: File Master, File Transaksi
e. Panjang Record (RECORD-SIZE)
Jumlah karakter yang digunakan dalam satu record.
Contoh: 180 Characters
f. ORGANISASI FILE
Organisasi yang digunakan pada saat menyimpan data
ke dalam tabel.
Contoh: Index Sequential
g. ACCESS FILE
Cara mengakses data yang disimpan pada tabel.
Contoh: Random

h. MEDIA FILE
Media yang digunakan untuk menyimpan file (tabel)
Contoh : Harddisk
i. FIELD KEY
Kunci field yang dipakai dalam program pada saat program
mengakses database
Contoh : Nomor Induk Pegawai (NIP)
j. SOFTWARE yang digunakan untuk membuat tabel.
Contoh : Microsoft Access 2007

2. Teknik Perancangan Program


Adapun mengenai langkah-langkah di dalam perancangan
program adalah sebagai berikut:
1. Menentukan banyaknya jumlah kebutuhan program yang
nanti akan dibuat.
2. Menentukan Parameter dari Program yang akan dibuat.
Parameter Program meliputi hal-hal sebagai berikut:
a. NAMA PROGRAM
Nama yang dibuat untuk menunjukkan identitas program
Contoh: Program HitungGaji
b. AKRONIM PROGRAM
Nama yang dibuat untuk menyimpan source program
Contoh: HitGaji.vbp

c. KODE PROGRAM
Nama yang dibuat pada saat file digambarkan dalam bentuk
diagram (HIPO)
Contoh: Gj01
d. FUNGSI PROGRAM
Menjelaskan fungsi atau kegunaan dari program yang
dibuat
Contoh: Untuk program Gaji, maka fungsi program
dituliskan: Program untuk perhitungan gaji
karyawan.

e. BAHASA PEMROGRAMAN
Menentukan bahasa pemrograman yang digunakan pada
saat pembuatan souce program, biasanya berhubungan
dengan point (b) untuk menyatakan extension file.
Contoh: Visual Basic 6.0
f. PROGRAM FLOWCHART
Menggambarkan logika atau proses program dalam bentuk
flowchart.
g. PROSES PROGRAM
Menjelaskan secara rinci mengenai isi dan proses
program, termasuk penjelasan dari command button
apabila dijalankan.

Contoh Program Bisnis pada


Sistem Perpustakaan
Dosen menjelaskan tentang pembahasan program
bisnis, dan untuk selanjutnya mengembangkan
sendiri dari contoh yang diberikan.

Tabel pada Sistem Perpustakaan terbentuk, yaitu:


1. Tabel Anggota
2. Tabel Buku
3. Tabel User
4. Status
5. Tabel Peminjaman
6. Tabel Pengembalian dan
7. Tabel Detail Peminjaman

Catatan: dalam pembahasan ini hanya 2 tabel yang


akan dibahas.

a. Spesifikasi File/database
1. Spesifikasi Tabel Anggota
Nama File
: Tabel Anggota
Akronim File
: tbl_anggota.myd
Fungsi File
: untuk menyimpan data anggota
perpustakaan
Tipe File
: File Master
Organisasi File : Index Sequential
Akses File
: Random
Media File
: Harddisk
Panjang Record : 160 karakter
Kunci Field
: noang
Software
: MySQL

Tabel II.1
Tabel Anggota
No
1
2
3
4
5
6
7
8
9
10

Elemen Data

Akronim

Nomor Anggota
Nama Anggota
Jenis Kelamin
Alamat
Pekerjaan
Telepon
Alamat Email
Tanggal Daftar
Tanggal Berlaku
Status

noang
nama
jk
alamat
pekerjaan
telp
email
tgldaftar
tglberlaku
status

Tipe
Text
Text
Text
Text
Text
Text
Text
Date
Date
Text

Panjang
10
20
1
50
15
15
25
8
8
9

Ket
PK

2. Spesifikasi Tabel Buku


Nama File
: Tabel Buku
Akronim File
: tbl_buku.myd
Fungsi File
: untuk menyimpan data buku
perpustakaan
Tipe File
: File Master
Organisasi File : Index Sequential
Akses File
: Random
Media File
: Harddisk
Panjang Record : 161 karakter
Kunci Field
: kdbuku
Software
: MySQL

Tabel II.2
Tabel Buku
No
1
2
3
4
5
6
7
8

Elemen Data

Akronim

Kode Buku
Judul Buku
Pengarang
Penerbit
Tahun Terbit
Kota Terbit
Stok
Tanggal Entri

kdbuku
judul
pengarang
penerbit
thnterbit
kota
stok
tgl_entri

Tipe
Text
Text
Text
Text
Date
Text
Num
Date

Panjang

Ket

7
80
20
25
4
15
2
8

PK

b. Pengkodean
Kode yang dibuat dalam pengkodean adalah field-field
yang dijadikan sebagai kunci primer (Primary Key/PK):
1. Nomor Anggota
X
Kode
Status

Tanggal daftar (YYMMDD)

Nomor Urut
Anggota

2. Kode Buku

9
Nomor Urut Buku

Kode
Pengarang

Huruf awal Judul


Jenis buku

c. Spesifikasi Program (Diagram HIPO)

Catatan: Login tidak


perlu digambarkan di
dalam HIPO

d. Spesifikasi Program dalam perancangan program


Berdasarkan HIPO, spesifikasi program diantaranya:
1. Spesifikasi Program Menu Utama
2. Spesifikasi Program Data Anggota
3. Spesifikasi Program Data Buku
4. Spesifikasi Program Data User
5. Spesifikasi Program Transaksi Peminjaman
6. Spesifikasi Program Transaksi Pengembalian
7. Spesifikasi Program Laporan Data Anggota
8. Spesifikasi Program Laporan Data Buku
9. Spesifikasi Program Laporan Peminjaman
10. Spesifikasi Program Laporan Pengembalian
11. Spesifikasi Program Pencetakan Kartu Anggota
12. Spesifikasi Program Pencetakan Laporan
Catatan: hanya no.5 yang dijelaskan dalam pertemuan ini

5. Spesifikasi Program Transaksi Peminjaman


Nama program
: Peminjaman
Akronim
: Peminjaman.vbp
Fungsi
: Untuk melakukan peminjaman buku
Bahasa program
: Visual Basic 6.0
Bentuk tampilan
: Lihat Lampiran C.6
Proses Program
:
a. Klik Tambah untuk meminjam buku dan nomor peminjaman
muncul otomatis. Isikan data anggota dan data buku yang
dipinjam, jika peminjaman melebihi batas jumlah peminjaman
maka muncul pesan peminjaman lebih dari 2 buku.
b. Klik Simpan untuk menyimpan data peminjaman
c. Klik Batal untuk pembatalan peminjaman
d. Klik Cetak untuk mencetak bukti transaksi peminjaman
e. Klik Tutup untuk keluar dari menu transaksi peminjaman

e. Program Flowchart
Flowchart yang dibuat diantaranya:
1. Flowchart Login
2. Flowchart Menu Utama
3. Flowchart Anggota
4. Flowchart Buku
5. Flowchart User
6. Flowchart Peminjaman
7. Flowchart Pengembalian
8. Flowchart Laporan Peminjaman
9. Flowchart Laporan Pengembalian
Catatan: hanya no.2 yang dijelaskan dalam pertemuan ini, selebihnya
Dosen mengembangkan sendiri bentuk flowchart di atas

2. Flowchart Menu Utama

Pertemuan 12
SDLC
(System Development Life Cycle)

I. Konsep SDLC
SDLC adalah serangkaian aktivitas yang dilaksanakan
oleh profesional dan pemakai sistem informasi untuk
mengembangkan dan mengimplementasikan sistem
informasi.
Setelah beberapa waktu, jenis dan macam informasi
yang dibutuhkan oleh users berubah. Apabila kebutuhan
informasi berubah, sistem informasi harus memenuhi
kebutuhan baru. Pengembang sistem akan memodifikasi
sistem informasi yang terkini, atau membangun sistem
informasi yang keseluruhannya baru

Beberapa kegiatan dalam siklus pengembangan sistem


mungkin
dilakukan
secara
bersamaan/bertahap,
tergantung dari jenis dan kompleksitas sistem
informasinya, panjang dari setiap kegiatan yang berbeda
antara satu sistem dengan sistem lainnya.
Pengembangan SDLC digunakan oleh analis sistem
untuk mengembangkan sistem informasi, dengan syarat,
validasi, pelatihan, dan pengguna kepemilikan. Setiap
SDLC harus menghasilkan sistem berkualitas tinggi yang
memenuhi atau melampaui harapan pelanggan,
penyelesaian yang tepat waktu dan perkiraan biaya yang
tepat, bekerja secara efektif dan efisien dalam
infrastruktur teknologi saat ini dan biaya perawatan dan
pengembangan yang murah.

II. Kelebihan dan Kekurangan SDLC


Kelebihan SDLC:
a. Menyediakan tahapan yang dapat digunakan sebagai
pedoman mengembangan sistem
b. Akan memberikan hasil sistem yang lebih baik karena
sistem dianalisis dan dirancang secara keseluruhan
sebelum diimplementasikan
Kekurangan SDLC:
a. Hanya menyediakan tahapan-tahapan saja, tetapi tidak
menyediakan metodologi
b. Hasil dari SDLC sangat tergantung dari hasil di tahap
analisis
c. Dibutuhkan waktu yang lama untuk mengembangkannya
d. Dibutuhkan biaya yang relatif besar
e. Hasil dari sistem sukar dimodifikasi karena perlu analisis
kembali

III. Tahapan dalam SDLC


Secara sederhana SDLC dapat digambarkan:

Tahapan SDLC:
1. Perencanaan (Planning)
Perencanaan awal untuk mendefinisikan lingkup,
tujuan yang akan dicapai, jadwal dan anggaran awal
yang diperlukan untuk memecahkan masalah.
Dibentuk suatu struktur kerja strategis yang luas dan
pandangan SI baru yang jelas yang akan memenuhi
kebutuhan-kebutuhan pemakai informasi.
Sistem dievaluasi dan dipisahkan berdasarkan
prioritasnya, prioritas tertinggi akan dipilih untuk
pengembangan.
Sumber daya baru direncanakan, dan dana
disediakan untuk mendukung pengembangan sistem

2. Analisis Sistem (Analysis)


Kegiatan yang dilakukan:
a. Studi Pendahuluan
b. Studi Kelayakan
c. Mengidentifikasikan permasalahan dan kebutuhan
pemakai
d. Memahami sistem yang ada
e. Menganalisis hasil penelitian
Dilakukan proses penilaian, identifikasi dan evaluasi
komponen dan hubungan timbal-balik yang terkait
dalam pengembangan sistem, definisi masalah, tujuan,
kebutuhan, prioritas dan kendala-kendala sistem,
ditambah identifikasi biaya, keuntungan dan estimasi
jadwal untuk solusi yang berpotensi.

3. Perancangan Sistem (Design)


Tujuannya untuk memberikan gambaran secara umum
tentang kebutuhan informasi kepada pemakai sistem
secara logika
Tujuan lainnya untuk memberikan gambaran yang
jelas dan rancang bangun yang lengkap kepada
pemrogram komputer dan ahli-ahli teknik yang lainnya
Perancangan sistem untuk menerangkan secara luas
bagaimana setiap komponen perancangan sistem
tentang output, input, proses, kendali, database dan
teknologi akan dirancang, data yang akan
dimasukkan, dihitung atau disimpan, struktur file dan
media penyimpanan. Menjelaskan fitur yang
diinginkan user dan operasional secara detail,
termasuk tata letak layar, aturan bisnis, diagram
proses, pseudocode dan dokumentasi
Prosedur-prosedur
yang
ditulis
menjelaskan
bagaimana data diproses untuk menghasilkan output.

4. Implementasi (Implementation)
Tahap meletakkan sistem supaya siap dioperasikan
Kegiatan yang dilakukan pada tahap ini:
Mempersiapkan rencana implementasi
Melakukan kegiatan implementasi, yaitu memilih dan
melatih personal, memilih dan mempersiapkan
lokasi, mengetes sistem, konversi sistem
Menindaklanjuti implementasi
Biasanya pada tahap ini kegiatan yang dilaksanakan
pembuatan kode program (coding) dan basisdata,
melakukan install dan menguji sistem. Pada tahapan
ini akan diperoleh program aplikasi dan dokumentasi.

5. Pemeliharaan (Maintenance)
Pemeliharaan bertujuan untuk memastikan bahwa
sistem yang digunakan oleh pihak pengguna benarbenar telah stabil dan terbebas dari error dan bug
Pemeliharaan dilakukan karena beberapa hal:
Sistem mengandung kesalahan
Sistem mengalami perubahan karena permintaan
baru atau karena perubahan lingkungan luar
Sistem perlu ditingkatkan
Pada tahapan ini dilakukan perawatan seperti
perubahan, koreksi, penambahan, pindah ke platform
komputasi yang berbeda dan lain-lain. Ini langkah
paling penting dari semua tahapan yang menentukan
keberhasilan implementasi sistem

IV. Model SDLC


System Development Lyfe Cycle (SDLC) adalah
keseluruhan proses dalam membangun sistem melalui
beberapa langkah.
Ada beberapa model SDLC:
a. Model Waterfall
b. Model Prototyping
c. Model RAD
d. Model Incremental
e. Model Spiral

III.1. Model Waterfall


Model ini sering disebut dengan Linear Sequential
Model atau classic life cycle.
Model ini melakukan pendekatan secara sistematis
dan urut mulai dari level kebutuhan sistem lalu menuju
ke tahap analysis, desain, coding, testing/verification,
dan maintenance.
Disebut dengan waterfall karena tahap demi tahap
yang dilalui harus menunggu selesainya tahap
sebelumnya dan berjalan berurutan. Sebagai contoh
tahap desain harus menunggu selesainya tahap
sebelumnya yaitu tahap requirement.
Model ini biasanya untuk membangun sistem dimana
requirement sudah jelas sepenuhnya dan kurang
adaptif terhadap perubahan requirement

Gambar Model Waterfall

III.2. Model Prototype


Metode
dalam
pengembangan
sistem
yang
menggunakan program/sistem contoh untuk segera
dapat dievaluasi oleh pemakai dan secara bertahap
dapat disesuaikan dengan kebutuhan sistem
Membuat proses pengembangan SI menjadi lebih
cepat dan lebih mudah, terutama pada keadaan
kebutuhan pemakai sulit untuk diidentifikasi
Melibatkan pemakai secara intensif, sehingga
pendefinisian kebutuhan pemakai menjadi lebih baik,
meningkatkan kepuasan pemakai, dan mengurangi
risiko tidak terpakainya sistem
Memperkecil kesalahan disebabkan pada setiap versi
prototipe, kesalahan segera terdeteksi oleh pemakai

Gambar Model Prototype

III.3. Model Rapid Aplication Development (RAD)


Merupakan model pengembangan sistem yang
melakukan beberapa penyesuaian terhadap SDLC pada
beberapa bagian sehingga lebih cepat untuk sampai ke
tangan pengguna sistem
RAD merupakan sebuah model proses perkembangan
software sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek
Melakukan tes berulang-ulang oleh user terhadap
desain yang diawali dengan prototipe
Menggunakan kembali komponen perangkat lunak yang
ada
Komunikasi yang tidak terlalu formal antar anggota tim
Waktu pengembangan singkat

Gambar Model RAD

III.4. Model Incremental


Merupakan model pengembangan sistem yang
dipecah sehingga model pengembangannya secara
increment/bertahap.
Kebutuhan pengguna diprioritaskan dan prioritas
tertinggi dimasukkan dalam awal increment
Model ini adalah inti dari siklus pengembangan
sistem yang merespon terhadap kelemahan model
Waterfall
Memberikan implementasi sebagai inisial proses
kepada user untuk mendapatkan umpan balik
Pengembangan dengan terus melakukan eksplorasi
Untuk sistem dengan interaksi skala kecil dan
medium, dan masa penggunaan pendek

Gambar Model Incremental

III.5. Model Spiral


Model spiral adalah proses pengembangan perangkat
lunak yang menggabungkan kedua unsur desain dan
prototyping dalam setiap tahap, dalam upaya untuk
menggabungkan kelebihan dari konsep top-down dan
bottom-up
Model yang mendefinisikan kebutuhan dengan detail
Model spiral ini tidak merepresentasikan rangkaian
tahapan dengan penelusuran balik (back-tracking), tidak
ada fase-fase tahapan yang tetap seperti spesifikasi atau
perancangan. Setiap untaian pada pada spiral
menunjukkan fase software process
Sistem dibuat berdasarkan prototipe yang dilakukan
berulang-ulang dan memuaskan customer
Ditujukan untuk proyek-proyek besar, mahal dan rumit

Gambar Model Spiral

OOP
(Object Oriented Programming)

I. Pengertian
OOP (Object Oriented Programming) atau Pemrograman
Berorientasi Objek (PBO) adalah suatu cara baru dalam
berfikir serta berlogika dalam menghadapi masalahmasalah yang akan dicoba-atasi dengan bantuan
komputer.
Tujuan utama dari pengembangan perangkat lunak atau
program berorientasi objek, dapat dijelaskan sebagai
berikut:
a. Mempersingkat waktu dan menurunkan biaya pengembangan rekayasa perangkat lunak.
b. Menurunkan biaya perawatan perangkat lunak.
c. Pemrograman berorientasi objek memberikan landasan
yang sangat berguna untuk pembuatan prototype sistem
secara cepat.

Kelebihan OOP :
Menyediakan struktur modular yang jelas untuk program
sehingga bagus digunakan untuk mendefinisikan tipe
data abstrak di mana detil implementasinya tersembunyi.
Mempermudah dalam memelihara dan memodifikasi
kode yang sudah ada. Objek yang baru dapat dibuat
tanpa mengubah kode yang sudah ada.
Menyediakan framework untuk library kode di mana
komponen software yang tersedia dapat dengan mudah
diadaptasi dan dimodifikasi oleh programmer. Hal ini
sangat berguna untuk mengembangkan GUI.
Resiko kesalahan relative kecil (lebih sedikit mengetik),
sintaks juga tidak perlu dihafalkan, karena semuanya
sudah disediakan.
Waktu debugging lebih singkat, karena setiap objek tidak
perlu di-debug setiap kali digunakan

Perbandingan antara Pemrograman Berorientasi


Objek dengan Pemrograman Terstruktur
Pemrograman Terstruktur

PBO

a. Penekanan pada urutan yang


harus dikerjakan (algoritma
pemecahan masalah)

a. Pendekatan lebih pada data


bukanya pada
fungsi/prosedur

b. Program berukuran besar


dipecah-pecah menjadi
program-program yang lebih
kecil (Modular)

b. Program besar dibagi ke


dalam Objek-objek.
Struktur data dirancang dan
menjadi karakteristik dari
objek-objek

c. Kebanyakan fungsi/prosedur
berbagi data global

c. Fungsi-fungsi yang
mengoperasikan data
tergabung dalam suatu objek
yang sama

Pemrograman Terstruktur
d. Data bergerak secara bebas
dalam sistem, dari satu fungsi
ke fungsi yang lain saling
terkait

PBO
d. Data tersembunyi dan
terlindung dari
fungsi/prosedur yang ada di
luar

e. Fungsi-fungsi
e. Objek-objek dapat saling
mentransformasi data dari satu
berkomunikasi dengan saling
bentuk ke bentuk yang lain
mengirim message satu sama
lain
f. Pendekatan adalah pendekatan f. Pendekatanya adalah bottom
top down (dari atas ke bawah)
up (dari bawah ke atas)

II. Istilah-Istilah dalam OOP


1. Object
Objek didefinisikan sebagai konsep, abstraksi atau
benda dengan batasan dan arti untuk suatu masalah.
Dapat digambarkan sebagai benda secara fisik atau
konseptual (orang, hardware, software, pintu, kuda dll)
yang mempunyai atribut dan metode.
Semua objek mempunyai identitas yang berbeda dengan
lainnya.
2. Class
Kumpulan dari objek-objek yang sejenis.

3. Diagram Objek
Untuk melengkapi notasi grafik pada pemodelan objek,
kelas dan relasinya dengan yang lain.
Bermanfaat untuk pemodelan abstrak dan membuat
perancangan program.
Digunakan dalam pengembangan sistem mulai dari fase
analisa sampai implementasi.
Contoh Diagram Objek:
Nama objek
atribut

metode

4. Atribut
Menggambarkan data yang dapat memberikan
informasi mengenai kelas atau objek di mana atribut
tersebut berada.
5. Metode
Suatu prosedur/fungsi yang disatukan dalam suatu
objek dan dapat mengakses field-field data yang
menjadi bagian dari objek tersebut
Merupakan apa yang dapat dilakukan oleh Objek
Di dalam objek, metode sebagai suatu header
fungsi/prosedur yang bertindak sebagai metode
Di luar objek, metode didefinisikan secara penuh,
yaitu statemen-statemen apa saja yang akan
dikerjakan oleh metode tersebut
Nama metode harus diletakkan setelah nama objek
yang memiliki metode tersebut

Contoh sederhana atribut dan metode:

Mhs
NIM
Nama
Jurusan
Input
Edit
Delete

6. Message
Cara untuk berhubungan antara satu objek dengan
objek lain.
Objek pengirim mengirimkan pesan kepada objek
penerima melaksanakan supaya objek penerima
melaksanakan salah satu metode yang dimiliki.
Contoh:

message

III. Karakteristik dari Objek


Ada 3 (tiga) karakteristik utama bahasa pemrograman
berorientasi objek yaitu:
a. Enkapsulasi (pengkapsulan)
Proses penggabungan antara data-data dan fungsifungsi yang berkaitan ke dalam sebuah objek.
Hakikat dari enkapsulasi ini adalah memadukan
langkah program dengan data yang ada di dalamnya.
Data dan prosedur atau fungsi dikemas bersamasama dalam suatu objek, sehingga prosedur atau
fungsi lain dari luar tidak dapat mengaksesnya.
Hanya dengan interface objek maka kita dapat
mengakses datanya.

b. Inheritance (penurunan sifat)


Teknik yang menyatakan bahwa anak dari objek
akan mewarisi data/atribut dan metode dari
induknya langsung.
Karakteristik dari suatu objek diturunkan ke objek
yang lain sehingga objek yang baru akan memiliki
karakteristik yang sama dengan induknya.
Penurunan ini diawali dengan mendefinisikan objek
induk, sehingga dengan menggunakan objek induk
tersebut, dapat membuat objek yang bertumpu
pada objek induknya. Sehingga akan terbentuk
objek keturunan. Dimana setiap objek turunannya
dapat mengakses semua data dan program yang
dimiliki oleh objek induknya

c. Polimorphism (keanekaragaman)
Dengan polimorphism kita dapat membuat
sebuah objek baru yang menunjukkan fungsifungsi yang sama dengan objek induknya, namun
fungsi fungsi yang sama tersebut memiliki
operasi yang berbeda-beda.
Objek yang masih di dalam suatu hirarki dapat
menyusun objek yang lainnya, sesuai dengan
kebutuhan dari objek tersebut, yang artinya
pemrograman berorientasi objek ini mencakup
keanekaragaman
objek
yang
menjamin
terhimpunnya perpaduan keanekaragaman data
dengan prosedur atau fungsi.

Analogi Polimorphism :
Sebuah kendaraan secara umum baik mobil maupun
sepeda motor memberi kemungkinan kepada kita untuk
melakukan operasi maju, mundur, belok kanan/kiri
atau berhenti. Namun keduanya tidak melakukan operasioperasi tersebut dengan cara yang sama.
Belok kanan
Maju
Belok kiri

Implementasi OOP Pada


Perangkat Lunak Pemrograman

I. Implementasi OOP menggunakan Bahasa Pemrograman


Penulisan kode program merupakan kelanjutan dari
proses perancangan
Spesifikasi perangkat lunak:
a. Struktur data
b. Aliran dinamis dari kendali
c. Transformasi fungsional
Beberapa bahasa pemrograman berorientasi objek:
a. Smalltalk
b. C++
c. Java

a. Smalltalk
Smalltalk adalah bahasa pemrograman berorientasi
objek yang pertama kali populer.
Smalltalk dikembangkan di Xerox PARC-Amerika
Serikat.
Ide dasar Smalltalk meliputi:
1. Semua adalah objek
2. Objek bisa saling berkomunikasi melalui messages
atau berita
3. Semua tersedia untuk dimodifikasi

b. C++
C++ adalah salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1980an oleh Bell Labs sebagai
pengembangan dari Bahasa Pemrograman C (yang
dibuat oleh Brian W. Kernighan dan Denies M. Ricthie
pada tahun 1972). Salah satu perbedaan yang paling
mendasar dengan bahasa C adalah C++ medukung
konsep pemrograman berorientasi objek (Object
Oriented Language).
Tahun 1980 seorang ahli yang bernama Bjarne
Stroustrup mengembangkan beberapa hal dari bahasa
C yang dinamakan C with Classes yang berganti
nama pada tahun 1983 menjadi C++.
C++ merupakan bahasa pemrograman yang case
sensitive.

c. Java
Java adalah bahasa pemrograman berorientasi objek
yang dikembangkan oleh Sun Microsystems sejak
tahun 1991.
Bahasa Pemrograman Java pertama lahir dari The
Green Project, yang berjalan selama 18 bulan, dari
awal tahun 1991 hingga musim panas 1992. Proyek
tersebut belum menggunakan versi yang dinamakan
Oak. Proyek ini dimotori oleh Patrick Naughton, Mike
Sheridan, James Gosling dan Bill Joy, beserta sembilan
pemrogram lainnya dari Sun Microsystems. Salah satu
hasil proyek ini adalah maskot Duke yang dibuat oleh
Joe Palrang.
Java adalah bahasa pemrograman yang mirip dengan
C/C++
Keunggulanya adalah Java dapat berjalan di banyak
platform perangkat keras (Multy-Platform).

Beberapa hal yang harus diperhatikan dalam menentukan


Objek dalam suatu program
1. Correctness and Sufficiency
Dalam mendesain program sebaiknya memperhatikan
bahwa object-object yang didisain dapat menjamin
kebenaran informasi dan juga kecukupan informasi
yang dibutuhkan

2. Robustness (Ketahanan)

Ketahanan adalah kemampuan sistem komputer


untuk mengatasi kesalahan selama eksekusi atau
kemampuan algoritma untuk terus beroperasi
meskipun ada kelainan pada input, perhitungan,
jenis pengujian yang melibatkan input tidak valid
atau tidak terduga.

Object-object yang didisain sebaiknya dapat


membuat suatu program menjadi tangguh, dalam hal
ini diharapkan program yang dibuat memiliki error
yang sedikit dan dapat bertahan dalam situasi yang
sulit sekalipun.

3. Flexibility
Object-object yang didisain sebaiknya mudah untuk
diexpand atau dikembangkan (bersifat flexibel). Hal ini
dibutuhkan karena dalam pembuatan program sering
kali harus merubah disain yang telah dibuat
sebelumnya karena adanya perubahan disain yang
diinginkan oleh user/pengguna.
4. Reusability
Kode-kode program yang telah dibuat, dapat digunakan
kembali. Hal ini haruslah terpenuhi dalam mendisain
program yang baik. Karena ketika menggunakan point
ini maka akan lebih mudah untuk me-manage program
yang dibuat, apalagi disaat harus mengganti suatu
informasi dalam program yang dibuat.

5. Efficiency
Desain yang dibuat sebaiknya efisien karena akan
berkaitan dengan penggunaan resource hardware yang
digunakan. Baik itu dalam faktor kecepatan maupun
dalam faktor penyimpanan data/program.
Beberapa hal di atas sangat penting untuk diterapkan agar
program atau aplikasi yang dibangun lebih tangguh, sebab
menuliskan kode program tidak hanya sekadar
mengetikkan perintah-perintah yang menginstruksikan
aplikasi untuk mengerjakan sesuatu, tetapi dapat juga
merupakan seni membangun struktur kode program
dengan kaidah tertentu.

II. Implementasi OOP dengan C++


A. Implementasi Konsep Pengkapsulan (Encapsulation)
dengan C++
Salah
satu
keistimewaan
C++
adalah
pengkapsulan
Pengkapsulan adalah mengkombinasikan suatu
struktur dengan fungsi yang memanipulasinya
untuk membentuk tipe data baru yaitu kelas (class)
Kelas pada C++ ada 3, yaitu:
1. Private
2. Public
3. Protected

Sifat class:
1. Private
Tingkat akses yang memberikan hak akses data hanya
kepada kelas yang bersangkutan saja.
2. Public
Tingkat akses yang memberikan hak akses secara
umum kepada kelas-kelas turunannya maupun terhadap
lingkungan luar di dalam program.
3. Protected
Tingkat akses yang memberikan hak akses terhadap
data dalam suatu kelas sehingga data tersebut dapat
diakses oleh kelas turunannya, namun lingkungan luar di
dalam program masih tetap tidak diberi hak untuk
mengaksesnya.

Contoh program: Class


#include <iostream>
Using namespace std;
class MOTOR {
char* merk;
long tahun;
char* nopol;
char* warna;
public:
void SetMotor()
{
merk = Honda;
tahun = 2010;
nopol = B 1234 ABC
warna = merah putih
}

Contoh program: Class (lanjutan)


void ShowInfoMotor()
{
cout<<Merk
: <<merk<<endl;
cout<<Tahun
: <<tahun<<endl;
cout<<Nomor Polisi: <<nopol<<endl;
cout<<Warna
: <<warna<<endl;
}
};
int main()
{
MOTOR M; //instansiasi thdp kelas MOTOR
M.SetMotor();
M.ShowInfoMotor();
return 0;
}

B. Implementasi Konsep Pewarisan (inheritance) dengan


C++
C++ memungkinkan untuk implementasi inheritance
Contoh program :

class nama_kelas_turunan : sifat_penurunan


nama_kelas_dasar
{
.......// Implementasi kelas turunan
}

Contoh program: Inheritance


#include <iostream>
Using namespace std;
class INDUK {
int X;
public:
void SetX(int XX)
{ X = XX;
}
int GetX()
{ return X; }
};
class TURUNAN: public INDUK {
int Y;
public:
void SetY(int YY)
{ Y = YY;
}
int GetY()
{ return Y; }
};

Contoh program: Inheritance (lanjut)


int main() {
INDUK A; //instansiasi thdp kelas INDUK
A.SetX(10);
cout<<Nilai X yg dipanggil dari kelas INDUK : ;
cout<<A.GetX()<<endl;
cout<<\n;
};
TURUNAN B; //instansiasi thdp kelas TURUNAN
B.SetY(20);
cout<<Nilai Y yg tdpt pd kelas TURUNAN : ;
cout<<B.GetY()<<endl;
cout<<\n;
};
B.SetX(30);
cout<<Nilai X yg dipanggil dari kelas TURUNAN : ;
cout<<B.GetX()<<endl;
return 0;
}

C. Implementasi Konsep Polimorfisme dengan C++

Polimorfisme merupakan fitur pemrograman


berorientasi
objek
yang
penting
setelah
pengkapsulan dan pewarisan.

Polimorfisme berasal dari bahasa Yunani, poly


(banyak) dan morphos (bentuk).

Polimorfisme menggambarkan kemampuan kode


C++ berperilaku berbeda tergantung situasi pada
waktu program berjalan.

Contoh program: Polimorfisme


class MANUSIA {
char* nama;
int tinggi;
int berat;
public:
void SetNama(char* nm) {
nama = nm;
}
void SetTinggi(int tg) {
tinggi = tg;
}
void SetBerat(int br) {
berat = br;
}
char* GetNama() {
return nama;
}

Contoh program: Polimorfisme (lanjut)


int GetTinggi() {
return tinggi;
}
int GetBerat() {
return berat;
}
}
//fungsi yg dpt didefinisikan ulang pd kelas
turunannya
virtual void Berjalan() {
cout<<Berjalan <<endl;
}
virtual void Belajar() {
cout<<Belajar <<endl;
}
};

Soal Latihan Pertemuan 14

1. Yang tidak termasuk dalam bahasa pemrograman


berorientasi obyek adalah:
a. Basic
d. Smalltalk
b. C++
e. VB dot net
c. Java

2. Bahasa pemrograman berorientasi objek yang


dikembangkan oleh Sun Microsystems sejak 1991
adalah:
a. Pascal
d. Smalltalk
b. C++
e. VB dot net
c. Java

3. Bahasa pemrograman yang dikembangkan oleh Xerox


PARC-Amerika serikat adalah:
a. Pascal
d. Smalltalk
b. C++
e. VB dot net
c. Java

4. Suatu fungsi yang hanya dapat diakses oleh kelaskelas turunan disebut dengan:
a. Public
d. Overloading
b. Private
e. Polymorphism
c. Protected

5. Fungsi yang dapat dibaca dan diakses oleh siapapun


disebut dengan :
a. Public
d. Overloading
b. Private
e. Polymorphism
c. Protected

PERTEMUAN 2
Konsep Dasar Pemrograman

I.

Algoritma Pemrograman Yang Baik

Ciri-ciri algoritma pemrograman yang baik adalah:


1. Memiliki logika perhitungan/metode yang tepat dalam
memecahkan masalah
2. Menghasilkan output yang tepat dan benar dalam waktu
yang singkat
3. Ditulis dengan bahasa yang standar secara sistematis
dan rapi sehingga tidak menimbulkan arti ganda.
4. Ditulis dengan format yang mudah dipahami dan
diimplementasikan ke dalam bahasa pemrograman.
5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
6. Semua proses harus berakhir setelah sejumlah langkah
dilakukan.

Berikut ini contoh program yang mempunyai algoritma


yang TIDAK BAIK karena mengandung kesalahan
logika.
#include <iostream>
void main ()
{
int i ;
i=0;
while (i <= 5)
{
cout<<Bina Sarana Informatika<<endl;
i=i+i
}
return 0;
}

Berikut ini contoh program yang mempunyai algortitma


yang BAIK karena mempunyai logika yang benar
#include <iostream>
void main ()
{
int i;
i = 0;
while (i <= 5)
{
cout<<Bina Sarana Informatika<<endl;
i=i+1
}
return 0;
}

II. Standar Program Yang Baik


A. Standar Pemecahan masalah
Teknik untuk dapat membantu memecahkan masalah:
Top Down : program disusun dari yang paling umum
(masalah yang komplek), kemudian dibagi
menjadi masalah yang lebih kecil.
Bottom Up : program disusun dari pemecahan masalah
yang kompleks, kemudian menggabungkan
prosedur-prosedur yang ada menjadi satu
kesatuan program sebagai penyelesaian
masalah tersebut.
Modular

: program dipecah menjadi beberapa modul,


dan setiap modul menunjukkan fungsi dan
tugas tunggal.

B. Standar Penyusunan Program


1. Kebenaran logika dan penulisan
Program yang disusun harus memiliki logika dalam
pemecahan masalah.
Program yang dibuat harus memiliki ketepatan,
ketelitian dan kebenaran sehingga menghasilkan
program yang baik.

2. Waktu penulisan dan eksekusi program.


a. Contoh Logika pengujian yang TIDAK BAIK karena
pengujian yang berulang-ulang sehingga waktu
eksekusi tidak efisien
if (kondisi1)
{
pernyataan_1;
.
}
if (kondisi2)
{
pernyataan_2;
.
}
if (kondisi3)
{
pernyataan_3;
.
}

b. Logika pengujian yang BAIK sehingga waktu lebih


efisien:
if (kondisi_1)
{
pernyataan_1;
.
else
if (kondisi_2)
pernyataan_2;
.
else
if (kondisi_3)
pernyataan_3;
.
}

3. Perawatan dan pengembangan program


Penyusunan program harus mempunyai sifat
kesederhanaan dan kejelasan dari program yang
nantinya akan dikembangkan dan membantu dalam
perawatan.
4. Portabilitas
Bahasa pemrograman dan program yang disusun
sebaiknya bisa dipakai pada berbagai tipe komputer
yang berbeda-beda dan berbagai jenis sistem operasi.
5. User friendly
Program harus memiliki fasilitas yang memberikan
kemudahan bagi user untuk pengoperasian, seperti
menu tampilan yang informatif, pesan-pesan, dan lainlain.

C. Standar Perawatan Program


1. Dokumentasi
Merupakan catatan dari setiap langkah pekerjaan
membuat program dari awal sampai akhir, dan
biasanya digunakan untuk penelusuran
kesalahan dan pengembangan program.
2. Penulisan Instruksi
a. Berikan keterangan untuk awal statemen atau
instruksi yang tergabung dalam sekelompok
statemen.
b. Awal dan akhir statemen dari sekumpulan
statemen ditulis pada kolom yang sama
c. Gunakan sebaris atau beberapa baris kosong
sebagai pemisah.

d. Hindari pernyataan untuk Percabangan


(IF statement) yang sangat rumit dan Nested Loop
(Loop di dalam Loop lain) yang berlebihan.
e. Gunakan kurung buka dan tutup dalam menulis
suatu ekspresi Aritmatika atau logika.
f. Gunakan Spasi dalam menulis statemen atau
instruksi.

III. Sifat Penulisan Program


a. Program Oriented
Penulisan program yang struktur programnya selalu
berubah, apabila kondisi data yang diproses di dalam
program tersebut bertambah volume datanya.
Selain itu penulisan program ini bersifat statis dan tidak
fleksibel.
Contoh: Program Animasi
b. Data Oriented
Penulisan program yang struktur programnya tidak
selalu berubah, walaupun volume data yang diproses di
dalam program tersebut dalam jumlah besar. Selain itu
pula penulisan program ini bersifat dinamis dan
mempunyai tingkat fleksibilitas yang tinggi.
Contoh : Program aplikasi

Program Interaktif
Penulisan
program
yang
terstruktur,
dimana
programnya dapat dipergunakan oleh pengguna
secara mudah dan dapat dimengerti tentang proses
yang sedang dilakukan oleh program tersebut serta
dapat mengatur kebutuhan akan peranti masukan dan
keluaran.

Pertemuan 3

Tahapan Pembuatan
Program

I. Tahapan-Tahapan Membuat Program


A. Membuat Program Yang Kompleks
Untuk membuat program yang besar dan kompleks,
programmer membutuhkan tahapan-tahapan di bawah ini:
1. Definisi Masalah
Untuk mendapatkan pengertian atau pemahaman tentang
masalah yang ada sehingga dapat ditentukan batasan
masalahnya.

2. Analisis Kebutuhan
Untuk menentukan spesifikasi fungsi, kemampuan dan
fasilitas dari program yang disusun sebagai dasar
evaluasi.
3. Desain Algoritma/Membuat Rumusan Pemecahan
Masalah
Dengan cara menulis langkah-langkah pemecahan
masalah, dengan tujuan untuk menyelesaikan masalah.
Dapat disajikan dalam bentuk kata-kata (Pseudocode),
Struktur Chart, HIPO, Flowchart.

4. Pengkodean
a. Dokumentasi Kode
b. Deklarasi Data
c. Penyusunan Perintah
d. Input /Output
e. Efisiensi

5. Bahasa Pemrograman
Sebagai sarana komunikasi manusia-komputer, dan
sebagai media untuk membuat dan memahami program.
Karakteristik pemilihan bahasa pemrograman:
a. Bidang aplikasi yang dikerjakan
b. Kompleksitas algoritma dan perhitungan
c. Lingkungan dimana software diterapkan
d. Pengetahuan programmer/staff
e. Ketersediaan compiler (objek program)

6. Testing
Proses menguji program secara intensif untuk
menemukan kesalahan (bebas error)
Debugging
Mengoreksi kesalahan sampai kesalahan diperbaiki,
meliputi penetapan lokasi dan kode error
7. Dokumentasi
Informasi dan gambaran untuk memahami program atau
kode yang diberikan.
Tujuannya sebagai pedoman dan penjelasan bagi user.
Tipe dokumen pemrograman:
a. Dokumentasi Internal
b. Dokumentasi External
c. Dokumentasi Operator

8. Pemeliharaan
Meliputi:
a. Penambahan/peningkatan/perbaikan program, seperti
penambahan fungsi baru, dan perbaikan tampilan.
b. Adaptasi program dengan lingkungan mesin baru
c. Perbaikan terhadap kesalahan yang timbul
Pemeliharaan dibedakan menjadi:
a. Corrective
b. Adaptive
c. Preventive
d. Perfective

B. Membuat Program Sederhana


Untuk membuat suatu program yang sederhana,
programmer tidak perlu menggunakan delapanh tahapan
di atas, tetapi cukup beberapa tahap saja, yaitu:
1. Definisi Masalah
2. Desain Algoritma
3. Bahasa Pemrograman
4. Testing and Debugging

II. Karakteristik Seorang Programmer


1. Mampu menyusun algoritma dengan baik dan logis.
2. Memiliki ketekunan dan ketelitian yang tinggi.
3. Menguasai bahasa dan teknik penulisan program
dengan baik.
4. Dapat bekerja sama dalam suatu tim.
5. Dapat bekerja secara efisien dan tepat waktu

III. Menulis Program Interaktif


1. Program harus dapat melakukan validasi terhadap setiap
data yang masuk (mencocokkan data).
2. Program harus dapat mengecek setiap kemungkinankemungkinan yang penting, yang akan muncul pada data
masukan.
3. Buatlah format masukan sesederhana mungkin
4. Buatlah agar program dapat memberikan tanda bahwa
data yang dikehendaki sudah terpenuhi.
5. Berikan label atau keterangan pada setiap keluaran,
termasuk bentuk pesan kesalahan apabila si pemakai
salah mengoperasikan program tersebut.
6. Berikan pesan, apabila program sedang melakukan
suatu proses yang memerlukan suatu waktu tunggu

PERTEMUAN 4
ELEMEN-ELEMEN BAHASA
PEMROGRAMAN

I. Elemen-Elemen Dalam Bahasa


Pemrograman
A. Aturan Leksikal
1. Token
Elemen tunggal pada bahasa pemrograman, dapat
berupa keyword, operator, tanda baca
2. Komentar
Untuk memberikan suatu keterangan yang akan
menjelaskan isi dari program secara singkat.
Komentar hanya sebuah tulisan pada program dan
tidak akan diproses oleh komputer.
Bertindak sebagai dokumentasi

3. Identifier (pengenal)
Merupakan elemen nama yang dibuat sendiri oleh
programmer.
Digunakan dalam: tipe data buatan, label, variabel,
konstanta, program, unit, field dari record, prosedur dan
fungsi.
Aturan pemberian nama:
Karakter pertama harus berupa huruf
Karakter berikut dapat huruf/angka/under score
Panjang boleh berapa saja, tetapi hanya 63 karakter
pertama saja yang berarti
Huruf kapital/kecil berbeda (untuk C++)
Tidak boleh ada spasi

4. Keywords (Reserved Words)


Kata yang mempunyai makna khusus sebagai kata
tercadang, dan sudah dikenal oleh komputer.
Tidak boleh dipakai untuk nama label, tipe, variabel,
konstanta, prosedur & fungsi, field dari record, program
& unit.
Contoh : CIN, GET, RECORD, RETURN, dll

5. Operator
Merupakan simbol-simbol khusus yang digunakan untuk
mengoperasikan suatu nilai data (operand).
Operator yang digunakan dalam pemrograman:
a. Arithmetic Operator
b. Assignment Operator
c. Bitwise Operator
d. Logical Operator
e. Relational Operator
f. Pointer Operator

B. Tipe data
Pada suatu bahasa pemrograman umumnya telah
menyediakan tipe-tipe data yang sederhana (simple)
maupun yang Kompleks

1. Tipe Data Sederhana


a. Tipe integer
Tipe data yang nilainya tidak memiliki titik desimal.

Type

Batas nilai

Format

Int

-32768 32767

Signed 16 bit

Long

-2147483648
2147483647

Signed 32 bit

b. Tipe Real/Float
Tipe data yang nilainya merupakan pecahan (memiliki
titik desimal).

Type

Float
Double
Long double

Batas nilai

Format

3.4E-38 3.4E+38

unsigned 32 bit

1.7E-308 1.7E+308

unsigned 64 bit

3.4E-4932 3.4E+4932

unsigned 80 bit

c. Boolean/Logical
Tipe data yang hanya mempunyai 2 bentuk keluaran, yaitu
nilai True dan False yang dinyatakan dengan 0 dan 1,
sehingga satuan data yang terpakai cukup satu bit saja.
Operator yang digunakan adalah: And, Or, Not, Xor

Input

NOT (!)

AND (&&)

OR (||)

A&&B&&C

A||B||C

!A !B !C

d. Character
Tipe data yang terdiri dari aksara (simbol) yang
meliputi digit numerik, character alfabetik dan spesial
character.
Untuk menuliskan tipe char, karakter perlu ditulis di
dalam tanda petik tunggal ( )
Contoh :
A
karakter berupa huruf A
1
karakter berupa angka 1
*
karakter simbol *

II. Tipe Data Majemuk


String
merupakan sekumpulan dari beberapa karakter, yang
banyaknya berubah-ubah sesuai kebutuhan, besarnya 1
s/d 255 karakter.
Pemberian nilai String diapit dengan tanda petik ganda ()
Bentuk umum:
tipe_data pengenal [panjang] ;
pengenal = nama variabel
panjang = bilangan bulat yang menunjukkan jumlah
karakter
Contoh: char nama[15] ;

C. Expression
Rumus yang terdiri dari operasi-operasi atau kombinasi
operasi.
Aturan pendahulu penulisan rumus:
Operator pendahulu yang lebih tinggi dikerjakan lebih
dulu
Perhitungan dari kiri ke kanan
Ekspresi dalam tanda kurung, dikerjakan lebih dulu
Expression yang paling sederhana yaitu nama variable.
Expression yang lebih kompleks akan melibatkan operatoroperator, maupun pemanggilan fungsi atau prosedur.

D. Statement
1. Simple Statement
a. Assignment Statement
b. Statement untuk pemanggilan fungsi/prosedur
c. Jump Statement
2. Compound Statement (kumpulan statement)
adalah sekumpulan statement yang terdiri dari
statemen-statemen lain, termasuk juga iteration dan
selection statement.
3. Iteration Statement
Digunakan untuk melakukan perulangan sekumpulan
statement (compound statement).

E. Function dan Procedure


Procedure dan Function disebut juga subroutine,
merupakan blok statement yang dapat dipanggil dari
lokasi yang berbeda di dalam program.
Yang membedakan antara function dan procedure
yaitu:
suatu function jika dijalankan/dipanggil akan
mengembalikan suatu nilai.

Ketika procedure atau function dipanggil, dapat melewatkan


suatu nilai ke dalam function atau procedure tersebut. Nilai
yang dilewatkan disebut juga argumen atau parameter.
Ada dua cara melewatkan nilai, yaitu:
1. Passing by Value (Dilewatkan secara nilai)
Jika di dalam pemanggilan suatu prosedur/fungsi,
parameter tidak dimaksudkan untuk diubah oleh
prosedur/fungsi (nilai paramater fungsi program),
sekalipun perubahan telah dilakukan di dalam
prosedur/fungsi
Berguna untuk melindungi parameter aktual dari efek
perubahan harga yang tidak diinginkan.
2. Passing by Reference (Dilewatkan secara alamat)
Nilai paramater dalam fungsi = program
Parameter
harus
dilewatkan
dengan
cara
menambahkan tanda & di dalam deklarasi
prosedur/fungsi

Contoh Passing By Value


#include <iostream>
Using namespace std;

Parameter Formal

void Kali2 (int X) {


X = X * 2;
cout<<Nilai di dalam fungsi : <<X<<endl;
}
int main() {
int Bilangan;
cout<< Masukkan bilangan bulat : ;
cin>>Bilangan;
cout<<endl;
cout<<Nilai awal : <<Bilangan<<endl;
Kali2(Bilangan);
cout<<Nilai akhir : <<Bilangan<<endl;
return 0;
}

Parameter Aktual

Contoh Passing By Reference


#include <iostream>
Using namespace std;

Parameter Formal

void Kali2 (int& X) {


X = X * 2;
cout<<Nilai di dalam fungsi : <<X<<endl;
}
int main() {
int Bilangan;
cout<< Masukkan bilangan bulat : ;
cin>>Bilangan;
cout<<endl;
cout<<Nilai awal : <<Bilangan<<endl;
Kali2(Bilangan);
cout<<Nilai akhir : <<Bilangan<<endl;
return 0;
}

Parameter Aktual

Pertemuan 5
ANALISA STRUKTUR
PROGRAM

I. Flowchart
Adalah metode untuk menggambarkan tahap-tahap
pemecahan masalah dengan menggambarkan simbolsimbol tertentu yang mudah dimengerti, mudah
digunakan dan standar.

Pedoman pembuatan flowchart:


1. Sebaiknya digambarkan dari atas ke bawah
2. Kegiatan-kegiatan harus ditunjukkan dengan jelas
3. Harus ditunjukkan dari mana kegiatan
dimana akan berakhir

dimulai dan

4. Masing-masing kegiatan sebaiknya menggunakan 1 kata


yang mewakili suatu pekerjaan
5. Masing-masing kegiatan harus di dalam urutan yang
semestinya
6. Kegiatan yang terpotong ditunjukkan dengan simbol
penghubung
7. Gunakan simbol-simbol standar

Dalam penulisan flowchart dikenal 2 (dua) metode yaitu :


A. Sistem Flowchart
Diagram alir yang menggambarkan suatu sistem
peralatan komputer yang digunakan dalam proses
pengolahan data serta hubungan antar peralatan
tersebut.
Memperlihatkan prosedur pemrosesan data dan caracara menata prosedur dalam urutan dan tidak
memperlihatkan urutan langkah untuk memecahkan
masalah
Hanya untuk menggambarkan prosedur dalam sistem
yang dibentuk
Selain itu juga
menggambarkan file yang dipakai
sebagai input dan output

Simbol-Simbol Sistem Flowchart

Pita Magnetik

Keyboard

Printer Paper

Input/Output

Magnetic Disk

Process

Off Line Storage

Proses Sortir

Manual
Operation

On Line Storage/
VDU

Stored Data

Flow

Contoh :
Keyboard

Magnetik
Disk

Process
(CPU)

VDU

Stored
Data

Contoh:
Flowchart
Sistem Ujian
Masuk Kerja

Contoh:
Flowchart
Sistem
Inventory

B. Program Flowchart
Adalah diagram alir yang menggambarkan urutan logika
dari suatu prosedur pemecahan masalah.
Program Flowchart dihasilkan dari Sistem Flowchart.
Flowchart Program merupakan keterangan yang lebih
rinci tentang bagaimana setiap langkah program atau
prosedur sesungguhnya akan dilaksanakan.
Programmer menggunakan Program Flowchart untuk
menggambarkan urutan instruksi dari program komputer.
Analis Sistem menggunakan Program Flowchart untuk
menggambarkan urutan tugas-tugas pekerjaan dalam
suatu prosedur atau operasi.

Di bawah ini adalah gambar simbol program flowchart:

Proses

Input/Output

Pengujian

Konektor pada satu


halaman

Konektor pada
halaman lain

Subroutine/pemanggilan
sub program dr main prog

Awal/akhir program

Arus/arah

Pemberian nilai awal

Contoh 1: Flowchart Program


Start

Flowchart untuk
menghitung Lebar
Persegi panjang jika
diketahui adalah
luasnya.

Luas = 100
Masukan pjg

Lebar = Luas/pjg

Cetak Lebar

Coba lagi?
T

End

Contoh 2: Flowchart Program


Flowchart
untuk
menghitung
Total
pembayaran,
dengan
ketentuan jika
pembayaran
100000 ke atas
mendapat
diskon 10%,
selain itu tidak
mendapat
diskon

Start
Masukkan KdBrg,
HrgBrg, JmlBrg
Bayar = HrgBrg*JmlBrg

T
Bayar >=100000

Disc = 0

Y
Disc = 0.1*Bayar
TotalByr = Bayar - Disc
Cetak TotalByr

End

Contoh 3: Flowchart Program Login

II. Pseudocode
Pseudocode berasal dari kata pseudo yang berarti mirip
atau menyerupai dan code yang berarti program.
Pseudocode adalah teknik tulisan untuk menggambarkan
algoritma menggunakan kode yang mirip dengan kode
pemrograman yang sebenarnya.
Aturan Penulisan:
1. Satu statement satu baris
2. Pisahkan modul dengan beberapa baris untuk
mempermudah pembacaan
3. Keywords/Reserved words ditulis dengan huruf
KAPITAL/bold/garis bawah dan yang lain huruf kecil
4. Berikan tabulasi yang berbeda untuk penulisan dengan
loop/kondisi

Contoh beberapa penulisan pseudocode


Dengan Huruf Kapital:
FOR x = 1 TO 10 DO
BEGIN
CETAK(x)
END FOR

Dengan Cetak Tebal:


while x < 10 do
begin
cetak(x)
x=x+1
endwhile

Dengan Garis Bawah:


while x < 10 do
begin
cetak(x)
x=x+1
endwhile

a=1
Cetak(a)

Contoh Flowchart Program pada Menu Barang:

Studi Kasus:
Setiap dosen memberikan tugas pembuatan flowchart secara
berkelompok dengan studi kasus sebagai berikut:
1. Buat Flowchart untuk membuat deret bilangan ganjil yang
dimulai dari 1 sampai 100 kemudian hitung jumlah dari
semua deret yang dihasilkan.
2. Buat Flowchart untuk menentukan 10 buah deret
2 4 8 16 32 dst
kemudian hitung jumlah dari deret tsb.

ANALISA STRUKTUR
PROGRAM LANJUTAN

I. Struktur Program
A. Struktur Berurutan (Sequence Structure)

Struktur ini terdiri dari sebuah instruksi atau blok dari


instruksi yang tidak mempunyai perulangan atau
keputusan di dalamnya.
Struktur ini disebut juga struktur urut sederhana (simple
sequence structure).
Setiap baris program akan dikerjakan
secara urut dari atas ke bawah maka
hanya ada satu cara memulainya yaitu
dari bagian atas, dan cara untuk
keluarnya yaitu dari bagian bawah.

Contoh Struktur Berurutan

B. Struktur Seleksi (Selection Structure)

Struktur seleksi untuk melakukan proses pengujian


pada kondisi dalam mengambil suatu keputusan.

Kondisi adalah suatu syarat yang mempunyai nilai


True dan False.

Operator yang digunakan biasanya operator relational.

Ada beberapa macam struktur instruksi IF atau Struktur


Seleksi yaitu:
Struktur seleksi dengan IF
1. Statement IF berguna untuk memilih satu dari dua
kemungkinan yang ada. Terjadi apabila dihadapkan
pada suatu Kondisi dengan dua pilihan BENAR/SALAH.
Bentuk Umum:
if (kondisi)
pernyataan ;

2. Statement IF ...... ELSE


Bentuk umum :
if (kondisi)
pernyataan 1;
else
pernyataan 2;
end-if

3. Statement Nested IF
Pernyataan IF yang berada dalam pernyataan IF yang
lain.
Bentuk umum :
if (kondisi 1)
pernyataan 1;
else
if (kondisi 2)
pernyataan 2;
else
if (kondisi 3)
pernyataan 3;
else
pernyataan 4;
end-if
end-if
end-if

Selain menggunakan instruksi IF, struktur seleksi juga


dapat menggunakan instruksi Switch Case (Seleksi
Ganda).
Untuk masalah tertentu instruksi Switch Case lebih
memberi kejelasan dibandingkan dengan instruksi IF.
Bentuk Umum :
switch (ekspresi integer atau karakter)
{
case konstanta1:
perintah;
break;
case konstanta2:
perintah;
break;
default :
perintah;
break;

T
F
T
F
T
F

C. Struktur Perulangan (Looping Structure)

Struktur perulangan akan melakukan proses


berulang-ulang selama Kondisi bernilai True atau
selama kondisi perulangan terpenuhi.

Dan Kondisi akan berhenti jika hanya keadaan


berubah menjadi false atau kondisi perulangan tidak
terpenuhi.

Struktur Perulangan terdiri dari :


1. Statement While
2. Statement Do.....While
3. Statement FOR
a. Statement FOR Positif
b. Statement FOR Negatif
c. Statement FOR bersarang (Nested For)

1. Statement While
Perulangan akan terus dilaksanakan selama
syarat tersebut terpenuhi.
Bentuk Umum :
while (kondisi)
pernyataan;

F
T

2. Statement Do.....While
Perulangan akan dilaksanakan terlebih dahulu dan
pengujian perulangan dilakukan belakangan.
Paling tidak 1 proses sudah dilakukan.
Bentuk Umum:
do
pernyataan;
while (kondisi);

3. Statement For
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
Inisialisasi
: pemberian nilai awal
N=1
pengubah nilai : mengatur naik/turun
Jml=0
Contoh :
Untuk perulangan positif
for (a =1; a<=10; ++a)

F
N <= 50?
T
N=N+1
Jml = Jml + N

Untuk perulangan negatif


for (a=10; a>=1; --a)

Output N,
Jml

Nested For
Perulangan for di dalam perulangan for lainnya.
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
For (inisialisasi; syarat pengulangan; pengubah nilai)
{

perintah ;
}
}

II. Compiller Dan Interpreter


Source program yang telah ditulis dengan bahasa
pemrograman tingkat tinggi, tidak dimengerti oleh
komputer karena komputer hanya mengerti bahasa
mesin. Oleh sebab itu source program harus
diterjemahkan ke dalam bahasa mesin terlebih dahulu
sebelum dijalankan
Source
Program

Penterjemah

Machine

Terdapat 2 (dua) jenis penterjemah yaitu:


1. Compiller
Compiller
merupakan
penterjemah
bahasa
pemrograman yang menterjemahkan instruksi-instruksi
dalam satu kesatuan modul ke dalam bahasa mesin
sehingga dihasilkan suatu file executable.
2. Interpreter
Interpreter
merupakan
penterjemah
bahasa
pemrograman yang menterjemahkan instruksi demi
instruksi pada saat eksekusi program.
Interpreter tidak mampu mendeteksi kesalahan logika &
hanya mampu mendeteksi kesalahan sintax dan
semantik.

Perbedaan kedua penerjemah di atas adalah :


Interpreter

Compiller

1. Menterjemahkan
instruksi per instruksi

1. Menterjemahkan secara
keseluruhan sekaligus.

2. Source program tidak


harus ditulis dengan
lengkap

2. Source program harus


ditulis dengan lengkap.

3. Bila terjadi kesalahan


interpretasi, dapat
langsung dibetulkan
secara interaktif.

3. Bila terjadi kesalahan


kompilasi, source
program harus
diperbaiki dan proses
kompilasi diulang kembali.

4. Tidak menghasilkan
objek program

4. Dihasilkan objek program.

5. Tidak menghasilkan
executable program
karena langsung
dijalankan pada saat
program diinterpretasikan

5. Dihasilkan executable
program, sehingga dapat
dijalankan di keadaan
prompt sistem

6. Proses interpretasi
terasa cepat, karena
tiap-tiap instruksi
langsung dikerjakan dan
dapat dilihat hasilnya

6. Proses kompilasi terasa


lama, karena sekaligus
menterjemahkan seluruh
instruksi program.

7. Source program terus


dipergunakan karena
tidak dihasilkan
executable program.

7. Source program sudah


tidak dipergunakan lagi
untuk menjalankan
program.

8. Proses pengerjaan
program lebih lambat,
karena setiap instruksi
yang dikerjakan harus
diinterpretasikan ulang
kembali.

8. Proses pengerjaan
program lebih cepat,
karena executable
program sudah dalam
bahasa mesin

9. Keamanan dari
program kurang
terjamin, karena yang
selalu digunakan
source program.

9. Keamanan dari program


lebih terjamin, karena
yang dipergunakan
executable program.

III. Debugging Dan Bentuk Kesalahan program


Debugging adalah penghilangan semua kesalahan yang
ditemukan pada saat pengujian. Kesalahan bisa terjadi
karena kecerobohan desain logika dan pengkodean.
Adapun macam-macam bentuk kesalahan program yaitu:
a. Syntax Error
Bentuk kesalahan program yang disebabkan karena
kesalahan dalam hal penulisan instruksi program.
Contoh:
- incude (dalam bahasa C++)
- retur (dalam bahasa C++)
- dan lain-lain

b. Run Time Error


Bentuk kesalahan program yang disebabkan karena
adanya proses arithmathic yang ILLEGAL / tidak bisa
diproses.
Contoh:
- B=(3/0)
- Akar Minus
- dan lain-lain

c. Logic Error
Bentuk kesalahan program yang disebabkan karena
HUMAN-ERROR-LOGIC (kesalahan logika program
yang dibuat oleh programmer).
Contoh:
- Hasil / output program yang tidak sesuai
- Kesalahan program yang tidak dapat dideteksi
- tipe data yang tidak sesuai dengan operasi
aritmatika
- dan lain-lain

Pertemuan 10
Tipe Tabel Database

Tipe dari Tabel


Database dibentuk dari kumpulan file. File di dalam
pemrosesan aplikasi dapat dikategorikan ke dalam
beberapa tipe, sebagai berikut:
1. Tabel Master
Di dalam aplikasi, file ini merupakan file yang penting.
File ini tetap terus ada selama hidup dari sistem informasi.
A. Tabel Referensi
Data yang tetap dimana pengolahan terhadap
data tersebut memerlukan waktu yang lama.
Contoh: Tabel Mahasiswa, Tabel Karyawan

B. Tabel Dinamik
Tabel Master yang nilai dari record-recordnya sering
berubah atau sering dimutakhirkan (updated) sebagai
akibat dari suatu transaksi.
Contoh: Tabel MataKuliah. Isi dari Tabel mata kuliah
dapat diperbaiki (di-edit) jika kondisi yang ada di
masa depan meng-haruskan adanya pergantian mata
kuliah dengan nama mata kuliah yang baru dan sks
yang juga baru, maka perbaikan data untuk isi Tabel
mata kuliah mutlak dilakukan. Hal ini yang disebut
dengan penyetaraan mata kuliah.

2. Tabel Transaksi (Input Table)

Berisi data masukan yang berupa data transaksi di


mana data-data tersebut akan diolah komputer.
Digunakan untuk memperbarui/meng-update tabel
master dengan informasi yang baru
Tabel transaksi akan senantiasa mengalami perubahan
sesuai dengan periode waktu tertentu
Biasanya tabel transaksi memuat rekaman tanggal dari
transaksinya yang menunjukkan kapan transaksi
tersebut terjadi
Contoh: Tabel Ujian, Tabel Nilai

3. Tabel Laporan (Output Table)


Berisi informasi yang akan ditampilkan dalam sebuah
laporan.
Isi dari laporan yang dihasilkan biasanya berasal dari
penggabungan Tabel master dan Tabel transaksi,
tetapi tidak semua isi dari tabel-tabel tersebut
ditampilkan, melainkan hanya informasi tertentu saja
yang ditampilkan sesuai dengan laporan yang
diinginkan
Isi dari Tabel laporan ini dapat dicetak di kertas,
hanya ditampilkan saja di layar monitor, atau sesuai
kebutuhan.

4. Tabel Sejarah (History Table)


Disebut juga sebagai Tabel Arsip yaitu Tabel yang berisi
data di masa lalu yang sudah tidak aktif lagi, dan dipakai
sebagai bahan pengecekan & pencocokkan kevalidasian
data di masa mendatang.
Tabel ini biasanya digunakan untuk periode waktu
tertentu (lama), sehingga beberapa informasi harus
dikumpulkan pada tabel riwayat hidup yang akan jarang
diproses atau sebagai dokumentasi.
Contoh: info tentang mahasiswa yang telah lulus
(alumni). Record hanya dipindahkan pada tabel history
sehingga tinggal berisi tabel mahasiswa yang sedang
aktif kuliah atau mahasiswa cuti yang dijadwalkan akan
aktif kembali. Data dalam tabel history ini berguna untuk
menyusun laporan di kemudian hari atau validasi data
alumni.

5. Tabel Pelindung (Backup Table)


Berisi salinan data-data yang masih aktif di database
pada suatu waktu tertentu.
Tabel ini berisikan salinan (Copy) dari suatu tabel
dapat berupa tabel master maupun tabel transaksi.
Adapun isi (informasi) dari tabel backup ini sama
persis dengan tabel aslinya. Jika ada yang diperbaiki
maka hasil perbaikan data tersebut harus dibuatkan
kembali backup dari tabel yang diperbaiki.
Frekuensi penggunaannya tergantung pada frekuensi
perubahan isi tabel dan banyaknya rekaman transaksi
yang digunakan untuk pembaharuan tabel.
Digunakan sebagai pelindung atau cadangan apabila
tabel master mengalami kerusakan atau hilang

6. Tabel Kerja (Temporary Table/Work Table)


Tabel ini dibuat oleh suatu proses program secara
sementara karena memori komputer tidak mecukupi
atau untuk menghemat pemakaian memori selama
proses dan akan dihapus bila proses telah selesai
Berisi data-data hasil pemrosesan yang bersifat
sementara (tidak permanen) dalam arti hanya numpang
lewat saja.
Datanya berupa record yang disusun sedemikian rupa
sehingga dapat dipakai oleh program lain sebagai
input.
Biasanya file ini dibuat pada waktu proses sortir

7. Tabel Pustaka (Library Table)


Berisi program-program aplikasi, utility program, dan
program-program bantu.
Berfungsi untuk mempercepat dan optimalisasi dari
pengolahan data.
Contoh: Tabel Gaji yang mempunyai keterhubungan
dengan Tabel pendidikan pegawai (untuk mencari
jenjang pendidikan dari seorang pegawai). Tabel
Absensi (untuk megetahui data kehadiran pegawai)
dan Tabel Lembur (untuk mengetahui intensitas
kelebihan jam kerja yang dimiliki oleh seorang
pegawai).

Dosen diharapkan memberikan contoh tabel dari


tipe-tipe tabel yang sudah dijelaskan kepada
mahasiswa

Anda mungkin juga menyukai