Anda di halaman 1dari 47

Kuliah Kedua

Pemrograman Komputer
dan
Algoritma Pemrograman

2017
1126
89
Bahasa Pemrograman Komputer
1. High Level Language
– Basic
– Fortran
– Visual Basic (VB)
– C++
– Java
– Pascal
– dll
2. Assembly Language
3. Machine Language

Ketiga jenis bahasa pemrograman tersebut mempunyai cara dan fungsi yang
berbeda dalam pengembangan software komputer. Pada materi kuliah ini
hanya akan kita pelajari teknik dasar pembuatan program dengan
menggunakan jenis bahasa pemrograman High Level Language
dengan bahasa pemrograman Visual Basic (VB6) .

2017
1126
89
Contoh Pembuatan Program Dengan Visual Fortran

Salah satu aturan syntax dari bahasa


pemrograman Visual Fortran adalah semua
perintah dituliskan setelah kolom ke 7

2017
1126
89
Pembuatan Program Dengan Visual Basic

Membuat FORMat tampilan

2017
1126
89
Pembuatan Program Dengan Visual Basic

Menuliskan perintah
atau CODE

2017
1126
89
Perbedaan Cara Menulis Program Visual Basic dan
Visual Fortran

VB6 Visual Fortran


A = Val(TextA.Text) Read (5.*) A
B = Val(TextB.Text) Read (5.*) B
C = Val(TextC.Text) Read (5.*) C
D = B^2 – 4*A*C D=B**2-4*A*C
IF D>0 Then IF (D.GT.0) Then
X1 = (-B + (D ^ 0.5)) / (2 * A) X1 = (-B + sqrt(D)) / (2 * A)
X2 = (-B - (D ^ 0.5)) / (2 * A) X2 = (-B - sqrt(D)) / (2 * A)
End if End if

Kedua program di atas bertujuan menghitung harga akar-akar persamaan


kuadrat. Perhatikan perbedaan syntax kedua bahasa pemrograman di
atas.

2017
1126
89
Alur Pembuatan Program

1. Mendefinisikan masalah.
2. Menganalisa dan membuat rumusan pemecahan
masalah.
3. Desain algoritma dan representasi urutan atau
langkah-langkah pemecahan masalah.
4. Pengkodean (pembuatan CODE atau program)
5. Pengujian program. Jika program salah maka ulangi
/kembali ke langkah 3. Jika program benar maka
lanjutkan langkah 6.
6. Dokumentasi program

2017
1126
89
Pembuatan Program Dengan Editor
VB6
1. Menyiapkan FORM atau format tampilan dari program. FORM ini akan
menjadi interface atau pembatas antara pengguna program (user) dengan
mesin komputer. Pada saat program dijalankan maka yang muncul di layar
adalah tampilan dari FORM. FORM berisi perintah-perintah yang harus
dijalankan oleh komputer. Bentuk perintah pada umumnya dapat
berbentuk BUTTON/Keypad atau MENU. Setiap button atau menu dapat
berkomunikasi dengan program komputer. Pada umumnya user tidak
dapat melihat isi dari program (hanya pembuat program /programmer
yang dapat melihat isi dari program). FORM merupakan tempat dimana
user dapat berkomunikasi dengan komputer. Pada saat komunikasi
disamping menggunakan perintah yang ada kadang juga disertai
masukkan atau data yang diperlukan oleh program. Pada FORM juga
dapat ditampilkan gambar atau animasi grafis yang dapat membantu
pengguna dalam menjalankan/memahami fungsi dari program tersebut.

2017
1126
89
Contoh Form untuk program perhitungan reaksi perletakan dan
momen pada balok di atas dua tumpuan menderita satu beban
terpusat

Perintah dalam bentuk MENU

Input
Program

Tampilan grafis untuk


Output membantu menerangkan
Program fungsi dari program

Perintah dalam bentuk BUTTON

2017
1126
89
Pembuatan Program Dengan Editor
VB6

2. Menuliskan program atau CODE. CODE ini dapat dituliskan setelah


pembuat program menyiapkan atau merencanakan semua perintah
yang harus dijalankan oleh komputer. Setiap perintah berhubungan
dengan setiap BUTTON atau MENU yang ada pada FORM. CODE yang
dituliskan harus mempunyai urutan logika yang benar dan harus
mematuhi aturan syntax yang ada pada bahasa VB6. Pada saat
membuat CODE sering ditemui beberapa kesalahan. CODE yang baik
adalah yang dapat mengantisipasi munculnya kesalahan yang
mungkin akan terjadi pada saat program dijalankan.

