Anda di halaman 1dari 24

LAPORAN SEMENTARA

PRAKTIKUM PEMROGRAMAN KOMPUTER


BAB VII
PROCEDURE, FUNCTION, DAN MODULAR

Disusun oleh:
PLUG A

MUHAMMAD HASBY ASHIDDIEQI


122220010

LABORATORIUM KOMPUTASI
PROGRAM STUDI TEKNIK INDUSTRI
JURUSAN TEKNIK INDUSTRI
FAKULTAS TEKNIK INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
YOGYAKARTA
2023
LEMBAR ORISINALITAS

Saya yang bertanda tangan di bawah ini:

Nama : Muhammad Hasby Ashiddieqi


NPM : 122220010

menyatakan bahwa Laporan Praktikum Pemrograman Komputer Bab VII ini


merupakan hasil karya saya sendiri.
Apabila pernyataan ini terbukti tidak benar, saya bersedia untuk
mempertanggungjawabkan dan menerima sanksi sesuai hukum yang berlaku.

Demikian pernyataan ini saya buat dengan sebenar-benarnya dan tanpa paksaan
dari pihak manapun.

Yogyakarta, 15 April 2023


Yang menyatakan

Muhammad Hasby Ashiddieqi


122220010
BAB VII
PROCEDURE, FUNCTION, DAN MODULAR

7.1 Tujuan Praktikum


Tujuan Praktikum pada Bab VII ini adalah:
1. Memahami dan mengenali Procedure, Function dan Module.
2. Membuat aplikasi sederhana dengan menggunakan Procedure, Function,
dan Module.

7.2 Dasar Teori


7.2.1 Procedure
Sub procedure merupakan blok kode yang mempunyai nama dan berisi
perintah yang dapat dipanggil suatu waktu. Artinya, hanya sekali dibuat yang
kemudian di panggil berkali-kali sesuai dengan kebutuhan. Pemanggilan procedure
yang masih dalam satu kelas atau modul dapat dilakukan dengan kata kunci Me.
Procedure dapat menerima argument melalui nilai atau juga reference. Jika
menggunakan by value, nilai pada argument tidak berubah. Sedangkan jika
menggunakan by reference, nilai argument yang digunakan dapat berubah sesuai
dengan perintah dalam procedure. Procedure dalam Visual Basic adalah blok kode
yang melakukan tugas tertentu. Anda dapat mendefinisikan procedure sebagai Sub
procedure, yang melakukan tugas tetapi tidak mengembalikan nilai, atau Function
procedure, yang melakukan tugas dan mengembalikan nilai (Thakur, 2020).
7.2.2 Function
Fungsi mempunyai banyak kemiripan dengan sub procedure. Bedanya,
fungsi selalu mengembalikan nilai. Perbedaan antara fungsi dengan procedure
hanyalah pada pengembalian nilai saja (return value). Contohnya menggunakan
argument berupa nilai (by value) dan reference (by reference). Function adalah jenis
subroutine yang melakukan tugas tertentu dan mengembalikan nilai. Anda dapat
melewatkan parameter ke function untuk memberikan informasi yang diperlukan
untuk menjalankan tugasnya (Tavakoli, 2018).

Laporan Praktikum Pemrograman Komputer 2023 VII-3


7.2.3 Module
Modul merupakan bagian yang sengaja dipisahkan untuk memudahkan
pemrograman. Dalam module dapat dimasukkan procedure dan fungsi dan
kemudian digunakan oleh beberapa form. Umumnya modul dideklarasikan secara
public agar dapat digunakan di dalam kode dimanapun. Module dalam Visual Basic
digunakan untuk mengelompokkan kode yang terkait bersama-sama, terpisah dari
bagian lain dari kode anda. Hal ini membantu membuat kode anda lebih terorganisir
dan lebih mudah dipelihara. Anda dapat menggunakan module untuk
mendefinisikan prosedur, fungsi, dan variabel yang dapat diakses dari mana saja
dalam aplikasi anda (Brown, 2019).

Laporan Praktikum Pemrograman Komputer 2023 VII-4


