Minggu, 07 Februari 2016

Ga ada

Pertemuan ke- Pokok Bahasan Keterangan
1 Pengenalan Dasar Pemrograman
2 Konsep Dasar Pemrograman
3 Tahapan Pembuatan Program
4 Struktur Bahasa Pemrograman
5 Analisa Struktur Program
6 Analisa Struktur Program Lanjutan
7 Review/Quis
SILABUS
8 Ujian Tengah Semester (UTS) Matakuliah Teori
9 SDLC
10 Tipe Tabel
11 Aplikasi Pemrograman Bisnis
12 Object Oriented Program
13 Implementasi OOP Pada Perangkat Lunak Pemrograman
14 Pengenalan UML
15 Review/Quis
16 Ujian Akhir Semester (UAS) Matakuliah Teori
Sumber Referensi :
Binarto, Iwan, 2005, “Konsep Bahasa Pemrograman”,
Yogyakarta: Andi Offset
Kadir, Abdul, 2005, “Algoritma Pemrograman Menggunakan
C++”, Yogyakarta: Andi Offset
Kadir, Abdul, 2002, "Pemrograman C++", Yogyakarta: Andi
Offset
Kurniadi, Adi, 2002, "Pemrograman Microsoft Visual Basic 6",
Jakarta: Elex Media Komputindo
Nugroho, Adi, 2005, “Analisa dan Perancangan SI Dengan
Metodologi Berorientasi Objek”, Bandung: Informatika
Sutedjo, Budi, 2000, "Algoritma Dan Teknik Pemrograman",
Yogyakarta: Andi Offset
Roger S. Pressman , 2001, “Software Engineering”, New
York: McGraw-Hill.
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.
Mampu menganalisa sistem yang diaplikasikan ke dalam
bentuk program bisnis maupun science, dan membuat
Laporan dan Program dari hasil analisa tersebut secara
berkelompok (tidak diwajibkan riset)
Isi dari Laporan tersebut antara lain:
A. Program Aplikasi Bisnis (untuk Jurusan MI dan KA)
• Judul sistem harus jelas
Capaian Pembelajaran adalah :
• Normalisasi
• 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
· 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
I. Pengertian
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 (tata
bahasanya).
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
Beberapa kriteria pemilihan sebuah bahasa pemrograman:
1. Clarity, simplicity dan unity
Kemudahan, kesederhanaan dan kesatuan merupakan
suatu kombinasi yang membantu programer
mengembangkan suatu algoritma.
II. Kriteria Bahasa Pemrograman
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
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
III. Aspek Pemrograman
pengolahan data untuk menghasilkan suatu informasi
yang tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, Operator, Technical
Support, 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,
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 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.
C. 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 menerjemahkan Mnemonics
adalah Assembler.
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 menulis 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 2
Konsep Dasar Pemrograman
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
I. Algoritma Pemrograman Yang Baik
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 (bil <= 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
antara lain teknik Top Down dan teknik Modular.
Top Down : program disusun dari yang paling umum
(masalah yang komplek), kemudian dibagi
menjadi masalah yang lebih kecil.
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.
if (kondisi1)
{
pernyataan_1;
………….
}
2. Waktu penulisan dan eksekusi program.
a. Contoh Logika pengujian yang TIDAK BAIK karena
pengujian yang berulang-ulang sehingga waktu
eksekusi tidak efisien
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 statement 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 (Structure English),
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. Kekomplekkan algoritma dan perhitungan
c. Lingkungan dimana software diterapkan
d. Pengetahuan programmer/staff
e. Ketersediaan kompiler (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, 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 tujuh tahapan di
atas, tetapi cukup beberapa tahap saja, seperti :
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
Berikut adalah element-element pada bahasa
pemrograman:
A. Aturan Leksikal
1. Token
Elemen tunggal pada bahasa pemrograman,
dapat berupa keyword, operator, dan 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 dpt huruf/angka/garis bawah
– 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.
• 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
I. 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 Batas nilai Format
Float 3.4E-38 … 3.4E+38 unsigned 32 bit
Double 1.7E-308 … 1.7E+308 unsigned 64 bit
Long double 3.4E-4932 … 3.4E+4932 Unsigned 80 bit
c. Boolean/Logical
Type 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 A||B||C
0 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
0 1 0 1 0 1 0 1
0 1 1 1 0 0 0 1
1 0 0 0 1 1 0 1
1 0 1 0 1 0 0 1
1 1 0 0 0 1 0 1
1 1 1 0 0 0 1 1
d. Character
Type 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
a. 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 penulisan tipe data ini adalah:
tipe_data pengenal [panjang] ;
pengenal = nama variabel
panjang = bilangan bulat yg menunjukan jumlah
karakter
Contoh : char nama[15] ;
• Rumus yang terdiri dari operasi-operasi atau kombinasi
operasi.
• Aturan pendahulu :
– Operator pendahulu yang lebih tinggi dikerjakan lebih
dulu
C. Expression
– 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 dan di dalam deklarasi prosedur/fungsi
#include <iostream>
Using namespace std;
void Kali2 (int X) {
X = X * 2;
cout<<“Nilai di dalam fungsi : “<<X<<endl;
}
int main() {
int Bilangan;
Contoh Passing By Value
Parameter Formal
cout<<“ Masukkan bilangan bulat : “;
cin>>Bilangan;
cout<<endl;
cout<<“Nilai awal : “<<Bilangan<<endl;
Kali2(Bilangan);
cout<<“Nilai akhir : “<<Bilangan<<endl;
return 0;
}
Parameter Aktual
#include <iostream>
Using namespace std;
void Kali2 (int& X) {
X = X * 2;
cout<<“Nilai di dalam fungsi : “<<X<<endl;
}
int main() {
int Bilangan;
Contoh Passing By Reference
Parameter Formal
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 tahaptahap
pemecahan masalah dengan
menggambarkan simbol-simbol 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 dimulai dan
dimana akan berakhir
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 Drum Process Off Line Storage Proses Sortir
Proses Merge On Line Storage/
VDU
Magnetic Disk Flow
Contoh :
Keyboard
Magnetik
Process Stored
(CPU)
Data
VDU
Disk
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.
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
Start
Luas = 100
Masukan pjg
Contoh 1: Flowchart Program
Flowchart untuk
menghitung Lebar
Persegi panjang jika
diketahui adalah
luasnya.
Cetak Lebar
Lebar = Luas/pjg
End
Y
Coba lagi?
T
Start
Bayar = HrgBrg*JmlBrg
T
Masukkan KdBrg,
HrgBrg, JmlBrg
Contoh 2: Flowchart Program
Flowchart
untuk
menghitung
Total
pembayaran,
dengan
ketentuan jika
Bayar >=100000
Cetak TotalByr
Disc = 0.1*Bayar
End
Y
Disc = 0
TotalByr = Bayar - Disc
pembayaran
100000 ke atas
mendapat
diskon 10%,
selain itu tidak
mendapat
diskon
Contoh 3: Flowchart Program Login
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.
II. Pseudocode
Aturan Penulisan:
1. Satu statement 1 baris
2. Pisahkan modul dg beberapa baris utk mempermudah
pembacaan
3. Keywords/Reserved words ditulis dg huruf
kapital/bold/garis bawah dan yg lain huruf kecil
4. Berikan tabulasi yg berbeda utk penulisan dg loop/kondisi
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
Contoh beberapa penulisan pseudocode
a = 1
Cetak(a)
Dengan Garis Bawah:
while x < 10 do
begin
cetak(x)
x = x + 1
endwhile
Studi Kasus:
Setiap dosen memberikan tugas pembuatan flowchart secara
berkelompok dengan studi kasus sebagai berikut:
1. 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 dalalamnya.
• 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
• Struktur seleksi untuk melakukan proses pengujian
pada kondisi dalam mengambil suatu keputusan.
• Kondisi adalah suatu syarat yang mempunyai nilai
True dan False.
B. Struktur Seleksi (Selection Structure)
• 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.
F
T
Bentuk Umum:
if (kondisi)
pernyataan ;
T
F
2. Statement IF ...... ELSE
Bentuk umum :
if (kondisi)
perintah1; else
perintah 2;
end-if
F F F
3. Statement Nested IF
Pernyataan IF yang berada dalam pernyataan IF yang
lain.
Bentuk umum :
if (kondisi)
if (kondisi)
perintah; else
perintah;
else
if (kondisi)
perintah;
else
perintah;
T T T
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)
{
T
case konstanta1:
perintah;
break;
case konstanta2:
perintah;
break;
default :
perintah;
break;
}
T
T
F
F
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.
1. Statement While
2. Statement Do.....While
3. Statement FOR
a. Statement FOR Positif
Struktur Perulangan terdiri dari :
b. Statement FOR Negatif
c. Statement FOR bersarang (Nested Loop)
1. Statement While
Perulangan akan terus dilaksanakan selama
syarat tersebut terpenuhi.
Bentuk Umum :
while (kondisi)
F
pernyataan; 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 (syarat);
F
T
3. Statement For
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
Inisialisasi : pemberian nilai awal
pengubah nilai : mengatur naik/turun
Contoh :
N=1
Jml=0
F
Untuk perulangan positif
for (a =1; a<=10; ++a)
Untuk perulangan negatif
for (a=10; a>=1; --a)
N <= 50
N = N + 1
Jml = Jml + N
Output N,
Jml
T
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
Penterjemah
Source
Program
Machine
Terdapat 2 (dua) jenis penterjemah yaitu:
1. Compiller
Compiller merupakan penerjemah bahasa pemrograman
yang menterjemahkan instruksi-instruksi dalam satu
kesatuan modul ke dalam bahasa mesin sehingga
dihasilkan suatu file executable.
2. Interpreter
Interpreter merupakan penerjemah 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
interpretasikan, dapat
langsung dibetulkan
secara interaktif.
3. Bila terjadi kesalahan
kompilasi, source
program harus
dibenarkan dan proses
kompilasi diulang kembali.
4. Tidak menghasilkan
obyek program
4. Dihasilkan obyek
program.
5. Tidak menghasilkan
executable program
karena langsung
dijalankan pada saat
program diinterpretasi.
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 lama,
karena sekaligus
menterjemahkan seluruh
instruksi program.
7. Source program terus 7. Source program sudah
dipergunakan karena
tidak dihasilkan
executable program.
tidak dipergunakan lagi
untuk mengerjakan
program.
8. Proses pengerjaan
program lebih lambat,
karena setiap instruksi
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 terjadi
karena kecerobohan desain logika dan pengkodean.
Adapun macam-macam bentuk kesalahan program
yaitu:
a. Syntax Error
Bentuk kesalahan program yang disebabkan karena
kesalahan di dalam hal penulisan instruksi di dalam
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 9
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.
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:
II. Kelebihan dan 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 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
• 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
III.3. Model Rapid Aplication Development (RAD)
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
Pertemuan 10
Tipe Tabel Database
Tipe dari Tabel
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
Database dibentuk dari kumpulan file. File di dalam
pemrosesan aplikasi dapat dikategorikan ke dalam
beberapa tipe, sebagai berikut:
• 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.
• 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
4. Tabel Sejarah (History Table)
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 permanent) 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).
Aplikasi Pemrograman
Pertemuan 11
Bisnis
Berikut ini akan dijelaskan beberapa teknik perancangan
program di dalam sebuah pemrograman yang terstruktur
untuk mendukung proses pembangunan/pengembangan
sistem.
I. TEKNIK PERANCANGAN PROGRAM
BERORIENTASI BISNIS
• Teknik perancangan file/database dalam bentuk
spesifikasi file
• Teknik perancangan program dalam bentuk spesifikasi
program
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
1. Teknik Perancangan File atau Database
Contoh:
Program Penggajian adalah sebuah aplikasi yang
melakukan proses pengitungan 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
No Elemen Data Akronim Tipe Panjang Ket
1 No Induk Pegawai NIP Text 6 PK
2 Nama Pegawai NaPeg Text 25
Contoh Tabel Pegawai
3 Alamat Pegawai AlmPeg Text 50
4 dst……. …….. …. ……..
Jika dijumlahkan panjang record pegawai 180
misal
Parameter File meliputi hal-hal sebagai berikut:
a. Menentukan NAMA-FILE
Nama yang dibuat untuk menunjukkan nama file yang
digunakan
Contoh: File Pegawai, File Lembur, File Absensi dll.
b. Menentukan AKRONIM-FILE
Nama yang dibuat untuk menunjukkan file disimpan
dalam tabel/database
Contoh : Pegawai, Lembur, Absensi
c. Menentukan KODE-FILE
Nama yang dibuat pada saat file digambarkan dalam
bentuk diagram (Normalisasi)
Contoh : Tabel Pegawai, Tabel Lembur, Tabel Absen
d. Menentukan TYPE-FILE
Contoh : File Master, File Kerja, File Input, File Transaksi
e. Menentukan Panjang Record (RECORD-SIZE)
Jumlah karakter yang digunakan dalam satu record
Contoh : 180 Character
f. Menentukan ORGANISASI-FILE
Organisasi yang digunakan pada saat menyimpan data
ke dalam tabel.
Contoh : Index Sequential
g. Menentukan ACCESS-FILE
Cara mengakses data yang disimpan pada tabel.
Contoh : Random
h. Menentukan MEDIA-FILE
Media yang digunakan untuk menyimpan file (tabel)
Contoh : Harddisk
i. Menentukan FIELD-KEY
Kunci field yang dipakai dalam program pada saat program
mengakses database
Contoh : Nomor Induk Pegawai (NIP)
j. Menentukan SOFTWARE yang digunakan untuk membuat
source program
Contoh : Microsoft Access 2007
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.
2. Teknik Perancangan Program
Parameter Program meliputi hal-hal sebagai berikut:
a. Menentukan NAMA-PROGRAM
Nama yang dibuat untuk menunjukkan identitas program
Contoh : Program HitungGaji
b. Menentukan AKRONIM-PROGRAM
Nama yang dibuat untuk menyimpan source program
Contoh : HitGaji.frm
c. Menentukan KODE-PROGRAM
Nama yang dibuat pada saat file digambarkan dalam bentuk
diagram (HIPO)
Contoh : Gj01
d. Menentukan FUNGSI-PROGRAM
Untuk menampilkan pilihan dari menu utama di dalam
proses Program
Contoh : Program running otomatis sesuai tanggal setting
yang disepakati (hari gajian) dengan Crontap proses.
e. Menentukan PAKET PROGRAMMING LANGUAGE
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. Menentukan bentuk SISTEM FLOWCHART /
PROGRAM FLOWCHART
Menggambarkan proses program dalam bentuk flowchart.
g. Menentukan bentuk PROSES-PROGRAM secara rinci dan
detail
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
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
No Elemen Data Akronim Tipe Panjang Ket
1 Nomor Anggota noang Text 9 PK
2 Nama Anggota nama Text 20
3 Jenis Kelamin jk Text 1
4 Alamat alamat Text 50
Tabel II.1
Tabel Anggota
5 Pekerjaan pekerjaan Text 15
6 Telepon telp Text 15
7 Alamat Email email Text 25
8 Tanggal Daftar tgldaftar Date 8
9 Tanggal Berlaku tglberlaku Date 8
10 Status status Text 9
2. Spesifikasi Tabel Buku
Nama File : Tabel Buku
Akronim File : tbl_buku
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
No Elemen Data Akronim Tipe Panjang Ket
1 Kode Buku kdbuku Text 7 PK
2 Judul Buku judul Text 80
3 Pengarang pengarang Text 20
4 Penerbit penerbit Text 25
Tabel II.2
Tabel Buku
5 Tahun Terbit thnterbit Date 4
6 Kota Terbit kota Text 15
7 Stok stok Num 2
8 Tanggal Entri tgl_entri Date 8
b. Pengkodean
X 9 9 9 9 9 9 9 9 9
Kode yang dibuat dalam pengkodean adalah field-field
yang dijadikan sebagai kunci primer (Primary Key/PK):
1. Nomor Anggota
Kode
Status
Tanggal daftar (YYMMDD) Nomor Urut
Anggota
X X X X 9 9 9
Nomor Urut Buku
2. Kode Buku
Kode
Pengarang
Jenis buku
Huruf awal Judul
0.0
1.0
Master File
0.0
1.1
File Anggota
5.0
Utility
0.0
4.0
Pencetakan
0.0
3.0
Laporan
0.0
2.0
Transaksi
0.0
4.1
Cetak Kartu Angt.
c. Spesifikasi Program (Diagram HIPO)
2.1
Peminjaman
3.1
Data Anggota
5.1
Ganti Password
Menu Utama
1.2
File Buku
1.0
1.0
1.3
File User
1.0
4.2
Cetak Laporan
4.0
2.0 4.0
2.2
Pengembalian
2.0
3.0
3.2
Data Buku
3.0
3.3
Lap. Peminjaman
3.0
3.4
Lap. Pengembalian
3.0
5.0
5.2
Keluar
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 pertemua ini
5. Spesifikasi Program Transaksi Peminjaman
Nama program : Peminjaman
Akronim : Peminjaman.pjx
Fungsi : Untuk melakukan peminjaman buku
Bahasa program : Visual Foxpro 7.0
Bentuk tampilan : Lihat Lampiran C.6
Proses :
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
start
Pilih Menu Utama:
1. Data File
2. Transaksi

