Senin, 10 Januari 2011

ANALISA STRUKTUR PROGRAM



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.

Contoh Program Struktur berurutan menghitung luas empat persegi panjang
Program persegi panjang;
Uses crt;
Var
luas,panjang,lebar:integer;
Begin
clrscr;
write(‘Masukan Panjang:’);
Readln(panjang);
write(‘Masukan Lebar:’);
Readln(Lebar);
Luas:=Panjang * Lebar;
writeln(‘luas Persegi Panjang: ‘, Luas);
Readln;
Start
Baris Program
Baris Program
Baris Program
Selesai
End.
B. Struktur Seleksi(Selection Structure)
Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam mengambil
suatu keputusan. Kondisi adalah suatu syarat yang mempunyai nilai True dan False.
Contoh bentuknya adalah sebagai berikut :
................
................
Begin
Perintah 1;
If Kondisi Then
Perintah 2;
Else
Perintah 3;
...................
...................
End.
Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu :
1. Statement/perintah IF ... THEN ( Seleksi Tunggal )
Bentuk umumnya
IF THEN
Begin
............
............
End.
Contoh Program Seleksi if then menentukan bilangan positif)
Program Bilpositif;
Uses crt;
Var
bil:integer;
Begin
write(‘Masukan sebuah bilangan:’);
Readln(bil);
if bil>0 then
writeln(‘Bilangan Positif’’);
Readln;
End.
2. Statement/Perintah IF ... THEN ... ELSE
Bentuk Umumnya
IF THEN
Begin
............
............
End;
Start
Perintah 1
Selesai
Kondi
si
Else
Begin
............
............
End.
Contoh Program Seleksi if-then-else menentukan bilangan positif atau negatif
Program Bilpositif;
Uses crt;
Var
bil:integer;
Begin
write(‘Masukan sebuah bilangan:’);
Readln(bil);
if bil>0 then
writeln(‘Bilangan Positif’’);
else
wiriteln(‘Bilangan Negatif’);
Readln;
End.
Start
Perintah 1
Selesai
Kondi
si
Perintah 2
True
False
3. Statement/Perintah IF ... THEN ... ELSE IF
Bentuk umumnya :
IF Then
Begin
..........
..........
End
Else If Then
Begin
..............
..............
End;
True
False
Start
Selesai
Kondis
i1
Perintah 1
Kondis
i2
Kondis
i3
Perintah 4
Perintah 2
Perintah 3
False
False
True
True
Contoh Program Seleksi if-then-else if menentukan nilai mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
write(‘Masukan Nilai Akhir:’);
Readln(NA);
if NA<=45 then
Grade :=‘E’
else if NA<=55 then
Grade :=‘D’
else if NA<=70 then
Grade :=‘C’
else if NA<=84 then
Grade :=‘B’
else Grade := ‘A’;
wiriteln(‘Nilai grade anda =‘, Grade);
End.
Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan instruksi CASE ... OF
(Seleksi Ganda).
Untuk masalah tertentu instruksi Case...Of lebih memberi kejelasan dibandingkan dengan
instruksi IF.
Bentuk umum dari CASE ..OF
Case ungkapan Of
Daftar label 1 : perintah 1;
Daftar label 2 : perintah 2;
Daftar label 3 : perintah 3;
..........................
End;
End;
Contoh Program Seleksi Case .. of menentukan Grade mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
write(‘Masukan Nilai Akhir:’);
True
Start
Nilai pemilih
pada daftar
konst 1
Perintah 1
Pernyataan yang
mengikuti else
Perintah 3
True
False
True
End
False
Perintah 2
Nilai pemilih
pada daftar
konst 2
False
Nilai pemilih
pada daftar
konst 3
Readln(NA);
0..45 :Grade :=‘E’
46..55 : Grade :=‘D’
56..70 : Grade :=‘C’
71..84 : Grade :=‘B’
85.100 : Grade :=‘A’
end;
writeln(‘Nilai grade anda =‘, Grade);
End.
C. Struktur Perulangan ( Looping Structure )
Struktur perulangan akan melakukan 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 :
1. FOR .. DO
Bentuk umumnya perulangan yang menaik:
For {Batas Awal} To {Batas Akhir} DO
Begin
{Statement 1};
{Statement 2};
------------------
------------------
{Statement N};
End;
contoh:
For I;=1 to 5 do
Begin
writeln(‘BINA SARANA INFORMATIKA’);
End.
Bentuk umumnya perulangan yang menurun:
For {Batas Awal} DownTo {Batas Akhir} DO
Begin
{Statement 1};
{Statement 2};
------------------
------------------
{Statement N};
End;
Start
Tentukan Nilai awal
dan nilai akhir
Selesai
Benar Nilai
Pencacah> Nilai
Akhir
Pencacah diberi nilai
sebesar nilai awal
pernyataan
Nilai pencacah
dinaikkan sebesar 1
contoh:
For I;=5 downto 1 do
Begin
writeln(‘BINA SARANA INFORMATIKA’);
End.
2. While .. Do
Perulangan digunakan unutk melaksanakan blok statement selama kondisinya benar. Dalam
perulangan ini kondisi diuji terlebih dahulu.
Bentuk umum :
WHILE Do
Begin
…………
…………
End;
Selesai
Salah
Ungkapan
Nalar
pernyataan
True
contoh:
I:=1
While N<=5 do
Begin
Writelb(‘Bina Sarana Informatika’);
I ; I+ 1;
End;
3. REPEAT .. UNTIL
Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop)
dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu
kondisi yang diberikan bernilai benar.
Bentuk umum:
REPEAT
……………
……………
UNTIL;
Ungkapan
Nalar
pernyataan
Salah
Benar
contoh:
I:=1
Repeat
Writeln(‘Bina Sarana Informatika’);
I ; I+ 1;
Until I>5;
Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja. Bahkan
didalam sebuah perulangan terdapat perulangan yang lain. Perulangan yang terdapat dalam
perulangan yang lain disebut perulangan tersarang atau Nested Loop.
Contoh nested loop dengan For .. Do
Var I,J : integer;
Begin
For I:= 1 to 5 do
Begin
For J:=1 to 5 Do
Write(I:10, J:5);
Writeln;
end;
end.
II. Konsep Pemrograman Terstruktur
Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger Djikstra
dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu pernyataan
GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur .
Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak
hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program.
Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman terstruktur
merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program
supaya mudah untuk dimengerti, mudah ditest dan mudah dimodifikasi”.
A. Ciri-ciri pemrograman terstruktur.
1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur
seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak
terstruktur dengan baik.
6. Biaya pengujian yang dibutuhkan rendah.
7. Memliki dokumentasi yang baik
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
B. Tujuan Pemrograman Terstruktur
1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Lebih mudah dalam pemeliharaan program
5. Meningkatkan produktivitas pemrograman
C. 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
Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
Compiller merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksiinstruksi
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.
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.
- Writ ( dalam bahasa PASCAL )
- Use ( dalam bahasa PASCAL )
- dan lain-lain
· 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















