pemrograman dasar 1
TRANSCRIPT
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.
Bahasa Pemrograman adalah prosedur penulisan program.
Terdapat 3 faktor penting dalam bahasapemrograman :
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.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Dalam pengolahan data memerlukan 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.
B. Hardware
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer
yang digunakan untuk membantu proses kerja manusia ( Brainware ).
Contoh : CPU, Monitor, Keyboard
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
II. 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.
C. Middle Level Language (Bahasa Tingkat Menengah)
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam
penulisanpernyataan, mudah untuk dipahami dan memilik instruksi - instruksi
tertentu yang dapat langsungdiakses oleh komputer.
Contohnya adalah bahasa C.
D. High Level Language (Bahasa tingkat tinggi)
Bahasa Pemrograman yang dalam penulisan pernyataannya mudah dipahami
secara langsung. Bahasa pemrograman ini terbagi menjadi 2 yaitu :
1. Procedure Oriented Language
a. Scientific, digunakan untuk memecahkan persoalan
Matematis/perhitungan
Misal : Algol, Fortran, Pascal, Basic
b. Bussines, digunakan untuk memecahkan persoalan dalam bidang bisnis.
Misal : Cobol, PL/1.
2. Problem Oriented Language
Misal : RPG (Report Program Generator).
E. Object Oriented Language(Bahasa berorientasi obyek)
Bahasa pemrograman 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.
III. Kerangka Dasar Pemrograman
Originating : tahap ini berhubungan dengan proses pengumpulan data, yang
biasanya merupakan proses pencatatan(recording) data ke dokumen dasar.
Input : Tahap ini merupakan proses pemasukan data(entry data) ke dalam proses
komputer melalui peralatan input(input device)
Process : Tahap ini merupakan proses pengolahan data dari data yang sudah
dimasukkan yang berupa proses menghitung, membandingkan, mengklasifikasikan,
mengurutkan, mengendalikan dan mecari di storage.
Output : Tahap ini merupakan proses untuk menghasilkan keluaran dari proses
pengolahan data ke peralatan output(output device) yang berupa informasi.
Distibution : Tahap ini merupakan proses penyebaran informasi kepada pihak-
pihak yang berhak dan membutuhkan informasi.
Storage : Tahap ini merupakan perekaman hasil pengolahan data ke secondary
storage, yangndapat dipergunakan sebagai bahan input untuk proses selanjutnya.
PERTEMUAN 2
KONSEP DASAR PEMROGRAMAN
I. Algoritma Pemrograman Yang Baik
Ciri-ciri algoritma pemrograman yang baik adalah :
1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah
2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat
3. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak
menimbulkan arti ganda.
4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam
bahasa pemrograman.
5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
6. Semua proses harus berakhir setelah sejumlah langkah dilakukan.
Berikut ini contoh program yang mempunyai algortima yang tidak baik karena
mengandung kesalahan logika.
Uses crt;
Var
I : Integer;
Begin
Clrscr;
I := 0;
While I < 5 Do
Begin
Writeln (‘Bina Sarana
Informatika’);
I := I + I ;
Readln;
End;
End.
Berikut ini contoh program yang mempunyai algortitma yang baik karena
mempunyai logika yang benar
Uses crt;
Var
I : Integer;
Begin
clrscr;
I := 0;
While I < 5 Do
Begin
Writeln(‘Bina Sarana
Informatika’);
I := I + 1;
Readln;
End;
End.
Program akab berhenti karena kondisi yang ada terpenuhi sebanyak 5(lima)
II. Standar Suatu Program Yang Baik
A. Standar Pemecahan masalah
Teknik untuk dapat membantu memecahkan masalah antara lain teknik Top
Down dan teknik Modular.
Pemrograman Modular: Program dipecah-pecah kedalam modul-modul, dimana
setiap modul menunjukkan fungsi dan tugas tunggal, dimana setiap modul
menunjukkan fungsi dan tugas tunggal.
Pemrograman top down sangat berguna dalam perencanaan pemrograman
modular.Dalam pemrograman top-down yang pertama harus kita didefinisikan
adalah modul utama. Modul utama yang dimaksud adalah modul yang pertama
kali dijalankan atau modul yang memanggil modul lainnya atau juga modul yang
mengakhiri proses program tersebut.
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 item = nilai1
instruksi1
Endif
IF item = nilai2
Instruksi2
Endif
IF item = nilai3
instruksi3
Endif
Bentuk diatas akan melakukan pengujian sebanyak 3(tiga) kali untuk
mendapatkan satu alternatif.
b. Logika pengujian yang baik sehingga waktu lebih efisien:
IF item = nilai1
instruksi1
ELSE IF item = nilai2
instruksi2
ELSE IF item = nilai3
instruksi3
ENDIF
ENDIF
Bentuk ini setelah pengujian berhasil mendapatkan solusi, maka proses
pengujian tidak akan dilanjutkan lagi
a. Contoh kedua susunan baris program yang tidak baik
n := 1;
while n <=50 do
Begin
item (n) := A*B/C+D-E+n;
n := n + 1;
Readln;
End;
Bentuk eksekusi program diatas akan lambat karena eksekusi ekpresi
matematika A*B/C+D-E+n akan diulang-ulang
b. Susunan baris program yang baik
n := 1;
Hasil := A*B/C+D-E+n;
while n <=50 do
Begin
item (n) := Hasil + n
n := n + 1;
Readln;
End;
Bentuk eksekusi program diatas akan lebih cepat karena eksekusi ekspresi
matematika A*B/C+D-E+n
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.
C. Standar Perawatan Program
1. Dokumentasi
Dokumenatasi berguna untuk melakukan penelusuran jika terjadi kesalahan dan
memberikan informasi kepada orang lain dapat mengerti dan memahami alur
logika program.
2. Penulisan Instruksi
Beberapa hal yang perlu diperhatikan dalam penulisan instruksi atau statement
program yaitu:
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.
FOR I :=1 TO N DO
BEGIN
……………………..
………………………
END
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.
WHILE (………….) DO
BEGIN
……………………..
………………………
END;
f. Gunakan “Spasi” dalam menulis statement atau instruksi.
WHILE (N>=15) DO
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.
IV. Kualitas Bahasa Pemrograman
a. Ekspresivitas :Bahasa pemrograman yang baik addalah mampu
menggambarkan algoritma yang dibuat oleh programmer
b. Dapat didefinisikan dengan baik : sintaks dan semantik bahasa pemrograman
yang baik haruslah konsisten dan tidak bermakna ganda
c. Tipe data dan strukturnya: Bahasa programmer yang baik haruslah
berkemampuan untuk mendukung berbagai tipe data(integer, real, pointer,dsb)
dan terstruktur dalam array, record ataupun object
d. Modularitas : Bahasa pemrograman yang baik harus mempunyai fasilitas
subprogramming sehingga suatu program yang besar dapat dikerjakan oleh
sekaligus beberapa pemrogram secara bersama-sama yang nantinya dengan
mudah dapat digabungkan menjadi sebuah modul saja.
e. Fasilitas masukan keluaran : Bahasa pemrograman yang baik haruslah dapat
mendukung berbagai jenis model file seperti sequential, random access, index,
multiple index dan lain sebagainya dalam pemrosesan masukan dan keluaran
f. Portabilitas : Bahasa pemrograman yang baik haruslah dapat dipakai pada
berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet.
g. Efisiensi : Bahasa pemrograman yang baik haruslah dapat dipakai pada
berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet
h. Mudah dipelajari : bahasa pemrograman tersebut harus mudah dipelajari
maupun diajarkan
i. Bersifat Umum : Bahasa pemrograman tersebut harus memiliki jangkauan luas
pada berbagai aplikasi pemrograman sehingga dapat disebut bahasa yang
serbaguna.
PERTEMUAN 3
TAHAPAN MEMBUAT PROGRAM
I. Tahapan-Tahapan Membuat Program
A. Membuat Suatu Program Yang Kompleks
Untuk membuat program yang besar dan kompleks, programmer membutuhkan
tahapan-tahapan dibawah ini :
1. Definisi Masalah :
Langkah-langkah dalam pendefinisian masalah adalah:
a. Pemahaman Permasalahan: Seorang programmer harus paham
permasalahan yang timbul sehingga terjalin dengan baik komunikasi
dengan pihak yang mempunyai masalah
b. Identifikasi Permasalahan : Programmer harus dapat mengidentifikasikan
permasalahan yang ada sehingga programmer dapat menentukan batasan
permasalahannya.
2. Analisis Kebutuhan :
Tujuannya adalah untuk menentukan spesifikasi fungsi, kemampuan dan
fasilitas program dari program yang akan dibuat sehingga bermanfaat untuk
evaluasi setelah pembuatan program.
3. Desain Algoritma / Membuat Rumusan Pemecahan Masalah :
Algoritma yang didesain khusus harus memiliki kebenaran secara logika
sebelum siap untuk diimplementasikan ke dalam bentuk program. Algoritma
disusun dalam bentuk Pseudocode atau flowchart
Contoh menghitung Luas lingkaran:
Pseudocode Flowchart
Phi . 3.14
Input (diameter)
Radius . diameter/2
Luas .phi*radius*radius
Output(luas)
end
4. Bahasa Pemrograman
Fungsi dari bahasa pemrograman adalah sebagai media untuk membuat
program dan juga sebagai alat komunikasi antara programmer dan komputer.
Contohnya Pascal, Bahasa C, Visual Basic, Visual Foxpro, dll
5. Testing dan Debugging
Testing adalah menguji program sampai bebas dari error
Debugging adalah mengoreksi error yang terdeteksi
6. Dokumentasi
Dokumentasi merupakan informasi dan gambaran tambahan yang bertujuan
untuk menjadi pedoman dan penjelasan bagi para pemakai
7. Pemeliharaan
Pemeliharaan perangkat lunak meliputi:
a. Corrective Maintenance, melakukan koreksi hasil yang didapat oleh
pemakai tidak sesuai
b. Adaptive Maintenance, Adaptasi sehingga memerlukan modifikasi dari
program yang dibuat
c. Prefective Maintenance,Tambahan fungsi-fungsi/fasilitas pada program
setelah dilakukan pengujian dan pemakaian oleh user
d. Preventive Maintenance, Tambahan fungsi-fungsi/fasilitas pada program
sesuai dengan
perkembangan masa mendatang
B. Membuat Suatu Program Yang Sederhana
Untuk membuat suatu program yang sederhana, programmer tidak perlu
menggunakan tujuh tahapan diatas, tetapi cukup beberapa tahap saja, seperti :
a. Definisi Masalah
b. Desain Algoritma
c. Bahasa Pemrograman
d. Testing and Debugging
C. Karakteristik Seorang Programmer
1. Mampu menyusun algoritma dengan baik dan logis.
2. Memiliki ketekunan dan ketelitian yang tinggi.
3. Menguasai bahasa dan teknik penulisan program dengan baik.
4. Dapat bekerja sama dalam suatu tim.
5. Dapat bekerja secara efisien dan tepat waktu
D. Menulis Program Interaktif
1. Program harus dapat melakukan validasi terhadap setiap data yang masuk.
2. Program 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 memberikan tanda bahwa data yang ikehendaki
sudah terpenuhi.
5. Berikan label atau keterangan pada setiap keluaran, termasuk bentuk pesan
kesalahan apabila sipemakai salah mengoperasikan program tersebut.
6. Berikan pesan, apabila program sedang melakukan suatu proses yang
memerlukan suatu waktu tunggu.
PERTEMUAN 4
STRUKTUR SUATU BAHASA PEMROGRAMAN
I. Struktur Bahasa Program Prosedural
A. Bagian Deklarasi
1. Deklarasi Variable
Untuk mendeklarasikan variable pada Pascal, digunakan reserved word var,
kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan
kemudian tipe data dari variable tersebut. Sedangkan pada C, deklarasi
diawali dengan tipe data variable baru diikuti dengan nama variable
(identifier). Suatu identifier harus diawali oleh karakter bukan angka, tetapi
tidak boleh mengandung
karakter khusus seperti * , - + / \ = < > . ? & dan sebagainya. Pada bahasa
Pascal, identifier tidak bersifat case sensitive, maksudnya, huruf besar ataupun
huruf kecil dianggap sama. Sebaliknya pada Bahasa C, identifier bersifat case
sensitive, sehingga variable s dan S akan dianggap dua identifier yang
berbeda.
2. Deklarasi Konstanta
Konstanta yaitu nilai yang tetap. Jadi jika mengacu pada contoh di atas, maka
nilai phi tidak dapat diubah-ubah dan akan selalu 3.14
3. Deklarasi Tipe Data
Type TdataSiswa = ^DataSiswa;
DataSiswa = record
Nama : String [30];
Alamat : String [60];
Telp : String [14];
End;
Tipe Data dapat dikelompokkan menjadi:
a. Tipe Data sederhana
Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya
melibatkan satu item data, misalnya tipe data integer, string, real, Boolean,
dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe
data yang didefinisikan sendiri tersebut distilahkan enumerated data type
(pada contoh adalah type hari).
b. Tipe Data terstruktur
Tipe data terstruktur merupakan tipe data yang terdiri dari beberapa item
data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item
yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item
yang boleh memiliki tipe data yang berbeda). Pada contoh di atas,
DataSiswa termasuk tipe data terstruktur.
c. Tipe Data Pointer
Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu
data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai
data secara langsung, melainkan hanya menyimpan alamat dimana data
berada. Untuk contoh pada bahasa Pascal, TDataSiswa merupakan tipe
data pointer. Pada Bahasa C, untuk mendeklarasikan pointer untuk tipe
data DataSiswa pada variable yang bernama TDataSiswa, dapat dituliskan
sebagai berikut:
DataSiswa *TDataSiswa;
4. Deklarasi Procedure/Function:
Jika melihat pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan
apa beda prosedur dengan fungsi? Pada Bahasa C, semua sub program
dianggap fungsi, berbeda dengan Pascal yang menyertakan reserved word
procedure dan function untuk membedakan antara keduanya.
Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur
adalah fungsi yang tidak mengembalikan suatu nilai. Sebaliknya fungsi adalah
suatu prosedur yang mengembalikan nilai. Apabila mengacu pada contoh di
atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe
integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada
Bahasa C, procedure pada dasarnya adalah function yang mengembalikan
void alias tidak mengembalikan nilai apa-apa.
B. Bagian Statment
Bagian statement merupakan bagian program yang berisi perintah yang akan
dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali
dengan reserved word begin dan end. Apabila blok statement adalah blok utama
program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya
jika blok statement bukan blok utama program maka reserved word end diakhiri
dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi
variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal
{ dan }.
Berikut adalah contoh potongan kode untuk implementasi menghitung luas
lingkaran dengan Bahasa
Pascal (kiri) dan Bahasa C (kanan).
Bahasa Pascal:
procedure Cetak (kal: String);
function Tambah (a,b:Integer): Integer;
Bahasa C:
void Cetak (char *String);
int Tambah (int a, int b);
uses crt;
const phi = 3.14;
var diameter, radius,
Luas : real;
begin
readln(diameter);
radius := diameter / 2;
Luas := phi * radius * radius;
writeln(Luas);
end.
#include <stdio.h>
void main()
{ const phi = 3.14;
float diameter, radius, Luas;
scanf(“%f”, &diameter);
radius = diameter / 2.0;
Luas = phi * radius * radius;
printf(“%f”,Luas);
}
PERTEMUAN 5
ELEMEN-ELEMEN BAHASA PEMROGRAMAN
I. Elemen-Elemen Dalam Bahasa Pemrograman
Berikut adalah element-element pada bahasa pemrograman:
A. Aturan Leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi,
definisi maupun statement hingga menjadi satu program yang utuh. Aturan ini
meliputi beberapa element antara lain:
1. Token : element terkecil pada bahasa pemrograman yang memiliki arti
penting bagai compiler. Yang termasuk token antara lain. Identifier, keyword,
operator dan sebagainya. Token yang satu dengan yang lain dipisahkan
dengan satu atau lebih spasi, tab, baris baru atau komentar
2. Komentar : teks(kumpulan karakter) yang diabaikan oleh compiler.
Komentar sangat berguna untuk memberi catatan mengenai bagaian program
tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang lain
yang membaca kode program tersebut. Pada bahasa pascal, teks yang berada
diantara kurung kurawal pembuka { dan kurung kurawal tutup } akan
dianggap sebagai komentar., selain itu dapat pula menggunakan tanda (*
sebagai pembuka komentar, dan tanda ) sebagai penutup
Contoh pascal:
( program mencetak hello world
Oleh: saya *)
Begin
{cetak hello World
Oleh saya
}
Writeln(‘Hello World’);
end
3. Identifier : merupakan kumpulan karakter yang digunakan sebagai penanda
untuk nama variable, namatipe data, fungsi prosedur dan sebagainya. Aturan
penulisan identifier pada bahasa pascal dan bahasa C dapat dikatakan serupa.
Yaitu : suatu identifier harus diawali oleh karakter non angka sebagai
berikut:_abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ selanjutnya boleh menggunakan
karakter angka maupun karakter non angka tersebut diatas, namun tidak boleh
menggunakan karakter khusus/spesial seperti + - * / ?! {} [] dan sebagainya
Berikut adalah contoh-contoh identifier yang benar
_nama
No_telp
4. Keywords (Reserved Words) : merupakan kata-kata yang telah ada/
didefinisikan oleh bahasa pemrograman yang bersangkutan.Kata-kata tersebut
telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah
memiliki definisi tertentu maka kata-kata ini tidak dapat digunakan sebagai
identifier
Pada bahasa pascal, yang termasuk reserved word antara lain:
And array asm begin case const div do downto
else end file for forward function goto if in
label mod nil not of or packed program
procedure recor repeat set string then to type unit
until uses var while with
5. Operator : digunakan untuk menyatakan suatu perhitungan/operasi. Operator
yang digunakan untuk operasi yang melibatkan satu operand disebut unary
operator. Jika melibatkan dua operand maka disebut binary operator, dan jika
melibatkan tiga operand, operator tersebut disebut ternary operator.Didalam
suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari
operatoroperator disebut juga operator predence. Prendence yang lebih rendah
akan dieksekusi belakangan, Misalnya A = 10 + 5 * 2
a. Arithmetic Operator :operator yang digunakan untuk melakukan operasi
matematika seperti penuumlahan, pengurangan,perakalian, pembagian
b. Assignment Operator : digunakan untuk memberi nilai suatu identifier.
Pada bahasa pascal, digunakan tanda titik dua dan tanda sama dengan :=
untuk memberi nilai pada variabel.
Contoh:
C := A + B
Tanda = memiliki fungsi yang sama dengan tanda := pada bahasa pascal
c. Bitwise dan Logical Operator : digunakan untuk melakukan operasi bit
dan logika. Yang termasuk didalam operator ini antara lain:
Negasi : Not
Contoh A;=NOT B;
And
contoh A:=A and B;
Or
Contoh A:=B OR C;
shift left(<<)
contoh A;=B shl C;
Shift Right(>>)
Contoh A:B shr C;
d. Relational Operator : digunakan untuk membandingkan nilai dua operand.
Sebagai catatan, operand yang dibandingkan harus memiliki tipe data yang
sama kecuali untuk bilangan bulat(bertipe integer) dan bilangan
pecahan(bertipe real atau float). Yang termasuk operator relasional yaitu:
penanda kesamaan (=), penanda lebih besar, penanda lebih besar atau
sama dengan, penanda lebih kecil, penanda lebih kecil atau sama
dengan,penanda tidaksamaan(<>)
e. Pointer Operator : digunakan untuk melakukan operasi operand yang
berupa pointer. Pada bahasa pascal digunakan tanda ^ sebagai deference
pointer
B. Tipe data
Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang
sederhana (simple) maupun yang terstruktur . Dan apabila kita membutuhkan
tipe data yang belum tersedia kita dapat mendefinisikan sendiri tipe data baru yang
disebut enumerated type.
Berikut adalah tipe data sederhana (simple) :
Tipe Pascal Bahasa C Jangkauan Nilai
Integer
byte char(unsigned char) 0..255
shortint char(signed char) -128..127
integer Int -32768..32767
word short(unsigned char) 0..65535
longint Long -2147483648..2147483647
Real/Pecahan real float 3.4 E – 38..3.4 E +38
double double 1.7 E – 308..1.7E + 308
String String,char(1
karakter)
- -
Boolean Boolean Bool(tidak terdapat
pada bahasa C standar)
True, false
Yang dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat
menampung lebih dari satu nilai, sbb:
1. Array
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih
elemen/komponen yang memiliki tipe data yang sama.
Berikut adalah contoh penggunaan array:
{bahasa pascal}
Var
Bil : array[0..3] of integer;
Begin
Bil[0]:=1;
Bil[1]:=2;
Bil[2]:=bil[0] + 2;
Bil[3]:=bil[0] + bil[2];
End;
2. Record (Pascal) atau struct (Bahasa C)
Tipe data ini digunakan untuk merepresentasikan kumpulan (set)
elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element
disebut juga field atau property atau attribute.
Beriut adalah contoh penggunaan record dan struct {bahasa pascal}
Type
Tsiswa = record
No_induk: integer;
Gender: char;
/bahasa C*/
Stuct Tsiswa{
Int no_induk;
Char gender;
};
End;
Var
Saya:Tsiswa;
Teman:array[1..3] of Tsiswa;
Saya.no_induk:=10;
Saya.gender:=’L’;
Teman[1],no_induk:=1;
Teman[1],gender:=’L’;
Teman[2],no_induk:=2;
Teman[2],gender:=’P’;
Teman[3],no_induk:=3;
Teman[3],gender:=’P’;
End;
Void main(){
Struct Tsiswa saya, teman[3];
Saya.no_induk:=10;
Saya.gender:=’L’;
Teman[0],no_induk:=1;
Teman[0],gender:=’L’;
Teman[1],no_induk:=2;
Teman[1],gender:=’P’;
Teman[2],no_induk:=3;
Teman[2],gender:=’P’;
}
Pada contoh diatas, dideklarasikan tipe data terstruktur yang diberi nama Tsiswa.
Tipe data tersebut terdiri atas dua elemen yang masing-masing bertipe integer dan
char
C. Expression
Expression yang paling sederhana yaitu nama variable. Expression yang lebih
kompleks akan melibatkan operator-operator, maupun pemanggilan function atau
procedure.
Berikut adalah contoh expression:
A hanya berupa nama variable
10 berupa suatu nilai
A + 3 * 2 . expression menggunakan operator
Calculate(A,B) . melakukan pemanggilan function bernama calculate
D. Statement: seperti yang telah disinggung diatas,statement merupakan bagaian
program yang berisi perintah yang akan dieksekusi/dijalankan.
1. Simple Statement yaitu statement yang tidak berisi satatement lainnya, sbb:
a. Assignment Statement : yaitu statement yang digunakan untuk
memberikan nilai ke suatu variable
Contoh Pascal Contoh Bahasa C
a:=10;
b:=a*2;
c:=c*b;
Student[i].id:=12;
a=10;
b=a*2;
c=c*b;
Student[i].id=12;
b. Statement untuk pemanggilan function atau procedure: yaitu statement
yang memamnggil function atau procedure yang telah didefinisikan pada
program. Contoh pemanggilan procedure dan fungsi pada bahasa Pascal dan
bahasa C (dengan asumsi procedure Calculate, Cetak, dan Fuction
GetLength untuk contoh dibawah, telah didefinisikan terlebih dahulu):
Contoh Pascal Contoh Bahasa C
Calculate (a,b);
B:=GetLength(student[i].Name);
Cetak (a,b);
Calculate (a,b);
B=GetLength(student[i].Name);
Cetak (a,b);
c. Jump Statement : yaitu statement yang digunakan untuk
melompatistatemet-statement lain. Yang termasuk dalam kategori statement
ini yaitu:
Fungsi Pascal Bahasa C
Melompat ke statement tertentu goto Goto
Keluar dari iterative statement Break Break
Melompat ke iterasi selanjutnya pada
iterative statement
Continue Continue
Keluar dari function/procedure Exit exit
2. Compound Statement
Compound statement (kumpulan statement) adalah sekumpulan statement yang
terdiri dari statement-statement lain, termasuk juga iteration dan selection
statement.
Pada bahasa pascal, kumpulan statement diawali oleh keywords Begin dan
ditutup oleh keyword end, sedangkan pada bahasa C, kumpulan statement akan
diawali dan diakhiri oleh tanda kurung kurawal{ dan }. Berikut adalah
contoh compound statement:
{bahasa Pascal}
If i =0 then
Begin
{compound statement starts here}
Write(‘Nilai I tidak boleh nol’);
Hasil:=-1;
{compound statement ends here}
End;
/*bahasa C*/
If (i =0)
{
//compound statement starts here}
printf(“Nilai I tidak boleh nol”);
Hasil:=-1;
//compound statement ends here
}
Selection statement melakukan pemeriksaan nilai/kondisi, yang kemudian akan
memilih statement mana yang akan dieksekusi. Statement ini terdiri dari 2 jenis
yaitu If..then..else statement dan case/switch statement.
3. Iteration Statement
Iteration statement digunakan untuk melakukan perulangan sekumpulan
statement (compound statement).
Iteration
Statement
Bahasa Pascal
Repeat/do looop:
Evaluasi kondisi dilakukan di
bagian akhir
Repeat
(statement);
…
(statement);
Until(kondisi);
Contoh:
I:=1;
Repeat
i:i+2;
writeln(i);
until i>=10;
While do:
Evaluasi kondisi dilakukan di
bagian awal
While(kondisi) do
(statement)
Contoh:
Contoh:
I:=1;
While(i<10) do
begin
i:i+2;
writeln(i);
end;
For..loop
Perulangan dengan
increment nilai
For counter:=lower to upper do
(statement)
Atau
For counter:=upper downto lower
do
(statement)
Contoh:
For i:=1 to 10 do
Writeln(i);
For i:= 1 to 10 do
begin
write();
for j:= 10 downto I do
write(j);
writeln;
end;
E. Function dan Procedure
Procedure dan Function disebut juga subroutine, merupakan blok statement yang
dapat dipanggil dari lokasi yang berbeda di dalam program. Yang membedakan
antara function dan procedure yaitu:
suatu function jika dijalankan/dipanggil akan mengembalikan suatu nilai.
Ketika procedure atau function dipanggil, 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) : jika didalam procedure atau
function dilakukan perubahan nilai parameter yang dilewatkan secara nilai
parameter yang dilewatkan secara nilai, maka nilai parameter yang sebenarnya
tidak ikut berubah,hal ini dikarenakan parameter yang dilewatkan secara nilai
akan dicopy sebagai nilai local di procedure/function yang bersangkutan :
{bahasa Pascal}
Uses crt;
Procedure ubah(a:integer);
Begin
A:=10;
Writeln(‘Ubah menjadi =”,a);
End;
{main program}
Var bil: integer;
Begin
Bil:=1;
Writeln(’Bil sebelum=’,bil);
Ubah(bil);
Writeln(’Bila sesudah=’,bil);
End;
Hasil eksekusi kedua program diatas adalah sama, pada layar akan tampak
tulisan:
Bil sebelum=1
Ubah menjadi =10
Bil sesudah=1
2. Passing by Reference : jika didalam procedure atau function dilakukan
perubahan nilai parameter yang dilewatkan secara nilai reference, maka
nilai parameter yang sebenarnya juga akan berubah.
PERTEMUAN 6
ANALISA STRUKTUR PROGRAM
I. Flowchart
adalah metode untuk menggambarkan tahap-tahap pemecahan masalah dengan
menggambarkan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan
dan standar. Dalam penulisan flowchart dikenal 2 (dua) metode yaitu :
A. Sistem Flowchart
Adalah diagram alir yang menggambarkan suatu sistem peralatan komputer yang
digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut.
Pita Magnetik /I/O yang
menggunakan pita
magnetik
Kartu
Plong/keyboard/Input yang
dimasukkan secara manual
dari keyboard
Punched Paper Tape
Input / Output
/Merepresentasikan Input
data atau Output data yang
diproses Atau Informasi.
Magnetic Drum /I/O yang
menggunakan drum
magnetik
Process/Mempresentasikan
operasi
File Upah
File Pelanggan
Baca jam dan
tariff upah
Masukan Tarif Upah
File Pegawai
Hitung Upah Kotor
Off Line
Storage/Penyimpanan yang
tidak dapat diakses oleh
komputer secara langsung
Proses Sortir /tidak urut
Proses Merge/
On line storage/VDU/I/O
yang menggunakan
penyimpanan akses
langsung
Magnetic Disc/I/O yang
menggunakan disk
magnetik
Arus
File Pelanggan
Update File Pegawai
Contoh :
Disket
VDU
CPU
Keyboard
B. Program Flowchart
Adalah diagram alir yang menggambarkan urutan logika dari suatu prosedur
pemecahan masalah.
Dibawah ini adalah gambar simbol program flowchart :
Proses Input Output subroutine
Pengujian Pembaerian Nilai Awal Awal/ Akhir Program
Konektor pada suatu halaman Konektor pada halaman lain Arah
II. Pseudocode
Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai dan code
yang berarti program.
Pseudocode adalah teknik tulisan untuk menggambarkan algoritma menggunakan
kode yang mirip dengan kode pemrograman yang sebenarnya.
PERTEMUAN 9
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.
Baris Program
Baris Program
Baris Program
Selesai
Start
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;
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 <kondisi> THEN
Begin
............
............
End.
Perintah 1 Kondisi
Selesai
Start
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 <kondisi> THEN
Begin
............
............
End;
Else
Begin
............
............
End.
False
TrueKondisi
Selesai
Start
Perintah 1
Perintah 2
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.
3. Statement/Perintah IF ... THEN ... ELSE IF
Bentuk umumnya :
IF <kondisi> Then
Begin
..........
..........
End
Else If <kondisi2> Then
Begin
..............
..............
End;
True
True
True
False
False
False
Perintqh 2
Perintah 3
Perintah 4
Kondisi2
Kondisi3
Perintah 1
Kondisi1
Selesai
Start
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;
True
False
False
True
True
True
Perintah 2
Perintah 3
Perintah 1
Pernyataan yang mengikuti else
End
Start
Nilai pemilih pada daftar
konst 3
Nilai Pemilih Pada daftar
konst 2
Nilai pemilih pada daftar
konst 1
Contoh Program Seleksi Case .. of menentukan Grade mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
write(‘Masukan Nilai Akhir:’);
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;
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<kondisi> Do
Begin
…………
…………
End;
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<kondisi>;
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 instruksi- instruksi dalam satu kesatuan modul ke dalam
bahasa mesin sehingga dihasilkan suatu file executable.
2. Interpreter
Interpreter merupakan penerjemah bahasa pemrograman yang
menterjemahkan instruksi demi instruksi pada saat eksekusi program.
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
PERTEMUAN 10
TEKNIK PEMROGRAMAN TERSTRUKTUR
I. Konsep pemrograman Terstruktur
Adapun beberapa teknik Pemrograman terstruktur adalah :
A. Pemrograman Modular
Pemrograman Modular adalah suatu teknik pemrograman di mana program yang
biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih
kecil
Keuntungan:
• Program lebih pendek
• Mudah dibaca dan dimengerti
• Mudah didokumentasi
• Mengurangi kesalahan dan mudah mencari kesalahan
• Kesalahan yang terjadi bersifat “lokal”
Dalam pemrograman modular, program dipecah-pecah ke dalam modul-modul,
dimana setiap modul menunjukkan fungsi dan tugas tunggal.
Setiap program mempunyai sebuah modul program utama, yang mengontrol semua
proses yang terjadi.
Pemrograman modular diterapkan dengan menggunakan sub-routine. Sub-routine
adalah sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas.
Subroutine atau procedure adalah suatu blok program terpisah yang digunakan
untuk mengerjakan suatu pekerjaan tertentu. Kegunaan yang umum dari subroutine
adalah menghemat kode program bila terjadi proses yang sama diulang berkali-kali.
Contoh: Private Sub Option1_Click(Index As Integer) Label1 =
Option1(Index).Caption End Sub
Program Judul_Program;
Procedure Nama_Procedure;
Begin
………………
………………
End;
Begin
………………
Nama_Procedure
……………….
End.
B. Pemrograman Top-Down
Function Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang
dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan
fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk
mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat
disebut sebagai subrutin (basic,VB) atau procedure (pascal, Delphi)
Keuntungan
Top-down: penelusuran program mudah
Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai
dengan koordinasi yang mudah.
Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan
sederhana
Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
mengganggu program keseluruhan
Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang
ditulis secara berulang – ulang
Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam
bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah
ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.
Mempermudah dokumentasi.
Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi
lain
Pendekatan Top-down ini sangat berguna dalam perencanaan pemrograman
modular. Dalam pemrograman top-down (atas ke bawah), yang pertama harus kita
definisikan adalah modul utama. Modul utama yang dimaksud adalah modul yang
pertama kali dijalankan atau modul yang memanggil modul lainnya atau juga modul
yang mengakhiri proses program tersebut.
PERTEMUAN 11
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).
PERTEMUAN 12
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 dilaboratorium, hasil survey, angket dan
sebagainya.
Data sederhana dapat kita himpun kedalam suatu struktur organisasi data file yang
memuat informasitentang hubungan antara item yang terdapat didalamnya, dan
dikenal sebagai suatu organisasi file. Tipeorganisasi data file diantaranya adalah:
organisasi file sequential, organisasi file relative(random) sertaorganisasi file index
sequential.
Ada beberapa tipe organisasi file data yang digunakan, yaitu susunan berurutan
(sequential), berurutandiindeks (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.
PERTEMUAN 13
APLIKASI PEMROGRAMAN BUSSINES
I. TEKNIK PERANCANGAN PROGRAM ORIENTASI BUSSINES
Didalam proses pembangunan/pengembangan system informasi(Bangsis), dukungan
teknis dari perancangan program yang terstruktur akan sangat mempengaruhi nilai
serta kualitas dari system informasi tersebut. Oleh karena itu, semakin terstruktur dan
sistematis program yang dibuat, maka semakin akurat dan berkualitas informasi yang
disajikan oleh system yang dibangun.
Berikut ini akan dijelaskan beberapa teknik perancangan program didalam
pemrograman terstruktur untuk mendukung proses pembangunan / pengembangan
sistem informasi (BANGSISFO)
Teknik perancangan file atau database dalam bentuk spesifikasi file
Teknik perancangan program dalam bentuk spesifikasi program
I. 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.
Parameter File meliputi hal-hal sebagai berikut :
a. Menentukan NAMA-FILE
Contoh : File-Induk-Mahasiswa
b. Menentukan AKRONIM-FILE
Contoh : Siswa.Dbf
c. Menentukan KODE-FILE
Contoh : Mhs01
d. Menentukan TYPE-FILE (file induk,file transaksi dll)
Contoh : File-Induk
e. Menentukan Panjang Record (RECORD-SIZE)
Contoh : 140 Character
f. Menentukan ORGANISASI-FILE
Contoh : Index-Sequential
g. Menentukan ACCESS-FILE
Contoh : Sequential
h. Menentukan MEDIA-FILE
Contoh : Harddisk
i. Menentukan FIELD-KEY
Contoh : Nomor induk siswa (NIS)
j. Menentukan SOFTWARE yang digunakan
Contoh : Fox-base
II. Langkah-langkah didalam merancang PROGRAM
Adapun mengenai langkah-langkah didalam perancangan program adalah sebagai
berikut :
1. Menentukan banyaknya jumlah kebutuhan program yang nanti akan dibuat.
2. Menentukan Parameter dari Program yang akan dibuat.
Parameter Program meliputi hal-hal sebagai berikut :
a. Menentukan NAMA-PROGRAM
Contoh : Program Menu Utama
b. Menentukan AKRONIM-PROGRAM
Contoh : Menu.Prg
c. Menentukan KODE-PROGRAM
Contoh : PMU01
d. Menentukan FUNGSI-PROGRAM
Contoh : Untuk menampilkan pilihan menu utama di dalam proses
Program
e. Menentukan PAKET-PROGRAMMING LANGUAGE
Contoh : Visual Basic, Visual Foxpro
f. Menentukan bentuk SISTEM FLOWCHART / PROGRA FLOWCHART
g. Mentukan bentuk PROSES-PROGRAM secara rinci dan detail
PERTEMUAN 14
OOP (Object Oriented Programming)
I. Pengertian
Pemrograman berorientasi objek merupakan metode yang relatif baru untuk
melakukan perancangan atau rekayasa perangkat lunak. Tujuan metode ini adalah
untuk meningkatkan produktivitas pemrogram dengan meningkatkan extensibiltas
dan penggunaan kembali perangkat lunak serta untuk mengontrol biaya dan
kompleksitas perawatan perangkat lunak.
Secara singkat tujuan utama dari pengembangan perangkat lunak atau program
berorientasi objek, dapat dijelaskan sbb:
Mempersingkat waktu dan menurunkan biaya pengembangan rekayasa perangkat
lunak.
Menurunkan biaya perawatan perangkat lunak.
Pemrograman berorientasi objek memberikan landasan yang sangat berguna
untuk pembuatan prototype sistem secara cepat.
II. Metode dan Objek
Metode merupakan suatu procedure atau fungsi yang disatukan dalam suatu objek
serta dapat mengakses field-field data yang menjadi bagian dari objek tersebut.
Didalam sebuah objek, metode didefinisikan dengan sesuatu header fungsi atau
procedure yang bertindak sebagai metode. Semua field data harus didefinisikan
sebelum deklarasi metode pertama.
Diluar objek, sebuah metode didefinisikan secara penuh, yaitu statemen-statemen apa
aja yang akan dikerjakan oleh metode tersebut. Nama metode harus diletakan nama
objek yang memiliki metode tersebut.
Didalam pemrograman berorientasi objek, sebuah objek seperti halnya sebuah rekord
yang terdiri dari beberapa field data dengan diperluas adanya fungsi atau prosedur.
Prinsip pemrograman berorientasi obyek adalah sedapat mungkin field-field dalam
suatu obyek ditinggalkan menyediri sebanyak mungkin, jangan sampai field data-
field data tersebut dapat diakses secara langsung. Jadi bagaimana cara mengakses
field data-field data tersebut? Jawabannya adalah sedapat mungkin menggunakan
metode obyek(yaitu prosedur atau fungsi yang didefinisikan didalam obyek) obyek
yang bersangkutan.
Paradigma Objek
• Paradigma adalah suatu cara pandang atau cara berpikir
• Paradigma objek adalah cara pandang yang memandang SEGALA SESUATU
sebagai OBJEK
• Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti :
kucing, meja, rumah, orang , dll
• Data Member atau variabel
Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama, tinggi badan,
berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan
kacamata, dll
Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang
sering disebut sebagai : data member
• Objek dalam pemrograman adalah objek yang dibuat dari class tertentu.
• Method
Selain memiliki atribut(STATE) yang diimplementasikan sebagai data
member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan
tertentu (BEHAVIOR)
Contoh aksi/behavior yang umum adalah menangis dan tertawa
Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi
method sbb :
Ada 3(tiga) karakteristik utama bahasa pemrograman berorientasi objek yaitu :
a. Enkapsulasi ( pengkapsulan )
Enkapsulasi merupakan gabungan beberapa type data (record) dengan prosedur
dan fungsi yang membentuk suatu type data baru yang tepat. Hakikat dari
enkapsulasi ini adalah memadukan langkah program dengan data yang ada
didalamnya. Dengan enkapsulasi anda dapat menyembunyikan didalam objek,
baik data maupun fungsi / prosedur. Hanya dengan interface objek maka kita
dapat mengakses datanya.
NB: pengemasan data dan prosedur dalam objek. Ditujukan untuk melakukan
penyembunyian informasi (information hidding).
b. Inheritance ( penurunan sifat )
Penurunan sifat memungkinkan kita untuk membuat sebuah objek baru yang sama
dengan objek sebelumnya yang telah didefinisikan. Karakteristik dari suatu objek
diturunkan ke objek yang lain sehingga objek yang baru akan memiliki
karakteristik yang sama dengan induknya. Penurunan ini diawali dengan
mendefinisikan objek induk, sehingga dengan menggunakan objek induk tersebut,
dapat membuat objek yang bertumpu pada objek induknya. Sehingga akan
terbentuk objek keturunan. Dimana setiap objek turunannya dapat mengakses
semua data dan program yang dimiliki oleh objek induknya.
NB: Memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain.
Pemrograman berorientasi objek merupakan suatu teknik atau cara berfikir untuk
merancang aplikasi yang dapat membantu memecahkan persoalan mengenai
pengembangan perangkat lunak. Teknik atau metode pemrograman berorientasi
objek didasari oleh class dan objek. Jika diibaratkan class adalah sebuah cetakan
sedangkan objek adalah hasil dari cetaan tersebut.
Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek.
Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang
mengoperasikan kumpulan data tersebut. Pengkapsulan adalah mengkombinasian
suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data
baru.
Suatu class dapat diciptakan berdasarkan class lain. Class baru ini mempunyai
sifat-sifat yang sama dengan class pembentunya, ditambah sifat-sifat khusus
lainnya, inilah yang disebut konsep pewarisan. Dengan pewarisan kita dapat
menciptakan class baru yang mempunyai sifat sama dengan class induknya tanpa
menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting
dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar
pertama penggunaan kode ulang (code reuse).
Sifat pewarisan ini menyebabkan class-class dalam pemrograman berorientasi
objek membentuk hirarki class mulai dari class dasar, class turunan pertama, class
turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hiararki class
unggas.
Sebagai class dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan
bersayap. Class turunan pertama adalah Ayam, Burung dan Bebek. Tiga class
turunan ini mewarisi sifat class dasar Unggas yaitu bertelur dan bersayap. Selain
mewarisi sifat class dasar , masing-masing class turunan mempunyai sifat khusus,
seperti Ayam berkokok, Burung terbang dan Bebek berenang. Class Ayam punya
class turunan yaitu Ayam Kampung dan Ayam Hutan. Dua class ini mewarisi
sifat class Ayam yang berkokok. Tetapi dua class juga punya sifat yang berbeda,
yaitu : Ayam Kampung berkokok panjang halus sedangkan Ayam Hutan
berkokok pendek dan kasar.
Superclass, class yang letaknya di atas class tertentu di dalam hierarki.
Subclass, class yang letaknya di bawah class tertentu di dalam hierarki.
Contoh Program Inheritance
Kali ini kita akan membuat sebuah program simple yang menggambarkan konsep
inheritance. Didalam program yang akan dibuat terdapat sebuah base class (class
induk) bernama ORANG_TUA dan dua class turunannya (ANAK_PRIA dan
ANAK_WANITA). Langkah-langkahnya adalah sebagai berikut :
1. Desain proyek baru dan pada form tambahkan objek listbox dan button.
2. Tambahkan class baru dengan nama ORANG_TUA dan ketikkan kode2
program berikut :
Public Class ORANG_TUA‘variabel untuk menampung nama bapak
Private XBapak As String
‘variabel untuk menampung nama ibu
Private XIbu As String
‘property (atribut/informasi) class
Public Property Nama_Bapak() As String
‘Get : hanya ijinkan akses data
Get
Return XBapak
End Get
‘Set : mengijinkan ubah data
Set(ByVal value As String)
XBapak = value
End Set
End Property
‘property (atribut/informasi) class
Public Property Nama_Ibu() As String
Get
Return XIbu
End Get
Set(ByVal value As String)
XIbu = value
End Set
End Property
End Class
3. Tambahkan class baru dengan nama ANAK_WANITA dan ketikan kode2
berikut :
Public Class ANAK_WANITA‘membuat turunan dari base class
Inherits ORANG_TUA
Private XWanita As String
Private XUsia_W As String
Public Property Nama_Wanita() As String
Get
Return XWanita
End Get
Set(ByVal value As String)
XWanita = value
End Set
End Property
Public Property Usia_Wanita() As Byte
Get
Return XUsia_W
End Get
Set(ByVal value As Byte)
XUsia_W = value
End Set
End Property
End Class
4. Tambahkan class baru dan beri nama ANAK_PRIA dan tambahkan kode2
program berikut :
Public Class ANAK_PRIA‘membuat turunan dari base class
Inherits ORANG_TUA
Private XPria As String
Private XUsia_P As String
Public Property Nama_Pria() As String
Get
Return XPria
End Get
Set(ByVal value As String)
XPria = value
End Set
End Property
Public Property Usia_Pria() As Byte
Get
Return XUsia_P
End Get
Set(ByVal value As Byte)
XUsia_P = value
End Set
End Property
End Class
5. Sekarang : buat event click pada objek button1 dan ketikkan kode2 berikut :
Public Class Form1Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim obj_Wanita As New ANAK_WANITA
Dim obj_Pria As New ANAK_PRIA
With obj_Wanita
.Nama_Bapak = “Subandrio”
.Nama_Ibu = “Titi Rukmiati”
.Nama_Wanita = “Nina Ramadani”
.Usia_Wanita = 10
End With
With obj_Pria
.nama_pria = “Kevin Maulana”
.Usia_pria = 6
End With
With ListBox1
.Items.Add(“nama ayah : ” & _
obj_Wanita.Nama_Bapak)
.Items.Add(“nama ibu : ” & _
obj_Wanita.Nama_Ibu)
.Items.Add(“anak wanita : ” & _
obj_Wanita.Nama_Wanita)
.Items.Add(“usia : ” & _
obj_Wanita.Usia_Wanita)
.Items.Add(“anak pria : ” & _
obj_Pria.Nama_Pria)
.Items.Add(“usia : ” & _
obj_Pria.Usia_Pria)
End With
End Sub
End Class
c. Polimorphism ( keaneka ragaman )
Dengan polimorphism kita dapat membuat sebuah objek baru yang menunjukkan
fungsi-fungsi yang sama dengan objek induknya, namun fungsi fungsi yang sama
tersebut memiliki operasi yang berbeda-beda. objek yang masih didalam suatu
hierarki dapat menyusun objek yang lainnya, sesuai dengan kebutuhan dari objek
tersebut, yang artinya pemrograman berorientasi objek ini menyangkup keaneka
ragaman objek yang menjamin terhimpunnya perpaduan keaneka ragaman data
dengan prosedur atau fungsi.
NB: konsep yang menyatakan sesuatu nama yang sama dapat memiliki berbagai
bentuk perilaku yang berbeda.
Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda,
diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika
memilih method yang sesuai untuk diimplementasikan ke objek tertentu
berdasarkan pada subclass yang memiliki method bersangkutan
Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya
adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu
Employee
Contoh polimorpism :
saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya
melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan
latihan untuk merespon kepada mereka dengan perintah lisan. Melalui
polymorphism saya tahu bahwa anjing dan burung akan merespon dengan
gonggongan atau kicauan.