5 Utility
Data File ?
Y
Data Anggota
Data Anggota
Y
2. Flowchart Menu Utama
Utility ?
end
Cetak Data
…dst…
T
Y
T
Ganti Password
Y
T
T
…dst…
…dst…
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
Pemrograman Terstruktur PBO
a. Penekanan pada uruta yang
harus dikerjakan (algoritma
pemecahan masalah)
a. Pendekatan lebih pada data
bukanya pada
fungsi/prosedur
b. Program berukuran besar
b. Program besar dibagi ke
Perbandingan antara Pemrograman Berorientasi
Objek dengan Pemrograman Terstruktur
dipecah-pecah menjadi
program-program yang lebih
kecil (Modular)
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 PBO
d. Data bergerak secara bebas
dalam sistem, dari satu fungsi
ke fungsi yang lain saling
terkait
d. Data tersembunyi dan
terlindung dari
fungsi/prosedur yang ada di
luar
e. Fungsi-fungsi
mentransformasi data dari satu
e. Objek-objek dapat saling
berkomunikasi dengan saling
bentuk ke bentuk yang lain
mengirim message satu sama
lain
f. Pendekatan adalah pendekatan
top down (dari atas ke bawah)
f. Pendekatanya adalah bottom
up (dari bawah ke atas)
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
II. Istilah-Istilah dalam OOP
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 kelas
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
Sutopo 3-27
III. Metode dan 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.
Raharjo 217-218
fungsi • 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
• 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.
c. Polimorphism (keanekaragaman)
• 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
Belok kiri
Maju
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
Smalltalk adalah bahasa pemrograman
berorientasi objek yang pertama kali populer.
Smalltalk dikembangkan di Xerox PARCAmerika
serikat.
Ide dasar Smalltalk meliputi :
a. Smalltalk
1. Semua adalah objek Objek bisa saling
2. Berkomunikasi melalui messages atau berita
3. Semua tersedia untuk dimodifikasi
C++ adalah salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1980an oleh Bell Labs sebagai
pengembangan dari Bahasa Pemrograman C. Salah
satu perbedaan yang paling mendasar dengan bahasa
C adalah C++ medukung konsep pemrograman
berorientasi objek (Object Oriented Language).
C++ merupakan bahasa pemrograman yang case
b. C++
sensitive.
Contoh kompiler Produk dari Borland untuk kompiler
C++ adalah Turbo C++, Borland C++, Borland C++
Builder. Sedangkan dari Microsoft adalah Ms. Visual
C++.
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
c. Java
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
flatform perangkat keras (Multy Flatform).
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
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
Sifat class:
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++
class nama_kelas_turunan : sifat_penurunan
C++ memungkinkan untuk implementasi inheritance
Contoh program :
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;
}
};
Pengenalan UML
I. Pengertian UML
Jika pendekatan terstruktur memiliki DFD, ERD, dsb yang
digunakan sebagai tools perancangan sistemnya, maka
UML berangsur-angsur mulai menjadi standard tools untuk
pembuatan OOP.
UML (Unified Modelling Language) berangsur-angsur
menjadi standar metodologi pengembangan sistem
informasi dan perangkat lunak berorientasi objek.
Keunggulan UML
1. Uniformity
Cukup menggunakan 1 metodologi dari tahap analisis
hingga perancangan. Memungkinkan merancang
komponen antarmuka secara terintegrasi bersama
perancangan perangkat lunak dan struktur data
2. Understandability
Kode yang dihasilkan dapat diorganisasi ke dalam
kelas-kelas yang berhubungan dengan masalah
sesungguhnya sehingga lebih mudah untuk dipahami.
3. Stability
Kode program yang dihasilkan relatif stabil, karena
mendekati permasalahan yang sesungguhnya.
4. Reusability
Dimungkinkan penggunaan ulang kode, sehingga pada
akhirnya akan sangat mempercepat waktu
pengembangan perangkat lunak.
II. Pengenalan diagram dalam UML
UML Menggunakan 9 macam diagram untuk
mendeskripsikan sistem/perangkat lunak yang akan
dikembangkan, yaitu:
1. Digram kelas
2. Digram Objek
3. Diagram use-case
4. Sequence diagram
5. Collaboration diagram
6. Statechart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram
Use case diagram
Use case diagram menggambarkan fungsionalitas yang
diharapkan dari sebuah sistem. Yang ditekankan adalah
“apa” yang diperbuat sistem, dan bukan “bagaimana”.
Sebuah use case merepresentasikan sebuah interaksi
antara aktor dengan sistem.
Karakteristik Use Case:
• Actor menggambarkan orang, system atau external
entitas/stakeholder yang menyediakan atau menerima
informasi dari sistem.
• <<include>> termasuk di dalam use case lain (required) /
(diharuskan).
• <<extend>> perluasan dari use case lain jika kondisi atau
syarat terpenuhi
Use Case(UC) Pendaftaran Siswa Baru secara Online
Class Diagram
• Class adalah sebuah spesifikasi yang jika diinstansiasi
akan menghasilkan sebuah objek dan merupakan inti
dari pengembangan dan desain berorientasi objek.
Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi
class, package dan objek beserta hubungan satu sama
lain seperti containment, pewarisan, asosiasi, dan lainlain.
Class Diagram
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
• Private, tidak dapat dipanggil dari luar class yang
bersangkutan
• Protected, hanya dapat dipanggil oleh class yang
bersangkutan dan anak-anak yang mewarisinya
• Public, dapat dipanggil oleh siapa saja