7.3 Flowchart
Berikut ini merupakan gambar flowchart car vector serrvice dapat dilihat
pada Gambar 7.1.

Gambar 7.1 flowchart Car Vector Service

Laporan Praktikum Pemrograman Komputer 2023 VII-5


7.4 Form
7.4.1 Form Pengisisan Data
Form pengisian data yang berguna untuk memasukkan data pelanggan dan
mobil di car vector service dapat dilihat pada gambar 7.2.

Gambar 7.2 form pengisisan data


Properties toolbox form pengisisan data dapat dilihat pada Tabel 7.1
Tabel 7.1 Properties toolbox form pengisisan data
Object Properties Nilai
Name Form1
Form1 BackgroundImage System.Drawing.Bitmap
Text PENGISIAN DATA
Name Label1
Label1 Font Microsoft Sans Serif, 7,8 pt
Text Nama
Name Label2
Font Microsoft Sans Serif, 10 pt
Label2 Text CAR VECTOR
SERVICE
Name Label3
Label3 Font Microsoft Sans Serif, 7,8 pt
Text No. Telp
Name Label4
Label4 Font Microsoft Sans Serif, 7,8 pt
Text No. Plat

Laporan Praktikum Pemrograman Komputer 2023 VII-6


Tabel 7.1 Properties toolbox form pengisisan data (lanjutan)
Object Properties Nilai
Name Label5
Label5 Font Microsoft Sans Serif, 7,8 pt
Text Merk Mobil
Name Label6
Label6 Font Microsoft Sans Serif, 7,8 pt
Text Nama Mobil
Name Label7
Label7 Font Microsoft Sans Serif, 7,8 pt
Text Part Kerusaan
Name Label8
Label8 Font Microsoft Sans Serif, 7,8 pt
Text Jenis Kerusakan
TextBox1 Name txtnama
TextBox2 Name txttelp
TextBox3 Name txtplat
Name cmbmerk
ComboBox1
DropDownStyle DropDownList
Name cmbnama
ComboBox2
DropDownStyle DropDownList
Name cmbpartkerusakan
ComboBox3
DropDownStyle DropDownList
Name cmbjeniskerusakan
ComboBox4
DropDownStyle DropDownList
Name btndelete
Button1
Text DELETE
Name btnanalisis
Button2
Text TOTAL HARGA
PictureBox1 Name PictureBox1
PictureBox2 Name PictureBox2

Laporan Praktikum Pemrograman Komputer 2023 VII-7


7.4.2 Form Analisis Kerusakan
Form analisiss kerusakan yang berguna untuk melihat analisis kerusakan
jasa dapat dilihat pada gambar 7.3.

Gambar 7.3 form analisis kerusakan


Properties toolbox form pengisisan data dapat dilihat pada Tabel 7.2
Tabel 7.2 Properties toolbox form analisis kerusakan
Object Properties Nilai
Name Form2
BackgroundImage System.Drawing.Bitmap
Form2 Text ANALISIS
KERUSAKAN
Name Label1
Font Microsoft Sans Serif, 10 pt
Label1
Text ANALISIS
KERUSAKAN JASA
Name Label2
Label2 Font Microsoft Sans Serif, 7,8 pt
Text Penyebab Kerusakaan
Name Label3
Label3 Font Microsoft Sans Serif, 7,8 pt
Text Solusi Kerusakan
Name Label4
Label4 Font Microsoft Sans Serif, 7,8 pt
Text Jenis Jasa
Name Label5
Label5 Font Microsoft Sans Serif, 7,8 pt
Text Harga

Laporan Praktikum Pemrograman Komputer 2023 VII-8


Tabel 7.2 Properties toolbox form analisis kerusakan (lanjutan)
Object Properties Nilai
TextBox1 Name txtpenyebab
TextBox2 Name txtsolusi
TextBox3 Name txtjenisjasa
TextBox4 Name txthargajasa
TextBox5 Name txttotaljasa
TextBox6 Name txtpajak
TextBox7 Name txtppn
Name btntotaljasa
Button1
Text TOTAL BIAYA JASA
Name btnpajak
Button2
Text PAJAK
Name btnnext
Button3
Text NEXT

7.4.3 Form Analisis Sparepart