ORGANISASI dan AKSES FILE



I.                   ORGANISASI & AKSES FILE

Salah satu hal penting yang tidak dapat ditinggalkan di dalam perencanan suatu program computer adalah data-data yang diperoleh dari berbagai sumber. Mereka dapat diperoleh dari hasil pengukuran di laboratorium, hasil survey, angket dan sebagainya.

Data sederhana dapat kita himpun kedalam suatu struktur organisasi data file yang memuat informasi tentang hubungan antara item yang terdapat didalamnya, dan dikenal sebagai suatu organisasi file. Tipe organisasi data file diantaranya adalah: organisasi file sequential, organisasi file relative(random) serta organisasi file index sequential.

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 :

1. Untuk menyediakan sarana pencarian record bagi pengolahan, seleksi, atau penyaringan.

2. Memudahkan penciptaan atau pemeliharaan file .

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).

Terdapat dua jenis alat penyimpanan data file yang digunakan, yaitu

1. Piransi Akses Serial ( Squential Access Storage Device atau SASD). Contoh peralatan yang termasuk 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.

e. Kecepatan akses datanya, sangat tergantung pada:

1. Kerapatan pita ( char/inci ).

2. Kecepatan pita ( inci/detik ).

3. Lebar celah / gap antar blok.

2. Piranti Akses Direct ( Direct Access Storage Device atau DASD). Contoh piranti akses tipe direct adalah cakram magnetic (magnetic disk) yang terdiri dari hard disk atau floppy disk. Piranti ini mempunyai ciri :