2017
1126
89
Contoh Form untuk program perhitungan reaksi perletakan dan
momen pada balok di atas dua tumpuan menderita satu beban
terpusat

Setiap perintah dalam bentuk


button dan menu selalu
berhubungan dengan code.
Penulisan code di dalam
program diawali dengan
melakukan “click” pada
semua button dan menu.

2017
1126
89
Contoh 1
Pada contoh ini akan dibahas bagaimana membuat program
untuk menghitung akar-akar persamaan kuadrat :

AX2 + BX + C = 0
Persamaan ini mempunyai maksimum dua akar dan
dapat dihitung dengan dua rumus sebagai berikut:

2 2
B B 4 AC
X1
2A
B 2
B2 4 AC
X2
2A
Untuk melihat bagaimana cara menyelesaikan persoalan di

2017
atas jalankan program “abc2018.exe”

1126
89
Langkah 1 : Pembuatan Form VB

Dua tempat untuk


melihat jawaban yang
diberikan oleh
komputer setelah
data-data
Perintah dalam dimasukkan dan
bentuk BUTTON komputer selesai
(ada dua perintah) menghitung X1 dan
X2

Tiga tempat untuk memasukkan data


Perintah untuk yang diperlukan dan harus dimasukkan
menghitung atau diberikan ke Komputer
harga akar Untuk menghentikan jalannya
program

2017
1126
89
Langkah 2 : Pembuatan Code

Code/Program yang dituliskan


untuk menghitung harga akar-
akar persamaan kuadrat

Code/Program yang dituliskan


untuk menghentikan jalannya
program

2017
1126
89
Bagian penting dari code yang Start
diperlukan untuk menghitung harga
akar terletak pada code yang
INPUT A, B, C
pertama (cmdhitung). Perintah yang
ada di dalam code ini lebih dari satu
perintah. Hitung D
Perintah-perintah tersebut dituliskan
dengan mengacu pada urutan-urutan
logika Hitung X1 dan X2
(alur pikir / FLOWCHART / Bagan Alir /
Algoritma) sebagaimana terlihat
pada gambar di samping yang TULIS X1,X2
menunjukkan proses
perhitungan akar-akar persamaan
kuadrat. Stop

Cmd merupakan kependekan dari command

2017
1126
89
Dengan alur pikir seperti terlihat
Start
pada gambar maka perintah-perintah
yang dapat dituliskan adalah sebagai
berikut: INPUT A, B, C

Private Sub cmdhitung_Click()


A = Val(TextA.Text) Hitung D
B = Val(TextB.Text) INPUT A, B, C
C = Val(TextC.Text)
D=B*B-4*A*C Hitung D
X1 = (-B + (D ^ 0.5)) / (2 * A) Hitung X1 dan X2
Hitung X1 dan X2
X2 = (-B - (D ^ 0.5)) / (2 * A)
TextX1.Text = X1
TextX2.Text = X2 Tulis X1 dan X2
End Sub TULIS X1,X2

Pada saat program ini dijalankan sering muncul kesalahan.


Contoh kesalahan pertama adalah jika nilai A = 0 (nol). Stop
Kesalahan kedua adalah jika nilai D negatif (<0). Komputer
tidak dapat menyelesaikan rumus ABC

2017
1126
89
Langkah 3 : Pengujian Program

Harga A = 0 komputer tidak dapat


memberikan jawaban dengan tepat

2017
1126
89
Langkah 3 : Pengujian Program

Harga D < 0 (negative) komputer tidak


dapat memberikan jawaban dengan
tepat

2017
1126
89
Langkah 3 : Pengujian Program

Perhitungan X1 tidak dapat dilakukan karena


hasil perhitungan nilai D negative

2017
1126
89
Dengan alur pikir seperti terlihat
Start
pada gambar maka komputer tidak
dapat memberikan jawaban dengan
benar (ada kesalahan logika). INPUT A, B, C

Secara umum program komputer


tidak diperkenankan menampilkan Hitung D
output seperti contoh di atas
(runtime error). Jika ada kesalahan
Hitung X1 dan X2
input atau ada kesalahan proses
maka user harus diberi penjelasan
letak kesalahan tersebut.
TULIS X1,X2