Form analisiss sparepart yang berguna untuk melihat analisis kerusakan jasa
dapat dilihat pada gambar 7.4.

Gambar 7.4 form analisis sparepart


Properties toolbox form pengisisan data dapat dilihat pada Tabel 7.3
Tabel 7.3 Properties toolbox form analisis sparepart
Object Properties Nilai
Name Form3
Form3 BackgroundImage System.Drawing.Bitmap
Text ANALISIS SPAREPART

Laporan Praktikum Pemrograman Komputer 2023 VII-9


Tabel 7.3 Properties toolbox form analisis sparepart (lanjutan)
Object Properties Nilai
Name Label1
Label1 Font Microsoft Sans Serif, 10 pt
Text ANALISIS SPAREPART
Name Label2
Label2 Font Microsoft Sans Serif, 7,8 pt
Text Penyebab Kerusakaan
TextBox1 Name txtsparepart
TextBox2 Name txthargapart
TextBox3 Name txttotalsparepart
TextBox4 Name txtpajak
TextBox5 Name txtppn
TextBox6 Name txttotal
TextBox7 Name txtuang
TextBox8 Name txtkembalian
Name btnpajak
Button1
Text NEXT
Name btntotalsparepart
Button2
Text NEXT
Name
Button3 btntotalNEXT
Text
Name btnkembalian
Button4
Text NEXT
Name btnnext
Button5
Text NEXT

7.4.4 Form Print Struk Pembayaran


Form print struk pembayaran yang berguna untuk melihat detail servis dapat
dilihat pada gambar 7.5.

Gambar 7.5 form print struk pembayaran

Laporan Praktikum Pemrograman Komputer 2023 VII-10


Properties toolbox form print struk pembayaran dapat dilihat pada Tabel 7.4
Tabel 7.4 Properties toolbox form print struk pembayaran
Object Properties Nilai
Name Form4
BackgroundImage System.Drawing.Bitmap
Form4 Text PRINT STRUK
PEMBAYARAN
ListBox1 Name lbstruk
Name btnprint
Button1
Text PRINT
PictureBox1 Name PictureBox1

7.5 Listing Program