a. Pembacaan rekaman tidak harus urut.

b. Mempunyai alamat.

c. Data dapat disimpan dalam karakter atau blok.

d. Proses write dapat dilakukan beberapa kali

Tiga metode susunan organisasi data file dalam media penyimpanan fisik yang lazim untuk digunakan, yaitu sebagai berikut :

1. Sequential.

Metode ini mempunyai ciri – ciri sebagai berikut :

a. Rekaman disimpan berdasarkan suatu kunci.

b. Pencarian rekaman tertentu dilakukan record demi record sesuai kuncinya.

Metode ini baik untuk digunakan apabila pengolahan terhadap basis data bersifat periodik dan menyeluruh.

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 muncul sama sekali. Permasalahan seperti ini diatasi dengan teknik overflow location, yaitu dengan menggunakan alamat yang ada disampingnya.

3. Indexed Sequential.

Metode ini mempunyai ciri – ciri sebagai berikut :

a. Merupakan gabungan antara metode sequential dan random.

b. Record disimpan secara berurutan dengan menggunakan kunci.

c. Masing – masing record diberi indeks.

d. Pengalamatan dilakukan secara acak.

e. Perlu penyimpanan tambahan, yaitu untuk file indeks.










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 rumah) maka isi data pada alamat untuk mahasiswa yang bersangkutan harus diperbaiki

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

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.

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 sementara (tidak permanent) dalam arti hanya numpang lewat saja, tetapi file ini dapat berfungsi untuk mempercepat dan optimalisasi dari pengolahan data.

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 mana 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).



















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.

