Rabu, 20 Juli 2011

tehnik pemrograman


PERTEMUAN 1


PENGENALAN DASAR
PEMROGRAMAN
I. Pengertian
Program adalah pernyataan yang disusun menjadi satu
kesatuan prosedur yang berupa urutan langkah yang
disusun secara logis dan sistematis untuk menyelesaikan
masalah.
Pemrograman adalah proses mengimplementasikan
urutan langkah untuk menyelesaikan suatu m asalah dengan
menggunakan bahasa pemrograman.
Bahasa Pemrograman adalah prosedur penulisan
program.
Programer adalah Orang yang membuat sebuah
program

Terdapat 3 faktor penting dalam bahasa pemrograman :
1. Sintaks adalah aturan penulisan bahasa tersebut (tata
bahasanya).
2. Semantik adalah arti atau maksud yang terkandung
didalam statement tersebut.
3. Kebenaran logika adalah berhubungan dengan benar
tidaknya urutan statement.
Dalam membuat sebuah program, kita harus m emakai
teknik pemrograman, adapun teknik-teknik
pemrograman tersebut diantaranya adalah :
• Pemrograman Procedural
• Pemrograman functional
• Pemrograman Terstruktur
• Pemrograman berbasis modul
• Pemrograman Berorientasi Objek
• Pemrograman Generic
• Pemrograman Deklaratif
2
II. Kriteria Bahasa Pemrograman
Beberapa kriteria pemilihan sebuah bahasa pemrograman :
• Clarity, simplicity dan unity
Kemudahan, kesederhanaan dan kesatuan
merupakan suatu kombinasi yang membantu
programer mengembangkan suatu algoritma.
• Orthogonality
Merupakan suatu atribut yang dapat dikombinasikan
dengan beragam fitur bahasa pemrograman sehingga
setiap kombinasinya mem punyai arti dan dapat
digunakan.
• Kewajaran untuk aplikasi
Bahasa pemrograman harus mempunyai struktur data,
operasi-operasi, struktur kontrol dan syntax yang tepat
untuk memecahkan suatu masalah.
• Mendukung abstraksi
Abstraksi merupakan suatu hal yang substansial bagi
programer untuk membuat suatu solusi dari m asalah
yang dihadapi.
• Kemudahan untuk verifikasi program
Dengan verifikasi data yang mudah, maka suatu
program akan dengan mudah dibangun dan
dikembangkan
3
6. Lingkungan Pemrograman
Lingkungan pem rogram an dapat berarti editor yang
digunakan, dokumentasi yang baik, fasilitas debugging,
user interface yang baik ataupun tools lain yang dapat
digunakan untuk memudahkan pekerjaan progamer.
• Portabilitas program
Kemudahan program untuk dipakai diberbagai jenis
komputer.
• 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 didalam proses
pengolahan data untuk menghasilkan suatu informasi
yang tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, operator, Technical
Support, dll.
4
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, dll
IV. Bahasa Pemrograman Berdasarkan Perkembangan
A. Machine Language
Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin
( komputer ) yang didalamnya terdapat CPU yang hanya mengenal
2 (dua) keadaaan yang berlawanan, yaitu :
- Bila tejadi kontak (ada arus) bernilai 1
- Bila kontak terputus (tidak ada arus) bernilai 0
B. Low Level Language (Bahasa tingkat rendah)
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 disebut
Assembler.
5
C. Middle Level Language (Bahasa tingkat menengah)
Bahasa pemrograman yang menggunakan aturan-aturan
gramatikal dalam penulisan pernyataan, mudah untuk
dipahami dan memilik instruksi - instruksi tertentu
yang dapat langsung diakses oleh komputer.
Contohnya adalah bahasa C.
D. High Level Language (Bahasa t ingkat tinggi)
Bahasa Pemrogram an yang dalam penulisan pernyataannya
mudah dipahami secara langsung. Bahasa
pem rogram an ini terbagi m enjadi 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).
6
E. Object Oriented Language (Bahasa berorientasi
obyek) Bahasa pemrogram an yang berorientasi pada
obyek. Bahasa pemrograman ini mengandung fungsi-
fungsi untuk menyelesaikan suatu permasalahan
dan program tidak harus menulis secara detail semua
pernyataannya, tetapi cukup memasukkan kriteria-
kriteria yang dikehendaki saja
Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual
C , dll.
7


PERTEMUAN 2

Konsep Dasar Pemrograman
I. Algoritma Pemrograman Yang Baik
Ciri-ciri algoritma pemrograman yang baik adalah :
• Memiliki logika perhitungan/metode yang tepat dalam
memecahkan masalah
• Menghasilkan output yang tepat dan benar dalam waktu
yang singkat
• Ditulis dengan bahasa yang standar secara sistematis
dan rapi sehingga tidak menimbulkan arti ganda.
• Ditulis dengan format yang mudah dipahami dan
diimplementasikan ke dalam bahasa pemrograman.
• Semua operasi yang dibutuhkan terdefinisi dengan jelas.
• Semua proses harus berakhir setelah sejumlah langk ah
dilakukan.
1
Berikut ini contoh program yang mempunyai algortima
yang TIDAK BAIK karena mengandung kesalahan
logika.
#include
void main ()
{
int i ;
i = 0 ;
while (bil <= 5)
{
printf (“Bina Sarana Informatika”\n);
i = i + i
}
return 0;
}
Berikut ini contoh program yang mempunyai algortitma
yang BAIK karena mempunyai logika yang benar
#include
void main ()
{
int i;
i = 0;
while (i <= 5)
{
printf (“Bina Sarana Informatika”\n);
i = i + 1
}
return 0;
}
2
II. Standar Suatu Program Yang Baik
A. Standar Pemecahan masalah
teknik untuk dapat membantu memecahkan masalah
antara lain teknik Top Down dan teknik Modular.
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 (kondisi1)
{
pernyataan_2;
………….
}
3