7.5.1 Listing Program Module
Module Module1
Public A As Integer
Public B As Integer
Function jumlah() As Integer
jumlah = A + B
End Function
Function kali() As Integer
kali = A * B
End Function
Function kurang() As Integer
kurang = A - B
End Function
Sub reset()
MessageBox.Show("Data halaman ini akan terhapus",
"Pemberitahuan", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Sub pesan1()
MessageBox.Show("data belum terisi semua", "Pemberitahuan",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

Laporan Praktikum Pemrograman Komputer 2023 VII-11


Sub pesan2()
MessageBox.Show("Data berhasil diinput!", "Konfirmasi",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
End Module

7.5.2 Listing Program Form Pengisisan Data


Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dim merk() As String = {"Hyundai", "Honda", "Toyota", "Daihatsu",
"Bugati"}
For Each nmerk As String In merk
cmbmerk.Items.Add(nmerk)
Next
Dim partkerusakan() As String = {"Engine", "Electrical"}
For Each npartkerusakan As String In partkerusakan
cmbpartkerusakan.Items.Add(npartkerusakan)
Next
txtnama.Focus()
End Sub

Private Sub txtnama_KeyPress(sender As Object, e As


KeyPressEventArgs) Handles txtnama.KeyPress
Dim keyascii As Short = Asc(e.KeyChar)
If (e.KeyChar Like "[A-Z, a-z]") OrElse keyascii = Keys.Back Then
keyascii = 0
Else
e.Handled = CBool(keyascii)
End If
End Sub

Laporan Praktikum Pemrograman Komputer 2023 VII-12


Private Sub txttelp_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txttelp.KeyPress
If Not Char.IsNumber(e.KeyChar) AndAlso Not
Char.IsControl(e.KeyChar) Then
e.Handled = True
End If
End Sub

Private Sub cmbpartkerusakan_SelectedIndexChanged(sender As


Object, e As EventArgs) Handles
cmbpartkerusakan.SelectedIndexChanged
If cmbpartkerusakan.Text = "Engine" Then
cmbjeniskerusakan.Items.Clear()
cmbjeniskerusakan.Text = ""
cmbjeniskerusakan.Items.Add("Suara mesin berisik atau kasar")
cmbjeniskerusakan.Items.Add("Mesin sulit menyala saat dingin")
ElseIf cmbpartKerusakan.Text = "Electrical" Then
cmbjeniskerusakan.Items.Clear()
cmbjeniskerusakan.Text = ""
cmbjeniskerusakan.Items.Add("gangguan pada lampu mobil")
cmbjeniskerusakan.Items.Add("ganguan aki mobil")
End If
End Sub

Private Sub btndelete_Click(sender As Object, e As EventArgs)


Handles btndelete.Click
Call reset()
txtnama.Text = ""
txttelp.Text = ""
txtplat.Text = ""

Laporan Praktikum Pemrograman Komputer 2023 VII-13


cmbmerk.SelectedIndex = -1
cmbnama.SelectedIndex = -1
cmbpartkerusakan.SelectedIndex = -1
cmbjeniskerusakan.SelectedIndex = -1
End Sub

Private Sub cmbmerk_SelectedIndexChanged(sender As Object, e As


EventArgs) Handles cmbmerk.SelectedIndexChanged
If cmbmerk.Text = "Hyundai" Then
cmbnama.Items.Clear()
cmbnama.Text = ""
cmbnama.Items.Add("palisade")
cmbnama.Items.Add("Creta")
cmbnama.Items.Add("Stragazer")
ElseIf cmbmerk.Text = "Honda" Then
cmbnama.Items.Clear()
cmbnama.Text = ""
cmbnama.Items.Add("H-RV")
cmbnama.Items.Add("CRV")
cmbnama.Items.Add("Jazz")
cmbnama.Items.Add("Brio")
cmbnama.Items.Add("Civic")
ElseIf cmbmerk.Text = "Toyota" Then
cmbnama.Items.Clear()
cmbnama.Text = ""
cmbnama.Items.Add("Avanza")
cmbnama.Items.Add("Fortuner")
cmbnama.Items.Add("Inova")
cmbnama.Items.Add("Rush")
ElseIf cmbmerk.Text = "Daihatsu" Then
cmbnama.Items.Clear()

Laporan Praktikum Pemrograman Komputer 2023 VII-14


cmbnama.Text = ""
cmbnama.Items.Add("Sigra")
cmbnama.Items.Add("Xenia")
cmbnama.Items.Add("Terios")
ElseIf cmbmerk.Text = "Bugati" Then
cmbnama.Items.Clear()
cmbnama.Text = ""
cmbnama.Items.Add("Veyron")
cmbnama.Items.Add("Chiron")
cmbnama.Items.Add("Centodieci")
End If
End Sub

Private Sub btnanalisis_Click(sender As Object, e As EventArgs)


Handles btnanalisis.Click
If cmbjeniskerusakan.Text = ("Suara mesin berisik atau kasar") Then
Form2.txtpenyebab.Text = "Kualitas bahan bakar jelek dan Ruang
bakar Engine kotor"
Form2.txtsolusi.Text = "ganti kompresor dan ganti oli dengan
oktan tinggi"
Form2.txtjenisjasa.Text = "Analisa Engine dan Engine"
Form3.txtsparepart.Text = "Kompresor"
Form3.txthargapart.Text = "2000000"
Form2.txthargajasa.Text = "220000"
ElseIf cmbjeniskerusakan.Text = ("Mesin sulit menyala saat dingin")
Then
Form2.txtpenyebab.Text = "Karburator dan Altenator bermasalah"
Form2.txtsolusi.Text = "Ganti komponen yang baru"
Form2.txtjenisjasa.Text = "TuneUp dan Engine"
Form3.txtsparepart.Text = "karburato dan altenatorr"
Form3.txthargapart.Text = "3000000"

Laporan Praktikum Pemrograman Komputer 2023 VII-15


Form2.txthargajasa.Text = "380000"
ElseIf cmbjeniskerusakan.Text = ("gangguan pada lampu mobil")
Then
Form2.txtpenyebab.Text = "Kondisi sikring putus"
Form2.txtsolusi.Text = "Ganti sikring"
Form2.txtjenisjasa.Text = "TuneUp dan Electrical"
Form3.txtsparepart.Text = "Lampu"
Form3.txthargapart.Text = "270000"
Form2.txthargajasa.Text = "100000"
ElseIf cmbjeniskerusakan.Text = ("ganguan aki mobil") Then
Form2.txtpenyebab.Text = "Komponen bagian dalam yang kotor"
Form2.txtsolusi.Text = "Ganti komponen yang baru"
Form2.txtjenisjasa.Text = "TuneUp dan Engine"
Form3.txtsparepart.Text = "Aki mobil"
Form3.txthargapart.Text = "1200000"
Form2.txthargajasa.Text = "200000"
End If
If txtplat.Text = "" Or txtnama.Text = "" Or txttelp.Text = "" Then
Call pesan1()
Else
Call pesan2()
Form2.Show()
Me.Hide()
End If
End Sub
End Class

7.5.3 Listing Program Form Analisis Kerusakan


Public Class Form2
Private Sub btntotaljasa_Click(sender As Object, e As EventArgs)
Handles btntotaljasa.Click

Laporan Praktikum Pemrograman Komputer 2023 VII-16


If txtjenisjasa.Text = "" Then
Call pesan1()
Else
A = txtpajak.Text
B = txthargajasa.Text
txttotaljasa.Text = jumlah()
End If
End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles


btnnext.Click
If txttotaljasa.Text = "" Or txtpajak.Text = "" Then
Call pesan1()
Else
Call pesan2()
Form3.Show()
Me.Hide()
End If
End Sub

Private Sub btnpajak_Click(sender As Object, e As EventArgs) Handles


btnpajak.Click
A = txthargajasa.Text
B = txtppn.Text
txtpajak.Text = kurang()
End Sub
End Class

Laporan Praktikum Pemrograman Komputer 2023 VII-17


7.5.4 Listing Program Form Analisis Sparepart
Public Class Form3
Private Sub btnnext_Click(sender As Object, e As EventArgs) Handles
btnnext.Click
If txttotalsparepart.Text = "" Or txtpajak.Text = "" Then
Call pesan1()
Else
Call pesan2()
Form4.Show()
Me.Hide()
End If
End Sub

Private Sub btntotalsparepart_Click(sender As Object, e As EventArgs)


Handles btntotalsparepart.Click
If txtppn.Text = "" Then
Call pesan1()
Else
A = txtpajak.Text
B = txthargapart.Text
txttotalsparepart.Text = jumlah()
End If
End Sub

Private Sub btntotal_Click(sender As Object, e As EventArgs) Handles


btntotal.Click
A = Form2.txttotaljasa.Text
B = txttotalsparepart.Text
txttotal.Text = jumlah()
End Sub

Laporan Praktikum Pemrograman Komputer 2023 VII-18


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
btnkembalian.Click
A = txtuang.Text
B = txttotal.Text
txtkembalian.Text = kurang()
End Sub

Private Sub txtuang_KeyPress(sender As Object, e As


KeyPressEventArgs) Handles txtuang.KeyPress
If Not Char.IsNumber(e.KeyChar) AndAlso Not
Char.IsControl(e.KeyChar) Then
e.Handled = True
End If
End Sub

Private Sub btnpajak_Click(sender As Object, e As EventArgs) Handles


btnpajak.Click
A = txthargapart.Text
B = txtppn.Text
txtpajak.Text = kurang()
End Sub
End Class

7.5.5 Listing Program Form Print Struk Pembayaran


Public Class Form4
Dim Nama As String = Form1.txtnama.Text
Dim Notelp As String = Form1.txttelp.Text
Dim Plat As String = Form1.txtplat.Text
Dim Merkmobil As String = Form1.cmbmerk.Text
Dim Namamobil As String = Form1.cmbnama.Text
Dim Partkerusakan As String = Form1.cmbpartkerusakan.Text

Laporan Praktikum Pemrograman Komputer 2023 VII-19


Dim Jeniskerusakan As String = Form1.cmbjeniskerusakan.Text
Dim Penyebabkerusakan As String = Form2.txtpenyebab.Text
Dim Solusikerusakan As String = Form2.txtsolusi.Text
Dim Jenisjasa As String = Form2.txtjenisjasa.Text
Dim Hargajasa As String = Form2.txthargajasa.Text
Dim Sparepart As String = Form3.txtsparepart.Text
Dim Hargapart As String = Form3.txthargapart.Text
Dim Totaljasa As String = Form2.txttotaljasa.Text
Dim Totalpart As String = Form3.txttotalsparepart.Text
Dim Totalbiaya As String = Form3.txttotal.Text
Dim Bayarr As String = Form3.txtuang.Text
Dim Kembalian As String = Form3.txtkembalian.Text
Dim pajak1 As String = Form2.txtpajak.Text
Dim pajak2 As String = Form3.txtpajak.Text
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles
Me.Load
lbstruk.Items.Add(Nama)
lbstruk.Items.Add("Nomor telp = " & Notelp)
lbstruk.Items.Add("Nomor Plat = " & Plat)
lbstruk.Items.Add("Merk = " & Merkmobil)
lbstruk.Items.Add("Nama Mobil = " & Namamobil)
lbstruk.Items.Add("Part kerusakan = " & Partkerusakan)
lbstruk.Items.Add("Jenis Kerusakan = " & Jeniskerusakan)
lbstruk.Items.Add("Penyebab Kerusakan = " & Penyebabkerusakan)
lbstruk.Items.Add("Solusi Kerusakan = " & Solusikerusakan)
lbstruk.Items.Add("Jenis Jasa = " & Jenisjasa)
lbstruk.Items.Add("Harga Jasa = " & Hargajasa)
lbstruk.Items.Add("Sparepart = " & Sparepart & "Rp." & Hargapart)
lbstruk.Items.Add("====================================
==================")
lbstruk.Items.Add("Biaya Jasa = " & Totaljasa)

Laporan Praktikum Pemrograman Komputer 2023 VII-20


lbstruk.Items.Add("Biata Sparepart = " & Totalpart)
lbstruk.Items.Add("Pajak = " & pajak1 & "+" & pajak2)
lbstruk.Items.Add("Biaya keseluruhan = " & Totalbiaya)
lbstruk.Items.Add("Uang Yang di Bayar = " & Bayarr)
lbstruk.Items.Add("kembalian = " & "Rp." & Kembalian)
End Sub

Private Sub btnprint_Click(sender As Object, e As EventArgs) Handles


btnprint.Click
PrintDocument1.Print()
End Sub
End Class

7.6 Running Program


7.6.1 Running Program Form Pengisisan Data
Berikut merupakan running program form pengisian data dapat dilihat pada
Gambar 7.6 dibawah ini.

Gambar 7. Running program form pengisisan data

Laporan Praktikum Pemrograman Komputer 2023 VII-21


7.6.2 Running Program Form Analisis Kerusakan
Berikut merupakan running program form analisis kerusakan dapat dilihat
pada Gambar 7.6 dibawah ini.

Gambar 7.6 Running program form analisis kerusakan

7.6.3 Running Program Form Analisis Sparepart


Berikut merupakan running program form analisis sparepart dapat dilihat
pada Gambar 7.7 dibawah ini.

Gambar 7.7 Running program form analisis sparepart

Laporan Praktikum Pemrograman Komputer 2023 VII-22


7.6.4 Running Program Form Print Struk Pembayaraan
Berikut merupakan running program form print struk pembayaran dapat
dilihat pada Gambar 7.8 dibawah ini.

Gambar 7.8 Running program form print struk pembayaran

Laporan Praktikum Pemrograman Komputer 2023 VII-23


DAFTAR PUSTAKA

Brown, S. (2019). Programming with Microsoft Visual Basic 2017. Cengage


Learning.
Tavakoli, A. (2018). Learn Visual Basic: A Step-By-Step Programming Tutorial.
Independently published.
Thakur, A. (2020). Visual Basic 6 Programming Black Book. Dreamtech Press.

Anda mungkin juga menyukai