Contoh Program Struktur berurutan menghitung luas empat persegi panjang
Program persegi panjang;
Uses crt;
Var
luas,panjang,lebar:integer;
Begin
clrscr;
write(‘Masukan Panjang:’);
Readln(panjang);
write(‘Masukan Lebar:’);
Readln(Lebar);
Luas:=Panjang * Lebar;
writeln(‘luas Persegi Panjang: ‘, Luas);
Readln;
Start
Baris Program
Baris Program
Baris Program
Selesai
End.
B. Struktur Seleksi(Selection Structure)
Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam mengambil
suatu keputusan. Kondisi adalah suatu syarat yang mempunyai nilai True dan False.
Contoh bentuknya adalah sebagai berikut :
................
................
Begin
Perintah 1;
If Kondisi Then
Perintah 2;
Else
Perintah 3;
...................
...................
End.
Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu :
1. Statement/perintah IF ... THEN ( Seleksi Tunggal )
Bentuk umumnya
IF THEN
Begin
............
............
End.
Contoh Program Seleksi if then menentukan bilangan positif)
Program Bilpositif;
Uses crt;
Var
bil:integer;
Begin
write(‘Masukan sebuah bilangan:’);
Readln(bil);
if bil>0 then
writeln(‘Bilangan Positif’’);
Readln;
End.
2. Statement/Perintah IF ... THEN ... ELSE
Bentuk Umumnya
IF THEN
Begin
............
............
End;
Start
Perintah 1
Selesai
Kondi
si
Else
Begin
............
............
End.
Contoh Program Seleksi if-then-else menentukan bilangan positif atau negatif
Program Bilpositif;
Uses crt;
Var
bil:integer;
Begin
write(‘Masukan sebuah bilangan:’);
Readln(bil);
if bil>0 then
writeln(‘Bilangan Positif’’);
else
wiriteln(‘Bilangan Negatif’);
Readln;
End.
Start
Perintah 1
Selesai
Kondi
si
Perintah 2
True
False
3. Statement/Perintah IF ... THEN ... ELSE IF
Bentuk umumnya :
IF Then
Begin
..........
..........
End
Else If Then
Begin
..............
..............
End;
True
False
Start
Selesai
Kondis
i1
Perintah 1
Kondis
i2
Kondis
i3
Perintah 4
Perintah 2
Perintah 3
False
False
True
True
Contoh Program Seleksi if-then-else if menentukan nilai mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
write(‘Masukan Nilai Akhir:’);
Readln(NA);
if NA<=45 then
Grade :=‘E’
else if NA<=55 then
Grade :=‘D’
else if NA<=70 then
Grade :=‘C’
else if NA<=84 then
Grade :=‘B’
else Grade := ‘A’;
wiriteln(‘Nilai grade anda =‘, Grade);
End.
Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan instruksi CASE ... OF
(Seleksi Ganda).
Untuk masalah tertentu instruksi Case...Of lebih memberi kejelasan dibandingkan dengan
instruksi IF.
Bentuk umum dari CASE ..OF
Case ungkapan Of
Daftar label 1 : perintah 1;
Daftar label 2 : perintah 2;
Daftar label 3 : perintah 3;
..........................
End;
End;
Contoh Program Seleksi Case .. of menentukan Grade mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
write(‘Masukan Nilai Akhir:’);
True
Start
Nilai pemilih
pada daftar
konst 1
Perintah 1
Pernyataan yang
mengikuti else
Perintah 3
True
False
True
End
False
Perintah 2
Nilai pemilih
pada daftar
konst 2
False
Nilai pemilih
pada daftar
konst 3
Readln(NA);
0..45 :Grade :=‘E’
46..55 : Grade :=‘D’
56..70 : Grade :=‘C’
71..84 : Grade :=‘B’
85.100 : Grade :=‘A’
end;
writeln(‘Nilai grade anda =‘, Grade);
End.
C. Struktur Perulangan ( Looping Structure )
Struktur perulangan akan melakukan 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 :
1. FOR .. DO
Bentuk umumnya perulangan yang menaik:
For {Batas Awal} To {Batas Akhir} DO
Begin
{Statement 1};
{Statement 2};
------------------
------------------
{Statement N};
End;
contoh:
For I;=1 to 5 do
Begin
writeln(‘BINA SARANA INFORMATIKA’);
End.
Bentuk umumnya perulangan yang menurun:
For {Batas Awal} DownTo {Batas Akhir} DO
Begin
{Statement 1};
{Statement 2};
------------------
------------------
{Statement N};
End;
Start
Tentukan Nilai awal
dan nilai akhir
Selesai
Benar Nilai
Pencacah> Nilai
Akhir
Pencacah diberi nilai
sebesar nilai awal
pernyataan
Nilai pencacah
dinaikkan sebesar 1
contoh:
For I;=5 downto 1 do
Begin
writeln(‘BINA SARANA INFORMATIKA’);
End.
2. While .. Do
Perulangan digunakan unutk melaksanakan blok statement selama kondisinya benar. Dalam
perulangan ini kondisi diuji terlebih dahulu.
Bentuk umum :
WHILE Do
Begin
…………
…………
End;
Selesai
Salah
Ungkapan
Nalar
pernyataan
True
contoh:
I:=1
While N<=5 do
Begin
Writelb(‘Bina Sarana Informatika’);
I ; I+ 1;
End;
3. REPEAT .. UNTIL
Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop)
dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu
kondisi yang diberikan bernilai benar.
Bentuk umum:
REPEAT
……………
……………
UNTIL;
Ungkapan
Nalar
pernyataan
Salah
Benar
contoh:
I:=1
Repeat
Writeln(‘Bina Sarana Informatika’);
I ; I+ 1;
Until I>5;
Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja. Bahkan
didalam sebuah perulangan terdapat perulangan yang lain. Perulangan yang terdapat dalam
perulangan yang lain disebut perulangan tersarang atau Nested Loop.
Contoh nested loop dengan For .. Do
Var I,J : integer;
Begin
For I:= 1 to 5 do
Begin
For J:=1 to 5 Do
Write(I:10, J:5);
Writeln;
end;
end.
II. Konsep Pemrograman Terstruktur
Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger Djikstra
dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu pernyataan
GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur .
Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak
hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program.
Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman terstruktur
merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program
supaya mudah untuk dimengerti, mudah ditest dan mudah dimodifikasi”.
A. Ciri-ciri pemrograman terstruktur.
1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur
seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak
terstruktur dengan baik.
6. Biaya pengujian yang dibutuhkan rendah.
7. Memliki dokumentasi yang baik
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
B. Tujuan Pemrograman Terstruktur
1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Lebih mudah dalam pemeliharaan program
5. Meningkatkan produktivitas pemrograman
C. 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
Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
Compiller merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksiinstruksi
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.
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.
- Writ ( dalam bahasa PASCAL )
- Use ( dalam bahasa PASCAL )
- dan lain-lain
· 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