12/23/2006
b. Logika pengujian yang baik sehingga waktu lebih efisien:
if (kondisi1)
{
pernyataan_1;
………….
else
if (kondisi2)
pernyataan_2;
………….
else
if (kondisi3)
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.
4
C. Standar Perawat an Program
1. Dokumentasi
2. Penulisan Instruksi
a. Berikan keterangan untuk awal statement
atau instruksi yang tergabung dalam sekelompok
statement.
b. Awal dan akhir statement dari sekumpulan
statement 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 disalam Loop lain) yang
berlebihan.
e. Gunakan “kurung buka dan tutup” dalam
menulis suatu ekspresi Aritmatika atau
logika.
f. Gunakan “Spasi” dalam menulis statement atau
instruksi.
5
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 (program animasi)
b. Data Oriented
Penulisan program yang struktur programnnya
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
Yaitu 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.
6


PERTEMUAN 3

Tahapan Pembuatan
Program
I. Tahapan-Tahapan Membuat Program
A. Membuat Suatu Program Yang Kompleks
Untuk m embuat program yang besar dan kompleks,
programmer membutuhkan tahapan-tahapan dibawah ini :
1. Definisi Masalah
2. Analisis Kebutuhan
3. Desain Algoritma / Membuat Rumusan Pemecahan
Masalah
1
5. Bahasa Pemrograman
6. Testing dan Debugging
7. Dokumentasi
8. Pemeliharaan
B. Membuat Suatu Program Yang Sederhana
Untuk m embuat suatu program yang sederhana,
programmer tidak perlu menggunakan tujuh tahapan diatas,
tetapi cukup beberapa tahap saja, seperti :
1. Definisi Masalah
2. Desain Algoritma
3. Bahasa Pemrograman
4. Testing and Debugging
2
II. Karakt eristik 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.
2. PProgram harus dapat mengecek setiap kemungkinan-
kemungkinan yang penting, yang akan muncul pada data
masukan.
3. Buatlah format masukan sesederhana mungkin
4. Buatlah agar program dapat mem berikan tanda bahwa
data yang dikehendaki sudah terpenuhi.
3
Soal Latihan PT
1. Mendapatkan pemahaman tentang permasalahan yang ada,
sehingga akan diperoleh asumsi yang benar sebelum membuat
suatu program disebut :
a. Definisi Masalah c. Bahasa Pemrograman
b. Desain Algoritma d. Testing and Debugging
e. Profiling
2. Menguji program serta mengoreksi error yang terdeteksi disebut :
a. Definisi Masalah c. Bahasa Pemrograman
b. Desain Algoritma d. Testing dan Debugging
e. Profiling
2. Menguji program serta mengoreksi error yang terdeteksi disebut :
a. Definisi Masalah c. Bahasa Pemrograman
b. Desain Algoritma d. Testing dan Debugging
e. Profiling
3. Dibawah ini yang bukan merupakan karakteristik seorang
programmer yang baik adalah :
a. Mampu menyusun algoritma dengan baik dan logis.
b. Memiliki ketekunan dan ketelitian yang tinggi.
c. Menguasai bahasa dan teknik penulisan program dengan baik.
d. Tidak memerlukan kerjasama Tim
e. Tahan dalam kondisi tertekan(Under Pressure)
4
3. DibawAH ini yang bukan merupakan karakteristik seorang programmer yang
baik adalah :
a. Mampu menyusun algoritma dengan baik dan logis.
b. Memiliki ketekunan dan ketelitian yang tinggi.
c. Menguasai bahasa dan teknik penulisan program dengan baik.
d. Tidak memerlukan kerjasama Tim
e. Tahan dalam kondisi tertekan(Under Pressure)
4. Dalam menulis program interakti f diperlukan dibawah ini, kecuali :
a. Program harus dapat mengecek setiap kemungkinan yang penting, yang
akan muncul pada data masukan(validasi).
b. Program tidak memerlukan validasi terhadap setiap data yang masuk
c. Buatlah format masukan sesederhana mungkin
d. Berikan pesan, apabila program memerl ukan suatu waktu tunggu
e. Berikan keterangan/pesan bila user salah dalam input data
4. Dalam menulis program interaktif diperlukan dibawah ini, kecuali :
a. Program harus dapat mengecek setiap kemungkinan
kemungkinan yang penting, yang akan muncul pada data
masuk an.
b. Program tidak memerlukan validasi terhadap setiap data yang
masuk
c. Buatlah format masukan sesederhana mungkin
d. Berikan pesan, apabila pro gram memerlukan suatu waktu tunggu.
e. Berikan keterangan/pesan bila user salah dalam input data
5. Menentukan kebutuhan spesifik asi fungsi, kemampuan dan fasilitas
program yang akan dibuat, disebut :
a. Definisi masalah c. Desain Algoritma
b. Analisis kebutuhan d. Testing dan Debugging
e. Semua benar
5