Alur pikir seperti terlihat pada


gambar harus dimodifikasi. Akibat
Stop
modifikasi alur pikir akan berdampak
pada penulisan code.

2017
1126
89
Contoh modifikasi urutan- Start
urutan logika
perhitungan akar-akar
INPUT A, B, C
persamaan kuadrat

Y A=0
T

D = B2 – 4 A C

Tulis “Akar X1 dan X2


tidak dihitung” Y T X1 = (-B + D^0.5)/2A
D<0
X2 = (-B - D^0.5)/2A

Tulis “X1 dan X2 Imaginer” Tulis X1, X2, “Harga


Akar Dapat Dihitung”

Stop

2017
1126
89
Penulisan Program VB

Pengembangan Code/Program
yang dituliskan untuk
menghitung harga akar-akar
persamaan kuadrat dengan
memasukkan kontrol jika nilai A
= nol dan nilai D <0

2017
1126
89
Penulisan Program VB

Penghentian jalannya program

2017
1126
89
Private Sub cmdhitung_Click()
A = Val(TextA.Text)
B = Val(TextB.Text) Input / Pemasukan data
C = Val(TextC.Text)
If A = 0 Then
TextX1.Text = ""
TextX2.Text = ""
Textket.Text = "Harga A tidak boleh = 0, X1 dan X2
tidak dihitung"
Else
D=B*B-4*A*C Proses /
If D < 0 Then Perhitungan
TextX1.Text = ""
TextX2.Text = ""
Textket.Text = "Harga D < 0, X1 dan X2 imaginer"
Else
X1 = (-B + (D ^ 0.5)) / (2 * A)
X2 = (-B - (D ^ 0.5)) / (2 * A)
TextX1.Text = X1
TextX2.Text = X2 Output /
Textket.Text = "Harga Akar-Akar dapat dihitung" Penulisan Hasil
End If
End If
End Sub

2017
1126
89
Private Sub cmdhitung_Click()
A = Val(TextA.Text)
B = Val(TextB.Text)
C = Val(TextC.Text)
If A = 0 Then
TextX1.Text = ""
TextX2.Text = "" Jika A = 0
Textket.Text = "Harga A tidak boleh = 0, X1 dan X2
tidak dihitung"
Else
D=B*B-4*A*C
If D < 0 Then
TextX1.Text = ""
TextX2.Text = ""
Textket.Text = "Harga D < 0, X1 dan X2 imaginer"
Else
Jika A#0
X1 = (-B + (D ^ 0.5)) / (2 * A)
X2 = (-B - (D ^ 0.5)) / (2 * A)
TextX1.Text = X1
TextX2.Text = X2
Textket.Text = "Harga Akar-Akar dapat dihitung"
End If
End If
End Sub

2017
1126
89
Private Sub cmdhitung_Click()
A = Val(TextA.Text)
B = Val(TextB.Text)
C = Val(TextC.Text)
If A = 0 Then
TextX1.Text = ""
TextX2.Text = ""
Textket.Text = "Harga A tidak boleh = 0, X1 dan X2 tidak dihitung"
Else
D=B*B-4*A*C
If D < 0 Then
TextX1.Text = ""
TextX2.Text = ""
Textket.Text = "Harga D < 0, X1 dan X2 imaginer" Jika D < 0
Else
X1 = (-B + (D ^ 0.5)) / (2 * A)
X2 = (-B - (D ^ 0.5)) / (2 * A)
TextX1.Text = X1
TextX2.Text = X2 Jika D≥0
Textket.Text = "Harga Akar-Akar dapat dihitung"
End If
End If
End Sub

2017
1126
89
Private Sub cmdselesai_Click() Code untuk
Unload Me menghentikan
End Sub jalannya program

Untuk melihat bagaimana cara menyelesaikan persoalan di


atas jalankan program “abc2018b.exe”

2017
1126
89
Penulisan Program VB

Contoh Syntax Error

2017
1126
89
Penulisan Program VB

Penulisan sudah
benar, tetapi fungsi
dari perintah VALUE
tidak ada pada
aturan syntax VB6

2017
1126
89
Penulisan Program VB

Contoh input yang benar


akan menghasilkan output
yang benar.

2017
1126
89
Penulisan Program VB

Contoh Input yang salah


akan menghasilkan
output yang yang salah
(nilai D < 0 tidak
menghasilkan akar
persamaan)