Elemen-elemen Bahasa Pemrograman


A.    Aturan Leksikal
1. Token
Unit terkecil dari teks dalam program Pascal yang mempunyai arti khusus dan dikelompokan menjadi simbol-simbol / sejumlah karakter.
Menggunakan = simbol alphabet, angka dan karakter khusus.
2. Komentar
Adalah kalimat yang digunakan untuk menjelaskan antara lain kegunaan dari program, dokumentasi program (agar program mudah dipahami).


Komentar tidak mempengaruhi proses program (bersifat unexecutable statement)
Contoh penulisan :
{* isi komentar *}
3. Identifier (Pengenal)
Digunakan untuk menjelaskan Tipe Data, Fungsi dan Prosedur Program.
Ketentuan identifier :
- Gabungan Huruf dan angka dengan karakter pertama Huruf.
- Tidak boleh ada spasi
- Tidak boleh ada simbol khusus kecuali garis bawah (under line)
- Penggunaan panjang karakter maksimal 63 karakter.
Contoh :
Program_Penjualan  penggunaan underline untuk memisahkan kataß
DataMahasiswa
 gabungan huruf dan angkaßProgramP3K

4. Keyword/Reserved word (Kata Tercadang)
Bentuk kata-kata yang sudah di definisikan oleh Bahasa Program yang mempunyai maksud tertentu.
Contoh :
AND BEGIN DO DOWNTO ELSE END FOR
IF GOTO TO OPEN SET THEN WHILE

5. Operator
Bentuk Operasi perhitungan dalam instruksi program.
a. Arithmatik Operator
Operator Operasi level
Sqrt Pangkat I
* Perkalian II
/ Pembagian II
Mod Sisa pembagian II
Div Pembagian II
+ Penjumlahan III
- pengurangan III

b. Assigment Operator
Operator pemberi nilai , dalam pascal “ :=”

c. Bit wise / Logika Operator
Operator yang digunakan untuk operasi bit per bit pada nilai integer;
Contoh : and, or, shl, shr
1010 and 1100 = 1000
1010 or 1100 = 1110
1010 shl 1 = 10100
1010 shr 1 = 101

d. Boolean Operator
Operator yang menggunakan nilai true (1) dan false (0).
A B Not A A and B A or B A xor B
1 1 0 1 1 0
1 0 0 0 1 1
0 1 1 0 1 1
0 0 1 0 0 0

e. Relation Operator
Operator yang digunakan untuk membandingkan hubungan antara 2 operand yang menghasilkan nilai true atau false

Operator Operasi
= Sama dengan
<> Tidak sama dengan
< Lebih kecil
> Lebih besar
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan

Contoh : 15 >  TRUEà9

B. TIPE DATA
Dalam pemrograman variabel yang digunakan harus ditentukan tipe datanya sehingga bisa menentukan batasan nilai variabel dan jenis operasi yang dilaksanakan.