PERTEMUAN 4


ELEMEN-ELEMEN BAHASA
PEMROGRAMAN
I. Elemen-Elemen Dalam Bahasa Pemrograman
Berikut adalah element-element pada bahasa
pemrograman:
1. Aturan Leksikal
2. Type data
3. Exspression
4. Statement
5. Function dan Procesure
1
A. Aturan Leksikal
1. Token
2. Komentar
3. Identifier
4. Keywords (Reserved Words)
5. Operator
a. Arithmetic Operator
b. Assignment Operator
c. Bitwise dan Logical Operator
d. Relational Operator
e. 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 - 2147483678 ...
Signed 32 bit
2147283647
2
b. Tipe Real/float : tipe data yang nilainya merupakan
pecahan (memiliki titik desimal).
Type Batas nilai Format
float 3.4E-38 s/d 3.4E+38 unsigned 32 bit
double 1.7E-308 s/d 1.7E+308 unsigned 64 bit
Long double 3.4E-4932 s/d 1.1E+4932 unsigned 80 bit
c. BOOLEAN ATAU LOGICAL
Type data yang hanya mempunyai dua bentuk keluaran
yaitu nilai True dan False (Benar dan Salah) yang
dinyatakan dengan 1 dan 0, Sehingga satuan data yang
terpakai cukup satu bit saja. Operator yang digunakan
adalah : And, Or, Not, Xor
3
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 *
4
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] ;
C. Expression
Expression yang paling sederhana yaitu nama variable.
Expression yang lebih kompleks akan melibatkan operator-
operator, maupun pemanggilan function atau procedure.
D. Statement
1. Sim ple Statement
a. Assignment Statement
b. Statement untuk pemanggilan function atau
procedure
c. Jump Statement
5
2. Compound Statement
Compound statement (kumpulan statement) adalah
sekumpulan statement yang terdiri dari statement-statement
lain, termasuk juga iteration dan selection statement.
3. Iteration Statement
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.
6
Ketika procedure atau function dipanggil, kita dapat
melewatkan suatu nilai ke dalam function atau procedure
tersebut. Nilai yang dilewatkan disebut juga argument
atau parameter. Ada dua cara melewatkan nilai, yaitu:
1. Passing by Value (Dilewatkan secara nilai)
2. Passing by Reference
7


PERTEMUAN 5

ANALISA STRUKTUR
PROGRAM
I. Flowchart
adalah metode untuk menggambarkan tahap-tahap
pemecahan masalah dengan menggambarkan simbl-
simbol tertentu yang mudah dimengerti, mudah
digunakan dan standar.
Dalam penulisan flowchart dikenal 2 (dua)
metode yaitu :
1
Contoh System Flowchart
Contoh Pemakaian program Flowchart
2
II. Pseudocode
Pseudocode berasal dari kata pseudo yang berarti m irip
atau menyerupai dan code yang berarti program.
Pseudocode adalah teknik tulisan untuk menggambarkan
algoritma menggunakan kode yang mirip dengan kode
pemrograman yang sebenarnya.
3
Studi kasus :
Setiap dosen membuat tugas pembuatan flowchart secara
berkelompok dengan studi kasus sebagai berikut:
1. Membuat deret bilangan ganjil yang dimulai dari 1.
2. Menentukan nilai maksimum dari 3 item data, misal
Nilai_1 = 74
Nilai_2 = 80
Nilai_3 = 79
4


PERTEMUAN 6



ANALISA STRUKTUR
PROGRAM LANJUTAN
I. Struktur Program
A. Struktur Berurutan (Sequence Structure)
Struktur Berurutan adalah struktur program yang paling
sederhana. 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.
1
Contoh Struktur Berurutan
. Struktur Seleksi(Selection Structure)
Struktur seleksi untuk melakukan proses pengujian pada
suatu kondisi dalam pengambilan keputusan. Kondisi adalah
suatu syarat yang mempunyai nilai kebenaran True atau
False.
2




































































































































































































































































































































































































































































































































































































































Ada beberapa macam struktur instruksi IF atau Sruktur
Seleksi yaitu :
Struktur seleksi dengan IF
1. Statement If berguna untuk memilih satu dari dua
kemungkinan yang ada. terjadi apabila kita dihadapkan
pada suatu Kondisi dengan dua pilihan BENAR/ SALAH.
Bentuk Umum :
if (kondisi)
pernyat aan ;
2. Statement/Perintah IF .....
3. Statement/Perintah Nested IF
Pernyataan if yang berada dalam pernyataan if yang lain
Bentuk umum :
if (syarat)
if (syarat)
....perintah;
else
....perintah;
else
if (syarat)
....perintah;
else
....perintah;
Selain menggunakan instruk si 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 dari Switch Case
Bentuk Umum :
switch (ekspresi integer atau karakter)
{
case konstanta1:
...perintah;
break;
case konstanta2:
...perintah;
break;
default :
...perintah;
break;
}
4