Sequence Diagram
• Sequence diagram menggambarkan interaksi antar
objek di dalam dan di sekitar sistem (termasuk
pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram
terdiri atas dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait).
• Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkahlangkah
yang dilakukan sebagai respons dari sebuah
event untuk menghasilkan output tertentu. Diawali dari
apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan
output apa yang dihasilkan

Activity Diagram
• Activity diagram menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang, bagaimana
masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity diagram
juga dapat menggambarkan proses paralel yang
mungkin terjadi pada beberapa eksekusi.
• Activity diagram merupakan state diagram khusus, di
mana sebagian besar state adalah action dan sebagian
besar transisi di-picu oleh selesainya state sebelumnya
(internal processing). Oleh karena itu activity diagram
tidak menggambarkan behaviour internal sebuah sistem
(dan interaksi antar subsistem) secara eksak, tetapi lebih
menggambarkan proses-proses dan jalur-jalur
aktivitas dari level atas secara umum.

Langkah-langkah Penggunaan UML (1)
1. Buatlah daftar business process dari level tertinggi
untuk mendefinisikan aktivitas dan proses yang
mungkin muncul.
2. Petakan use case untuk tiap business process untuk
mendefinisikan dengan tepat fungsionalitas yang harus
disediakan oleh sistem. Kemudian perhalus use case
diagram dan lengkapi dengan requirement, constraints
dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk
mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain (non-fungsional, security
dan sebagainya) yang juga harus disediakan oleh
sistem.
5. Berdasarkan use case diagram, mulailah membuat
activity diagram.
Langkah-langkah Penggunaan UML (2)
6. Definisikan objek-objek level atas (package atau domain)
dan buatlah sequence dan/atau collaboration diagram untuk
tiap alir pekerjaan. Jika sebuah use case memiliki
kemungkinan alir normal dan error, buatlah satu diagram
untuk masing-masing alir.
7. Buatlah rancangan user interface model yang menyediakan
antarmuka bagi pengguna untuk menjalankan skenario use
case.
8. Berdasarkan model-model yang sudah ada, buatlah class
diagram. Setiap package atau domain dipecah menjadi
hirarki class lengkap dengan atribut dan metodanya. Akan
lebih baik jika untuk setiap class dibuat unit test untuk
menguji fungsionalitas class dan interaksi dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat
kemungkinan pengelompokan class menjadi komponenkomponen.
Karena itu buatlah component diagram pada
tahap ini. Juga, definisikan tes integrasi untuk setiap
komponen meyakinkan ia berinteraksi dengan baik.
Langkah-langkah Penggunaan UML (3)
10.Perhalus deployment diagram yang sudah dibuat.
Detilkan kemampuan dan requirement piranti lunak,
sistem operasi, jaringan, dan sebagainya. Petakan
komponen ke dalam node.
11.Mulailah membangun sistem. Ada dua pendekatan
yang dapat digunakan
- Pendekatan use case, dengan meng-assign setiap
use case kepada tim pengembang tertentu untuk
mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap
komponen kepada tim pengembang tertentu.
12.Lakukan uji modul dan uji integrasi serta perbaiki model
berserta codenya. Model harus selalu sesuai dengan
code yang aktual
13.Piranti lunak siap dirilis.
Latihan
1. Dosen memberikan latihan kasus pengambilan uang
melalui ATM, kemudian mahasiswa diharapkan untuk
mendesign dengan :
a. Use Case Diagram
b. Class Diagram
c. Activity Diagram

Tidak ada komentar:

Posting Komentar