Tipe Data Sederhana
Tipe data sederhana tunggal : real, integer, boolean,char
Tipe data sederhana majemuk : string

Tipe Data Terstruktur
Struktur data sederhana : array, record

Struktur data majemuk :
1. Linier = stack(tumpukan), queque (antrian), linear linked list (senarai berantai)
2. Nonlinier = Binary Tree.

C. Expression

D. Statement

E. Function dan Procedure

Transfer Parameter
Pada saat program utama memanggil prosedur / fungsi dengan parameter, maka telah terjadi pengiriman parameter yaitu dari :

Parameter aktual/nyata (yang terdapat pada pemanggil prosedur/fungsi yaitu pada  parameter/variabelàprogram utama)  yang memberi nilai
ke
 parameter yang diberi nilai.àparameter Formal (yang terdapat pada prosedur/fungsi tersebut )

Program coba;

Procedure hitung(x:integer);
Begin

End;

Begin {** Program utama **}
A := 10;
Hitung(A);
End.


Berdasarkan hubungannya parameter dibedakan menjadi 2 yaitu parameter nilai & parameter acuan.
 procedure Hitung(a: integer; b: real);àParameter nilai
 procedure Hitung(var a: integer;var b: real);àParameter acuan


Pengiriman Parameter dapat dilakukan dengan 2 cara :
1. Passing By Value ( secara Nilai)
Pengiriman parameter satu arah.
Nilai parameter formal pada prosedur/fungsi akan sama dengan nilai parameter aktual/nyata pada program utama.
2. Passing By Reference (Secara Acuan/lokasi).
Pemgiriman 2 arah.
Perubahan nilai pada parameter formal akan mempengaruhi parameter aktual

Contoh Program

procedure Hitung(a,b : integer;var c: integer);
begin
c := a+b;
end;

var
x,y,z : integer;
begin
z :=0;
write('Nilai X = '); readln(x);
write('Nilai y = '); readln(y);
writeln('----- sebelum prosedur dipanggil ---');
writeln('Nilai X = ',x);
writeln('Nilai Y = ',y);
writeln('Nilai Z = ',z); writeln;
Hitung(x,y,z);
writeln('----- setelah prosedur dipanggil ---');
writeln('Nilai X = ',x);
writeln('Nilai Y = ',y);
writeln('Nilai Z = ',z);
readln;

end.
HASIL EKSEKUSI
Nilai X = 4
Nilai y = 8
----- sebelum prosedur dipanggil ---
Nilai X = 4
Nilai Y = 8
Nilai Z = 0

----- setelah prosedur dipanggil ---
Nilai X = 4
Nilai Y = 8
Nilai Z = 12

Terlihat perubahan pada parameter formal (c) mempengaruhi nilai parameter aktual (z).
Parameter z yang bernilai 0 berubah mengikuti perubahan pada parameter c.

UML


UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen- komponen yang diperlukan dalam sistem software (http://www.omg.org).
Pendekatan analisa & rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO mulai diuji cobakandan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique).
Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO, ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia.
Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group),
Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi objectoriented dan software component.
Pengenalan UML
UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.
UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes.
Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).
Building blocks
Tiga macam yang terdapat dalam building block adalah :
Benda/Things adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemenelemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa Benda / Things benda / thing adalah sebagai berikut :
Classes, yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya.• Interfaces, merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. Interface / antar-muka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen.
Gambar1. Sebuah Class dari Model UML
Collaboration, yang didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas / elemen-elemen yang bekerja secara bersama-sama. Collaborations mempunyai struktur dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
Gambar2. Collaboration
Use cases, adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda / things dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya ‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid, biasanya mengandung nama.