C. Struktur Perulangan ( Looping Structure )
Struktur perulangan akan m elakukan proses berulang ulang
selama 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 :
Bentuk umum penulisan proses LOOP :
1. Statement While
2. Statement Do.....While
3. Statement FOR
a. Statement FOR Positif
b. Statement FOR Negatif
c. Statement FOR bersarang ( Nested Loop )
5
1. While
Perulangan akan terus akan dilaksanakan selama syarat
tersebut terpenuhi.
Bentuk Umum :
while (syarat)
pernyataan ;
2. Statement Do.....While
Perulangan akan dilaksanakan terlebih dahulu dan
pengujian perulangan dilakukan belakangan.
Bentuk Umum :
do
pernyataan;
while (syarat);
6
3. Statement For
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
Inisialisasi : pemberian nilai awal
pengubah nilai : mengatur naik/turun
Contoh :
Untuk perulanga n positif
for (a =1; a<=10; ++a)
Untuk perulanga n negatif
for (a=10; a>=1; --a)
Nested For
Perulangan for di dalam perulangan for lainnya.
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
perintah ;
}
}
7






12/23/2006
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 di terjemahkan ke dalam
bahasa mesin terlebih dahulu sebelum dijalankan
Source program Penterjemah Machine language
Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
Compiller merupakan penerjemah bahasa
pemrograman yang menterjemahkan instruksi-instruksi
dalam satu kesatuan modul ke dalam bahasa m esin
sehingga dihasilkan suatu file executable.
2. Interpreter
Interpreter merupakan penerjemah bahasa
pemrograman yang menterjemahkan instruksi demi
instruksi pada saat eksekusi program.
8

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
SYNTAX ERROR
Bentuk kesalahan program yang disebabkan karena
kesalahan didalam hal penulisan instruksi didalam
program.
Contoh.
- Count ( dalam bahasa C++ )
- Retur ( dalam bahasa C++ )
- dan lain-lain
9






12/23/2006
RUN TIME ERROR
Bentuk kesalahan program yang disebabkan karena
adanya proses arithmathic yang ILLEGAL / tidak bisa
diproses.
Contoh.
- B = ( 0 / 3 )
- Akar Minus
- dan lain-lain
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
- dan lain-lain
10


pertemuan 7






12/23/2006
Tipe File
I. Tipe dari file
A. File Master
a. File Referensi
Data yang tetap dimana pengolahan terhadap data
tersebut memerlukan waktu yang lama. Data yang
terdapat pada file referensi ini sebagai contoh
adalah file Mahasiswa, yang apabila akan diperbaiki
(di edit) untuk jangka waktu yang lama, misalnya jika
terjadi perbaikan pada pengisian data untuk alamat
(jika mahasiswa tersebut pindah alamat rum ah)
maka isi data pada alamat untuk mahasiswa yang
bersangkutan harus diperbaiki
1






12/23/2006
b. File Dinamik
Data yang ada dalam file berubah tergantung
transaksi. Misalkan saja file mata kuliah yang
didalamnya terdapat informasi tentang seluruh mata
kuliah yang terdapat di suatu lembaga pendidikan. Isi
dari file mata kuliah dapat di perbaiki (di edit) jika
kondisi yang ada dimasa depan mengharuskan
adanya pergantian mata kuliah dengan nama mata
kuliah yang baru dan sks yang juga baru, maka
perbaikan data untuk isi file mata kuliah mutlak
dilakukan. Hal ini yang disebut dengan penyetaraan
mata kuliah.
B. File Input (Transaksi)
Berisi data masukkan yang berupa data transaksi
dimana data-data tersebut akan diolah oleh komputer.
Macam file transaksi yang ada pada lembaga
pendidikan adalah file ujian, file nilai dan file
pembayaran kuliah. File transaksi akan senatiasa
mengalami perubahan sesuai dengan periode waktu
tertentu
2






12/23/2006
C. File Laporan
Berisi informasi yang akan ditampilkan. File ini berisi
informasi yang akan ditampilkan dalam sebuah laporan.
Isi dari Laporan yang dihasilkan biasanya berasal dari
penggabungan file master dan file transaksi, tetapi tidak
semua isi dari file-file tersebut ditampilkan, melainkan
hanya informasi tertentu saja yang ditampilkan sesuai
dengan laporan yang diinginkan.
D. File Sejarah (History)
File sejarah disebut juga sebagai file arsip yaitu file
yang berisi data-data dimasa lalu yang sudah tidak aktif
lagi, tetapi perlu disimpan untuk keperluan di masa yang
akan datang atau sebagai dokumentasi.
3






12/23/2006
E. File Backup (Pelindung)
Berisi salinan data-data yang masih aktif di database
pada suatu waktu tertentu. File ini berisikan salinan
(Copy) dari suatu file entah file master maupun file
transaksi. Adapun isi (informasi) dari file backup ini
sama persis dengan file aslinya. Jika ada yang
diperbaiki maka hasil perbaikan data tersebut harus
dibuatkan kembali backup dari file yang diperbaiki.
F. File Kerja (Temporary File)
Berisi data-data hasil pemrosesan yang bersifat
sementara. File ini berisi data yang sifatnya sem entara
(tidak permanent) dalam arti hanya num pang lewat saja,
tetapi file ini dapat berfungsi untuk mempercepat dan
optimalisasi dari pengolahan data.
4