2017
1126
89
Penulisan Program VB

Contoh Logical Error akibat kesalahan


pada penulisan perintah
(kesalahan prinsip matematis).

2017
1126
89
Pada contoh ini akan disampaikan proses
Contoh 2 pembuatan program untuk menghitung Reaksi
Perletakan dan Momen Pada Balok Statis Tertentu
P

A B

RA RB
A

RA = P * (L - A) / L Untuk menghitung RA dan RB maka


diperlukan tiga input P, L dan A
RB = P * A / L
Untuk menghitung MX
Jika x < A maka MX = RA * x diperlukan harga RA dan x.
Jika x ≥ A maka MX = RA * x - P * (x - A) Karena nilai x tidak dihitung
maka nilai x menjadi input dari
program

2017
1126
89
Contoh 2
P

A B

RA RB
A

Jalankan program “reaksi.exe”.Program ini mempunyai dua


bentuk perintah.
Bentuk perintah 1 ditampilkan dalam bentuk dua “BUTTON (Button
Command)”.
Bentuk Perintah ke 2 ditampilkan dalam bentuk dua “MENU (Menu
Command)”.

2017
1126
89
Contoh 2
P

A B

RA RB
A

Perbedaan penggunaan Command dan Menu adalah pada saat


komputer memberikan jawaban atau output terhadap masukkan
atau input dari user. Perintah command memberikan contoh
tentang program yang salah (logical error) pada saat
memasukkan input salah. Dengan perintah ini selalu ada jawaban
untuk setiap masukkan. Sedangkan perintah menu memberikan
jawaban jika inputnya benar. Jika input salah maka komputer
tidak memberikan jawaban.

2017
1126
89
Alur pikir / flowchart untuk menyelesaikan persoalan ini:
Start

Input L, P, A, X

RA = P*(L-A)/L
RB = P*A/L Jika X<=a lakukan
Jika X>a lakukan perintah perintah
T Y
X <= A

MX=RA*X-P*(X-A) MX=RA*X

Tulis RA, RB, Mx

Stop

2017
1126
89
Contoh Perhitungan Reaksi Perletakan dan Momen Pada
Balok Statis Tertentu

2017
1126
89
Contoh Perhitungan Reaksi Perletakan dan Momen Pada
Balok Statis Tertentu

2017
1126
89
Contoh Perhitungan Reaksi Perletakan dan Momen
Dijalankan dengan menggunakan Button Command
Private Sub CmdHitung_Click()
L = Val(TextL.Text)
P = Val(TextP.Text)
A = Val(TextA.Text)
x = Val(TextX.Text)
RA = P * (L - A) / L
RB = P * A / L
If (x <= A) Then
MX = RA * x
Else
MX = RA * x - P * (x - A)
End If
txtra.Text = RA
txtrb.Text = RB
TextMomenP.Text = RA * A
TextMomenX.Text = MX
End Sub

2017
1126
89
Program ini akan menghasilkan output yang tidak benar.
Berapapun nilai L, P, A dan X selalu akan menghasilkan nilai RA, RB
dan Momen

Contoh Logical Error


input data salah tetapi tetap
memberikan output
(kesalahan prinsip matematis).

2017
1126
89
Contoh Perhitungan Reaksi Perletakan dan Momen Pada
Balok Statis Tertentu
Private Sub CmdHitung_Click()
L = Val(TextL.Text)
P = Val(TextP.Text) Berapapun nilai L, P, A dan X
A = Val(TextA.Text) yang dimasukkan tetap akan
x = Val(TextX.Text) menghitung RA, RB dan MX
RA = P * (L - A) / L (logical error).
RB = P * A / L
If (x <= A) Then
MX = RA * x
Else Program ini harus
MX = RA * x - P * (x - A) dimodifikasi atau
End If diperbaiki.
txtra.Text = RA
txtrb.Text = RB
TextMomenP.Text = RA * A
TextMomenX.Text = MX

2017
1126
End Sub

89
Modifikasi Alur pikir / flowchart untuk Start

menyelesaikan persoalan ini:


Input L, P, A, X

Y
A<0 OR A>L

X<0 OR X>L Y

RA = P*(L-A)/L
RB = P*A/L

Y T
X >= A

MX=RA*X-P*(X-A) MX=RA*X

Tulis RA, RB, Mx

2017
Stop