Gambar3. Use Case
Nodes, merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalaha sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya.
Gambar4. Nodes
Hubungan/Relationships
Ada 4 macam hubungan didalam penggunaan UML, yaitu;
Dependency, adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputusputus.
Gambar5. Depedency
Association, hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya.
Gambar6. Association
Generalizations, adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk. Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah.
Gambar7. Generalizations
Realizations, merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari sebuah hubungan realization.
Gambar8. Realizations
Bagan/Diagrams
Bagan/diagram adalah sebagai kumpulan / group dari benda-benda/things. UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu;
Diagram Use Case
Diagram Class
• Diagram Package
Diagram Sequence
• Diagram Collaboration
• Diagram StateChart
• Diagram Activity
• Diagram Deployment
Semakin kompleks bentukan sistem yang akan dibuat, maka semakin sulit komunikasi antara orang-orang yang saling terkait dalam pembuatan dan pengembangan software yang akan dibuat. Pada masa lalu, UML mempunyai peranan sebagai software blueprint (gambaran) language untuk analisis sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian dari software trade (bisnis software). UML memberikan jalur komunikasi dari sistem analis kemudian designer, lalu programmer mengenai rancangan software yang akan dikerjakan.
Salah satu pemecahan masalah Object Oriented adalah dengan menggunakan UML. Oleh karena itu orang-orang yang berminat dalam mempelajari UML harus mengetahui dasar-dasar mengenai Object Oriented Solving (pemecahan masalah OO). Tahap pertama, pembentukan model.
Model adalah gambaran abstrak dari suatu dasar masalah. Dan dunia nyata atau tempat dimana masalah itu timbul bisa disebut dengan domain. Model mengandung obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesan-pesan). Obyek mempunyai sesuatu yang diketahui (atribut /attributes) dan sesuatu yang dil akukan (behaviors atau operations). Attributes hanya berlaku dalam ruang lingkup obyek itu sendiri (state). Lalu “blue print” dari suatu obyek adalah Classes (kelas). Obyek merupakan bagian-bagian dari kelas.

Konsep Dasar Pemrograman


Algoritma : Langkah-langkah untuk menyelesaikan sesuatu masalah
Pemrograman Terstruktur : “Metode untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah di test dan di modifikasi.”
Algoritma Pemrograman Yang Baik
Ciri-ciri algoritma pemrograman yang baik adalah :
  1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah
  2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat
  3. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda.
  4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman.
  5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
  6. Semua proses harus berakhir setelah sejumlah langkah dilakukan.
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
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.
Standar Perawatan 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.
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.
Kualitas Bahasa Pemrograman
1. Ekspresifitas
Bahasa pemrograman yang baik harus jelas dalam menggambarkan algoritmanya yang dibuat.
2. Definitas (dapat didefinisikan dengan baik)
Bahasa Pemrograman dapat didefinisikan dari adanya sintak dan semantic baik. Sintak dan semantic ini haruslah konsisten dan tidak bermakna ganda.
3. Tipe data dan Strukturnya
Bahasa pemrograman yang baik harus berkemampuan dalam mendukung berbagai tipe data (integer, string,real). Serta struktur data (array, record,file)
4. Modularitas
Bahasa pemrograman yang baik harus memiliki fasilitas sub program. Program yang besar dapat dikerjakan oleh beberapa pemrogram secara bersama-sama yang nantinya dengan mudah dapat digabungkan menjadi sebuah modul saja.
5. Adanya Input Output
Bahasa pemrograman yang baik harus dapat mendukung berbagai jenis model file seperti sequential, random, index dsb dalam proses masukan dan keluaran.
6. Portabilitas
Bahasa pemrograman yang dapat digunakan pada berbagai tipe mesin computer yang berbeda-beda.
7. Efisiensi
Bahasa pemrograman yang dapat mengatur banyaknya instruksi program dalam membatasi waktu tempuh pemrosesan, mengatur jumlah memori yang digunakan program,.
8. Interaktif
Bahasa pemrograman yang baik harus mudah dipelajari dan diajarkan pada user. Serta dimengerti tentang proses yang sedang dilakukannya.
9. Umum
Bahasa pemrograman yangn baik harus memiliki jangkauan yang luas untuk berbagai aplikasi pemrograman sehingga dapat bersifat bahasa serbaguna.