12/23/2006
G. File Library
Berisi program-program aplikasi atau utility program. File
ini berisi program-program bantu yang dapat berfungsi
untuk mempercepat dan optimalisasi dari pengolahan
data. Misalkan dalam file gaji yang m ana mempunyai
keterhubungan dengan file pendidikan pegawai (untuk
mencari jenjang pendidikan dari seorang karyawan), file
absensi (untuk megetahui data kehadiran pegawai) dan
file lembur (untuk mengetahui intensitas kelebihan jam
kerja yang dimiliki oleh seorang pegawai).
5

PERTEMUAN 8

Organisasi dan Akses File
I. ORGANISASI & AKSES FILE
Ada beberapa tipe organisasi file data yang digunakan,
yaitu susunan berurutan (sequential), berurutan diindeks
(indexed sequential), acak (random), dan acak diindeks
( indexed random ). Tujuan organisasi data di dalam
pemrograman terstruktur adalah :
Untuk menyediakan sarana pencarian record bagi
pengolahan, seleksi, atau penyaringan.
Memudahkan penciptaan atau pemeliharaan file .
1
Organisasi file data harus mempertimbangkan beberapa hal
penting, yaitu sebagai berikut :
1. Kemudahan dalam penyimpanan dan pengambilan data.
2. Kecepatan akses data/ efisiensi akses.
3. Efisiensi penggunaan media penyimpanan (storage
device).
Menurut penggunaannya ada 2 cara :
1. Batch;
Suatu proses yang dilakukan secara group atau kelompok.
2. Interactive;
Suatu proses yang dilakukan secara satu persatu, yaitu record demi
record
Terdapat dua jenis alat penyimpanan data file yang digunakan,
yaitu
1. Piransi Akses Serial ( Squential Access Storage Device
atau SASD). Alat penyimpanan dengan penyusunan dan
pembacaan data secara berurut yaitu satu catatan m engikuti
catatan lain.
Contoh peralatan yang term asuk jenis ini adalah magnetic
tape dan pita magnetic. Ciri - ciri dari piranti ini adalah
sebagai berikut :
a. Proses pembacaan rekaman harus berurutan.
b. Tidak ada pengamatan.
c. Data disimpan dalam blok – blok.
d. Proses write hanya bisa dilakukan sekali saja.
2
e. Kecepatan akses datanya, sangat tergantung pada:
1. Kerapatan pita ( char/inci ).
2. Kecepatan pita ( inci/detik ).
3. Lebar celah / gap antar blok.
Gambar Pita Magnetic
Keuntungan dan kerugian SASD:
Keuntungan:
Merupakan organisasi file yang sederhana.
Jarak setiap aplikasi yang tersimpan sangat jelas.
Metode penyimpanan didalam memory sangat sederhana,
sehingga efisien untuk menyimpan record yang besar.
Sangat murah untuk digunakan, sebab medianya cukup
menggunakan magnetic tape.
Kerugian:
Seandainya diperlukan perubahan data, maka seluruh record
yang tersimpan didalam master file, harus semuanya diproses.
Data yang tersimpan harus sudah urut (sorted).
Posisi data yang tersimpan sangat sulit untuk up-to-date, sebab
master file hanya bisa berubah saat proses selesai dilakukan.
Tidak dapat dilakukan pembacaan secara langsung.
3
Piranti Akses Direct ( Direct Access Storage Device atau
DASD).
Alat penyimpanan dengan penyusunan dan pembacaan
datanya langsung pada posisinya.
Contoh piranti akses tipe direct adalah cakram magnetic
(magnetic disk) yang terdiri dari hard disk atau floppy disk.
Piranti ini m empunyai ciri :
a. Pembacaan rekaman tidak harus urut.
b. Mempunyai alam at.
c. Data dapat disimpan dalam karakter atau blok.
d. Proses write dapat dilakukan beberapa kali
Keuntungan DASD:
Access secara langsung dengan tanpa harus membaca
seluruh data yang dimilikinya
Gambar Disk Teknologi terbaru SSD
4
Tiga metode susunan organisasi data file dalam media
penyimpanan fisik yang lazim untuk digunakan, yaitu sebagai
berikut :
1. Sequential
Metode ini memiliki ciri-ciri sebagai berikut:
•Rekaman disimpan berurutan.
•Pencarian record tertentu dilakukan secara berurutan dari
awal
•Metode ini baik untuk digunakan sebagai penyimpanan
yang bersifat periodik dan menyeluruh( backUp).
2. Random.
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 m uncul sama sekali.
Permasalahan seperti ini diatasi dengan teknik overflow
location, yaitu dengan m enggunakan alamat yang ada
disampingnya.
5
3. Indexed Sequential.
Metode ini memilki ciri-ciri sebagai berikut:
a. Merupakan gabungan sequential dan random
b. Record disimpan secara sequential dan menggunakan
kunci.
c. Masing-masing record diberi indek
d. Pengalamatan dilakukan secara random
e. Perlu penyimpanan tambahan berupa file index
6

PERTEMUAN 9