1126
89
Modifikasi Program Perhitungan Reaksi Perletakan dan Momen
Pada Balok Statis Tertentu (menggunakan Menu Command)
Private Sub mnuhitung_Click()
L = Val(TextL.Text)
P = Val(TextP.Text)
A = Val(TextA.Text)
x = Val(TextX.Text)
Private Sub mnuhitung_Click()
If A > L Or A < 0 Then
txtra.Text = ""
txtrb.Text = ""
TextMomenP.Text = ""
TextMomenX.Text = ""
Text1.Text = "Input salah ulangi memasukkan data"
GoTo 100
End If

If x > L Or x < 0 Then


txtra.Text = ""
txtrb.Text = ""
TextMomenP.Text = ""
TextMomenX.Text = ""
Text1.Text = "Input salah ulangi memasukkan data"
GoTo 100
End If

RA = P * (L - A) / L
RB = P * A / L
If (x <= A) Then
MX = RA * x
Else
MX = RA * x - P * (x - A)
End If
Text1.Text = "Input benar"
txtra.Text = RA
txtrb.Text = RB
TextMomenP.Text = RA * A
TextMomenX.Text = MX
100

2017
End Sub

1126
89
Modifikasi Program Perhitungan Reaksi Perletakan dan Momen
Pada Balok Statis Tertentu (menggunakan Menu Command)
Private Sub mnuhitung_Click()
L = Val(TextL.Text)
P = Val(TextP.Text)
A = Val(TextA.Text)
x = Val(TextX.Text)

If A > L Or A < 0 Then


txtra.Text = ""
txtrb.Text = ""
Jika input A > L atau A < 0
TextMomenP.Text = ""
TextMomenX.Text = "" (melompat ke perintah
Text1.Text = "Input salah ulangi memasukkan data" dengan label 100)
label
100

GoTo 100
End If

If x > L Or x < 0 Then


txtra.Text = ""
txtrb.Text = "" Jika input x > L atau x < 0
TextMomenP.Text = ""
TextMomenX.Text = ""
(melompat ke perintah
Text1.Text = "Input salah ulangi memasukkan data" dengan label 100)
Label
100

GoTo 100
End If

2017
1126
89
Modifikasi Program Perhitungan Reaksi Perletakan dan Momen
Pada Balok Statis Tertentu (Gunakan Menu Command)

If x > L Or x < 0 Then


txtra.Text = ""
txtrb.Text = "" Jika input A > L atau A < 0
TextMomenP.Text = "" (melompat ke perintah
TextMomenX.Text = "" dengan label 100)
Text1.Text = "Input salah ulangi memasukkan data"
GoTo 100
End If

RA = P * (L - A) / L
RB = P * A / L
label 100

If (x <= A) Then
MX = RA * x Jika input A dan x salah
Else
MX = RA * x - P * (x - A)
maka semua perintah ini
End If akan dilompati atau tidak
Text1.Text = "Input benar"
txtra.Text = RA
dikerjakan oleh komputer
txtrb.Text = RB
TextMomenP.Text = RA * A
TextMomenX.Text = MX
100 End Sub
Posisi label 100 terletak setelah perhitungan RA, RB dan Mx.

2017
1126
89
Private Sub mnuhitung_Click()
------------------------
If A > L Or A < 0 Then
-------------------------
GoTo 100
End If

If x > L Or x < 0 Then


---------------------------
GoTo 100
End If

RA = P * (L - A) / L Besarnya reaksi
RB = P * A / L
If (x <= A) Then perletakan dan Momen
MX = RA * x tidak akan pernah
Else dihitung selama input A
MX = RA * x - P * (x - A) dan input X salah
End If
-------------------------------
100 End Sub

2017
1126
89
Private Sub CmdHitung_Click() Private Sub mnuhitung_Click()
------------------------ ------------------------
Input L,P,A,X If A > L Or A < 0 Then
------------------------- -------------------------
Hitung RA dan RB GoTo 100
--------------------------- End If
If (x <= A) Then
MX = RA * x If x > L Or x < 0 Then
Else ---------------------------
MX = RA * x - P * (x - A) GoTo 100
End If End If
100 End Sub
RA = P * (L - A) / L
RB = P * A / L
If (x <= A) Then
MX = RA * x
Else
MX = RA * x - P * (x - A)
End If
100 End Sub
Perhatikan perbedaan antara Button Command dan Menu Command

2017
1126
89