Aplikasi Pemrograman
Bisnis
I. TEKNIK PERANCANGAN PROGRAM ORIENTASI
BUSSINES
Berikut ini akan dijelaskan beberapa teknik
perancangan program didalam sebuah pemrograman
yang terstruktur untuk mendukung proses
pembangunan / pengembangan sistem
Penggajian(Payrol).
Teknik perancangan file atau database dalam bentuk
spesifikasi file
Teknik perancangan program dalam bentuk spesifikasi
program
1
Langkah-langkah didalam merancang file
Adapun mengenai langkah-langkah didalam perancangan
file tersebut adalah sebagai berikut :
1.Menentukan banyaknya jumlah kebutuhan file yang nanti
akan digunakan didalam program .
2.Menentukan Parameter dari file yang akan dibuat.
Program payrol adalah sebuah aplikasi yang melakukan
proses perhitungan gaji pegawai, dengan dasar input absen
dan proses dilakukan secara batch atau tunda(satu kali
dalam sebulan).
Sekilas analisa program payrol
Input :
• Data absen harian
Proses
Penghitungan Gaji
Parameter perhitungan
* Tunjangan pegawai(status pegawai)
* Gaji pokok(golongan)
* Rate lembur
Output
Laporan Gaji bulanan
2
Contoh File database pegawai
No Elemen data Akronim Tipe Lenght Keterangan
1 Nomor induk
NIP Char 6 PK
pegawai
2 Nama Pegawai NaPeg Char 50
3 Alamat almPeg Char 50
4 Dst
180(misal)
Parameter File meliputi hal-hal sebagai berikut :
a.Menentukan NAMA-FILE
Contoh : File-Induk-Pegawai, Rate_lembur, Absensi dll.
b.Menentukan AKRONIM-FILE
Contoh : Pegawai.dbf, RateLembur.dbf, Absensi.dbf
c. Menentukan KODE-FILE
Contoh : Pgw01, Rlembur01, Absen01
d. Menentukan TYPE-FILE (file induk,file transaksi dll)
Contoh : File-Induk, File-kerja, File-input
3
e. Menentukan Panjang Record (RECORD-SIZE)
Contoh : 180 Character,
f. Menentukan ORGANISASI-FILE
Contoh : Index-Sequential
g. Menentukan ACCESS-FILE
Contoh : Random
h. Menentukan MEDIA-FILE
Contoh : Harddisk
i. Menentukan FIELD-KEY
Contoh : Nomor induk pegawai (NIP)
j. Menentukan SOFTWARE yang digunakan
Contoh : MySql
Langkah-langkah merancang PROGRAM
Adapun mengenai langkah-langkah didalam perancangan
program adalah sebagai berikut :
a. Menentukan Parameter dari Program yang akan dibuat.
b. Menentukan banyaknya jumlah kebutuhan program yang
nanti akan dibuat.
Parameter Program meliputi hal-hal sebagai berikut :
1. Menentukan NAMA-PROGRAM
Contoh : Program Penggajian
2. Menentukan AKRONIM-PROGRAM
Contoh : payRol.class
4
c. Menentukan KODE-PROGRAM
Contoh : pR01
d. Menentukan FUNGSI-PROGRAM
Contoh : Program running otomatis sesuai tanggal
setting yang disepakati(hari gajian) dengan
Crontap proses.
e. Menentukan PAKET-PROGRAMMING LANGUAGE
Contoh : Java
f. Menentukan bentuk SISTEM FLOWCHART /
PROGRAM FLOWCHART
g. Mentukan bentuk PROSES-PROGRAM secara rinci
dan detail
5


PERTEMUAN 10


Tipe File
I. Tipe dari file
A. File Master
a. File Referensi
Data yang tetap dimana pengolahan terhadap data
tersebut memerlukan waktu yang lama. Data yang
terdapat pada file referensi ini sebagai contoh
adalah file Mahasiswa, yang apabila akan diperbaiki
(di edit) untuk jangka waktu yang lama, misalnya jika
terjadi perbaikan pada pengisian data untuk alamat
(jika mahasiswa tersebut pindah alamat rum ah)
maka isi data pada alamat untuk mahasiswa yang
bersangkutan harus diperbaiki
1
b. File Dinamik
Data yang ada dalam file berubah tergantung
transaksi. Misalkan saja file mata kuliah yang
didalamnya terdapat informasi tentang seluruh mata
kuliah yang terdapat di suatu lembaga pendidikan. Isi
dari file mata kuliah dapat di perbaiki (di edit) jika
kondisi yang ada dimasa depan mengharuskan
adanya pergantian mata kuliah dengan nama mata
kuliah yang baru dan sks yang juga baru, maka
perbaikan data untuk isi file mata kuliah mutlak
dilakukan. Hal ini yang disebut dengan penyetaraan
mata kuliah.
B. File Input (Transaksi)
Berisi data masukkan yang berupa data transaksi
dimana data-data tersebut akan diolah oleh komputer.
Macam file transaksi yang ada pada lembaga
pendidikan adalah file ujian, file nilai dan file
pembayaran kuliah. File transaksi akan senatiasa
mengalami perubahan sesuai dengan periode waktu
tertentu
2
C. File Laporan
Berisi informasi yang akan ditampilkan. File ini berisi
informasi yang akan ditampilkan dalam sebuah laporan.
Isi dari Laporan yang dihasilkan biasanya berasal dari
penggabungan file master dan file transaksi, tetapi tidak
semua isi dari file-file tersebut ditampilkan, melainkan
hanya informasi tertentu saja yang ditampilkan sesuai
dengan laporan yang diinginkan.
D. File Sejarah (History)
File sejarah disebut juga sebagai file arsip yaitu file
yang berisi data-data dimasa lalu yang sudah tidak aktif
lagi, tetapi perlu disimpan untuk keperluan di masa yang
akan datang atau sebagai dokumentasi.
3
E. File Backup (Pelindung)
Berisi salinan data-data yang masih aktif di database
pada suatu waktu tertentu. File ini berisikan salinan
(Copy) dari suatu file entah file master maupun file
transaksi. Adapun isi (informasi) dari file backup ini
sama persis dengan file aslinya. Jika ada yang
diperbaiki maka hasil perbaikan data tersebut harus
dibuatkan kembali backup dari file yang diperbaiki.
F. File Kerja (Temporary File)
Berisi data-data hasil pemrosesan yang bersifat
sementara. File ini berisi data yang sifatnya sem entara
(tidak permanent) dalam arti hanya num pang lewat saja,
tetapi file ini dapat berfungsi untuk mempercepat dan
optimalisasi dari pengolahan data.
4
G. File Library
Berisi program-program aplikasi atau utility program. File
ini berisi program-program bantu yang dapat berfungsi
untuk mempercepat dan optimalisasi dari pengolahan
data. Misalkan dalam file gaji yang m ana mempunyai
keterhubungan dengan file pendidikan pegawai (untuk
mencari jenjang pendidikan dari seorang karyawan), file
absensi (untuk megetahui data kehadiran pegawai) dan
file lembur (untuk mengetahui intensitas kelebihan jam
kerja yang dimiliki oleh seorang pegawai).
5

PERTEMUAN 11


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 obyek :
a. C++
b. Java
c. Smalltalk
1
• 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
sensitive.
• Contoh kompiler Produk dari Borland untuk kom piler
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 Pem rograman 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 dibanyak
flatform perangkat keras(Multy Flatform).
2
• Smalltalk adalah bahasa pemrogram an 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.
Beberapa hal yang harus diperhatikan dalam menentukan
Objek dalam suatu program
1. Correctness and Sufficiency
Dalam mendesain program sebaiknya kita memperhatikan
bahwa object-object yang kita desain dapat menjamin
kebenaran informasi dan juga kecukupan informasi yang
dibutuhkan
2. Robustness
Object-object yang kita desain 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
3. Flexibility
Object-object yang didesain sebaiknya mudah untuk diexpand
atau dikembangkan (bersifat flexibel). Hal ini dibutukan
karena dalam pembuatan program sering kali kita harus
merubah desain yang telah kita buat sebelumnya karena
adanya perubahan desain yang diinginkan oleh
user/pengguna.
4. Reusability
Kode-kode program yang telah kita buat, dapat kita gunakan
kembali. Hal ini haruslah terpenuhi dalam mendesain program
yang baik. Karena ketika kita menggunakan point ini maka
kita akan lebih mudah untuk me-manage program yang kita
buat, apalagi disaat kita harus mengganti suatu informasi
dalam program yang kita buat.
5. Efficiency
Desain yang kita buat sebaiknya efisien karena akan berkaitan
dengan penggunaan resource hardware yang kita gunakan.
Baik itu dalam faktor kecepatan maupun dalam faktor
penyimpanan data/program.
Beberapa hal diatas sangat penting untuk diterapkan agar
program atau aplikasi yang kita bangun 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.
4
II. Implementasi OOP pada C++
• 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
Contoh program :
5
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
}
• Program tersebut menunjukan pola dasar
dari inherintance dimana sifat penurunya
bisa berupa protected serta public.
• Protected : hanya dikenali oleh kelas-kelas
turunan
• Public : fungsi yang dapat dibaca dan
diakses oleh siapapun.
6
# i nc lud e
Cl as s B
{
i nt a ; // p riv a te ; tid a k bi s a d iw a ris ka n
p ub l ic :
i nt b ; //p ub lic ; s ia p u ntuk d iw a ris ka n
v o id g et_ a b( ) ;
i nt g e t_a ( vo id ) ;
v o id s how _ a( v oi d) ;
};
Cl as s D : p ub lic B //ke la s turun an d ari B
{
Cl as s c;
Pub lic ;
V oid m ult ip ly (v o id );
V oid d is p la y (v o id );
};
V oid B : : g et_ a b( v oi d )
{a =5 ; b= 1 0;
Int B :: g e t_a ( )
{re turn a;
V oid B : : s how _ a( )
{c out <<“a =“ << a << “\n” ;
V oid D : : m ulti p ly ()
{c = b * g et _a () ;
V oid D : : d is p la y ()
{c out <<“a = “ <c o ut <<“ b =“ < < b <<“ \n” ;
c o ut <<“ c= “<< c <<“ \n”;
//Prog ra m Uta m a
Ma in ( )
{
D d;
d. g e t_a b () ;
7
d. M ul tip ly () ;
d. s ho w _a () ;
d. B = 2 0 ;
d. M ul tip ly () ;
d. d is p la y ;
}
Hasil dari program tersebut setelah dijalankan :
a = 5
b = 10
c = 50
a = 5
b = 20
c = 100
Keterangan dari program :
• Kelas D adalah turunan yang bersifat public dari
kelas dasar B. Lebih jauh D mewarisi seluruh
data serta fungsi yang bersifat public. Anggota
yang bersifat public dari kelas dasar B juga
adalah anggota yang bersifat public pada kelas
turunanya(kelas D)
• Data serta fungsi yang bersifat private pada B
tidak diwariskan pada kelas D. Disamping fungsi
serta data yang merupakan warisan dari B,
Kelas D juga memiliki fungsi-fungsi yang bersifat
unik pada D yaitu multiply () serta display ().
8
C. Implementasi Konsep Polimorfisme dengan C++
9


PERTEMUAN 12

Pengenalan UML
I. Pengertian UML
Jika pendekatan terstruktur memiliki DFD, ERD,
dsb yang digunakan sebagai tools-tools
perancangan sistemnya, maka UML berangsur-
angsur mulai menjadi standart tools untuk
pembuatan OOP.
UML (Unified Modeling Language ) berangsur-
angsur menjadi standar metodologi
pengembangan sistem informasi dan perangkat
lunak berorientasi objek.
1
Keunggulan UML :
1. Uniformity
2. Understandability
3. Stability
4. Reusability
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
2
Collaboration Diagram
• Collaboration diagram juga menggambarkan
interaksi antar objek seperti sequence diagram,
tetapi lebih menekankan pada peran masing-
masing objek dan bukan pada waktu
penyampaian
message.
Setiap message memiliki sequence number, di
mana message dari level tertinggi memiliki
nomor 1. Messages dari level yang sama
memiliki prefiks yang sama.
8
Component Diagram
• Component diagram menggambarkan struktur dan
hubungan antar komponen piranti lunak, termasuk
ketergantungan (dependency) di antaranya.
• Komponen piranti lunak adalah m odul berisi code, baik
berisi source code maupun binary code, baik library
maupun executable, baik yang muncul pada compile
time, link time, maupun run time. Umumnya komponen
terbentuk dari beberapa class dan/atau package, tapi
dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan
layanan yang disediakan sebuah komponen untuk
komponen lain.
9
Deployment Diagram
• Deployment/physical diagram menggambarkan detail
bagaimana komponen di-deploy dalam infrastruktur
sistem, di mana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-
hal lain yang bersifat fisikal
• Sebuah node adalah server, workstation, atau piranti
keras lain yang digunakan untuk men-deploy komponen
dalam lingkungan sebenarnya. Hubungan antar node
(misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.
10
Langkah-langkah Penggunaan UML (1)
• Buatlah daftar business process dari level tertinggi untuk
mendefinisikan aktivitas dan proses yang mungkin
muncul.
• 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.
• Buatlah deploym ent diagram secara kasar untuk
mendefinisikan arsitektur fisik sistem.
• Definisikan requirement lain (non-fungsional, security
dan sebagainya) yang juga harus disediakan oleh
sistem.
• Berdasarkan use case diagram , mulailah membuat
activity diagram.
Langkah-langkah Penggunaan UML (2)
• Definisikan objek-objek level atas (package atau domain) dan
buatlah sequence dan/atau collaboration diagram untuk tiap alir
pekerjaan. Jik a sebuah use case memiliki kemungkinan alir normal
dan error, buatlah satu diagram untuk masing-masing alir.
• Buarlah rancangan user interface model yang menyediakan
antarmuka bagi pengguna untuk menjalankan skenario use case.
• Berdasarkan model-model yang sudah ada, buatlah class diagram.
Setiap package atau domain dipecah menjadi hirarki class lengkap
dengan atribut dan metodanya. Ak an lebih baik jika untuk setiap
class dibuat unit test untuk menguji fungsionalitas class dan
interaksi dengan clas s lain.
• Setelah class diagram dibuat, kita dapat melihat kemungk inan
pengelompokan class menjadi komponen-komponen. Karena itu
buatlah c omponent diagram pada tahap ini. Juga, definisikan tes
integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan
baik.
11




12/23/2006
Langkah-langkah Penggunaan UML (3)
• Perhalus deployment diagram yang sudah dibuat.
Detilkan kemampuan dan requirement piranti lunak,
sistem operasi, jaringan, dan sebagainya. Petakan
komponen ke dalam node.
• 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.
• Lakukan uji modul dan uji integrasi serta perbaiki model
berserta codenya. Model harus selalu sesuai dengan
code yang aktual
• Piranti lunak siap dirilis.
12













































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































12/23/2006
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
Contoh Use Case(UC)
3






12/23/2006
Class Diagram
• Class adalah sebuah spesifikasi yang jika diinstansiasi
akan m enghasilkan sebuah objek dan merupakan inti
dari pengembangan dan desain berorientasi objek.
Class m enggambarkan 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 lain-
lain.
Class Diagram
Class m emiliki 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
4


















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































StateChart Diagram
Statechart diagram menggambarkan transisi
dan perubahan keadaan (dari satu state ke
state lainnya) suatu objek pada sistem
sebagai akibat dari stimuli yang diterima.
Pada umumnya statechart diagram
menggambarkan class tertentu (satu class
dapat memiliki lebih dari satu statechart
diagram)
5
Activity Diagram
• Activity diagrams 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 menggambark an proses
paralel yang mungkin terjadi pada beberapa eksekusi.
• Activity diagram merupakan state diagram khusus, di mana
sebagian bes ar state adalah action dan sebagian besar transisi di-
trigger 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 sec ara umum.
6
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 atar dimensi vertikal (waktu)
dan dimensi horizontal (objek-objek yang terkait).
• Sequence diagram biasa digunakan untuk menggambarkan
skenario atau rangkaian langkah-langkah 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
7