Anda di halaman 1dari 177

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN

UNIVERSITAS BRAWIJAYA
FAKULTAS TEKNIK
JURUSAN TEKNIK MESIN
MALANG

LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER


LABORATORIUM KOMPUTER FT-UB

Disusun oleh :
Kelompok 04
Yoga Pristiawan Hartanto NIM. 195060200111012
Rifqi Ardi Pratama NIM. 195060200111013
Octafian Pramana Ramadani NIM. 195060201111011
Iba Durrahman NIM. 195060201111013
Yogi Tri Gunawan Purba NIM. 195060201111016
Mohamad Fido NIM. 195060207111009
Muhammad Hanif Dzakwan NIM. 195060207111010
I Gde Made Vishnu Visvananda NIM. 195060207111014

Semester Genap
Tahun Ajaran 2019 / 2020

i
LEMBAR PERSETUJUAN
LAPORAN PRAKTIKUM SEMESTER GENAP 2019/2020
LABORATORIUM KOMPUTER
JURUSAN TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG

Disusun oleh :
Kelompok 04
Yoga Pristiawan Hartanto NIM. 195060200111012
Rifqi Ardi Pratama NIM. 195060200111013
Octafian Pramana Ramadani NIM. 195060201111011
Iba Durrahman NIM. 195060201111013
Yogi Tri Gunawan Purba NIM. 195060201111016
Mohamad Fido NIM. 195060207111009
Muhammad Hanif Dzakwan NIM. 195060207111010
I Gde Made Vishnu Visvananda NIM. 195060207111014

Malang, 20 April 2020


Telah Diperiksa dan Disetujui oleh:

Kepala Laboratorium Komputer

Moch. Syamsul Ma’arif, ST., MT.


NIP. 19710726 200012 1 001

ii
LEMBAR PERSETUJUAN
LAPORAN PRAKTIKUM SEMESTER GENAP 2019/2020
LABORATORIUM KOMPUTER
JURUSAN TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG

Disusun oleh :
Kelompok 04
Yoga Pristiawan Hartanto NIM. 195060200111012
Rifqi Ardi Pratama NIM. 195060200111013
Octafian Pramana Ramadani NIM. 195060201111011
Iba Durrahman NIM. 195060201111013
Yogi Tri Gunawan Purba NIM. 195060201111016
Mohamad Fido NIM. 195060207111009
Muhammad Hanif Dzakwan NIM. 195060207111010
I Gde Made Vishnu Visvananda NIM. 195060207111014

Malang, 20 April 2020


Telah Diperiksa dan Disetujui oleh:

Dosen Pembimbing

Ir. Tjuk Oerbandono, MSc.CSE


NIP. 19670923 199303 1 002

iii
LEMBAR PERSETUJUAN
LAPORAN PRAKTIKUM SEMESTER GENAP 2019/2020
LABORATORIUM KOMPUTER
JURUSAN TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG

Disusun oleh :
Kelompok 04
Yoga Pristiawan Hartanto NIM. 195060200111012
Rifqi Ardi Pratama NIM. 195060200111013
Octafian Pramana Ramadani NIM. 195060201111011
Iba Durrahman NIM. 195060201111013
Yogi Tri Gunawan Purba NIM. 195060201111016
Mohamad Fido NIM. 195060207111009
Muhammad Hanif Dzakwan NIM. 195060207111010
I Gde Made Vishnu Visvananda NIM. 195060207111014

Malang, 20 April 2020


Telah Diperiksa dan Disetujui oleh:

Asisten Project 1 Asisten Project 2

Muchammad Abdurrochman Rafif Ezrha Pragiwaka


175060200111020 175060200111023

iv
KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas rahmat dan
hidayah-Nya kami dapat menyelesaikan laporan praktikum pemrograman komputer ini.
Laporan ini berisi algoritma, flowchart, dan cara penggunaan Visual Basic 2019, serta
algoritma, flowchart, dan cara penggunaan Arduino UNO. Dalam proses penyusunan ini
kami sadar banyak pihak yang turut membantu membantu kami dan tidak lupa kami
sampaikan terima kasih pada:
1. Bapak Moch. Syamsul Ma’arif, ST., MT. selaku kepala Laboratorium Komputer
Teknik Mesin Universitas Brawijaya
2. Bapak Ir. Tjuk Oerbandono, MSc.CSE selaku dosen pembimbing
3. Mas Muchammad Abdurrochman selaku asisten dasar teori dan project 1 serta Mas
Rafif Ezrha Pragiwaka selaku asisten project 2
4. Komunal Mesin 2019
5. Semua pihak yang telah membantu dalam penyelesaian laporan ini dan tidak dapat
kami sebutkan satu per satu
Kami sadar bahwa dalam penyusunan laporan ini masih banyak kekurangan. Oleh
karena itu, kami mohon kritik dan sarannya untuk menyempurnakan laporan ini. Kami
berharap, laporan ini dapat bermanfaat bagi banyak orang terutama bagi Teknik Mesin
Universitas Brawijaya.

Malang, 20 April 2020

Penulis

i
DAFTAR ISI

KATA PENGANTAR…………………………………………………………………..i
DAFTAR ISI……………………………………………………………………………ii
DAFTAR GAMBAR ...................................................................................................... v
DAFTAR TABEL ........................................................................................................ viii
DAFTAR LAMPIRAN………………………………………………………………...ix
BAB I PENDAHULUAN ............................................................................................... 1
1.1 Pendahuluan .............................................................................................................. 1
1.1.1 Latar Belakang ................................................................................................. 1
1.1.2 Tujuan Praktikum............................................................................................. 2
1.1.3 Rumusan Masalah ............................................................................................ 2
BAB II VISUAL BASIC ................................................................................................ 3
2.1 Perencanaan Program ................................................................................................ 3
2.1.1 Algoritma Pemrograman .................................................................................. 3
2.1.2 Flowchart ......................................................................................................... 4
2.2 Visual Studio 2019 .................................................................................................... 6
2.2.1 Lingkungan Visual Studio 2019 ...................................................................... 6
2.2.2 Bahasa Pemrograman Visual Studio ................................................................ 7
2.2.3 Versi Visual Studio 2019 ................................................................................. 7
2.2.4 System Requirements ....................................................................................... 7
2.2.5 Memulai Visual Studio 2019 ........................................................................... 8
2.2.6 Tampilan Awal Jendela Kerja Visual Studio 2019 ........................................ 10
2.3 Pengenalan Bahasa Visual Basic ............................................................................. 11
2.3.1 Bahasa Visual Basic ....................................................................................... 11
2.3.2 Variabel .......................................................................................................... 12
2.3.3 Tipe Data ........................................................................................................ 13
2.3.4 Operator ......................................................................................................... 15
2.3.5 Kontrol Pemrograman .................................................................................... 17
2.3.6 Penanganan Error ........................................................................................... 22
2.3.7 ASCII Codes .................................................................................................. 26
2.4 Database .................................................................................................................. 28
2.4.1 Mengenal Database ....................................................................................... 28

ii
2.4.2 Fungsi Database ............................................................................................ 29
2.4.3 Macam - Macam Database ............................................................................ 30
2.5 Pengolahan Data Komputasi Numerik .................................................................... 32
2.5.1 Mengenal Pengolahan Data ........................................................................... 32
2.5.2 Fungsi Pengolahan Data ................................................................................ 33
2.5.3 Komputasi Numerik ....................................................................................... 33
2.5.4 Contoh Pengolahan Data Komputasi Numerik .............................................. 33
2.6 Graphic User Interface (GUI) ................................................................................. 34
2.6.1 Membangun Graphic User Interface (GUI) Visual Basic 2019 .................... 34
2.6.2 Memodifikasi Tampilan Default-Form Menggunakan Properties Window .. 34
2.7 Pembuatan dan Koneksi Database .......................................................................... 38
2.1 Pembuatan Program ................................................................................................ 46
2.8.1 Algoritma ....................................................................................................... 46
2.8.2 Flowchart ....................................................................................................... 49
2.8.3 Program Code ................................................................................................ 49
2.8.4 Cara Penggunaan Program ............................................................................. 50
2.9 Kesimpulan dan Saran ............................................................................................. 62
2.9.1 Kesimpulan .................................................................................................... 62
2.9.2 Saran .............................................................................................................. 62
BAB III ARDUINO ...................................................................................................... 63
3.1 Pendahuluan ............................................................................................................ 63
3.1.1 Latar Belakang ............................................................................................... 63
3.1.2 Tujuan Praktikum........................................................................................... 63
3.2 Dasar Teori .............................................................................................................. 64
3.2.1 Lingkungan Arduino Uno .............................................................................. 64
3.2.2 LCD................................................................................................................ 66
3.2.3 Sensor LM35 .................................................................................................. 67
3.2.4 Tipe Data ........................................................................................................ 68
3.2.5 Variabel .......................................................................................................... 68
3.2.6 Operator ......................................................................................................... 69
3.2.7 Kontrol Pemrograman .................................................................................... 72
3.2.8 Contoh Pemrograman Arduino ...................................................................... 75
3.3 Control and Interfacing Project .............................................................................. 77
3.3.1 I/O (Sistem Input/Output) .............................................................................. 77

iii
3.3.2 Data Serial ...................................................................................................... 78
3.4 Pembuatan Program ................................................................................................ 80
3.4.1 Algoritma ....................................................................................................... 80
3.4.2 Flowchart ....................................................................................................... 84
3.4.3 Program Code ................................................................................................ 84
3.4.4 Cara Penggunaan Program ............................................................................ 85
3.5 Kesimpulan dan Saran ............................................................................................. 95
3.5.1 Kesimpulan .................................................................................................... 95
3.5.2 Saran .............................................................................................................. 95

DAFTAR PUSTAKA
LAMPIRAN

iv
DAFTAR GAMBAR

Gambar 2.1 Contoh flowchart .......................................................................................... 6


Gambar 2.2 Membuka jendela Visual Studio 2019 pada Windows 10 ........................... 8
Gambar 2.3 Tampilan awal jendela Visual Studio 2019.................................................. 9
Gambar 2.4 Tampilan jendela New Project ................................................................... 10
Gambar 2.5 Jendela kerja Visual Studio 2019 ............................................................... 11
Gambar 2.6 Jendela solution explorer dan properties ................................................... 35
Gambar 2.7 Jendela properties ...................................................................................... 36
Gambar 2.8 Custom palette, web colours, dan system colours ...................................... 37
Gambar 2.9 Memilih resource backgroundimage ......................................................... 37
Gambar 2.10 Interface form yang sudah diubah properties-nya ................................... 38
Gambar 2.11 Tampilan ketika meng-copy data di aplikasi ............................................ 38
Gambar 2.12 Tampilan di Microsoft Excel ................................................................... 39
Gambar 2.13 Tampilan saat pengaturan Text to Columns ............................................. 39
Gambar 2.14 Tampilan saat data sudah di tampilkan dalam multi baris ....................... 40
Gambar 2.15 Tampilan pada saat menambahkan Import Excel spreadsheet ................ 40
Gambar 2.16 Tampilan saat meng-import data .............................................................. 41
Gambar 2.17 Tampilan saat mengatur primary key dan row ......................................... 41
Gambar 2.18 Tampilan saat meng-import data .............................................................. 42
Gambar 2.19 Tampilan saat selesai meng-import data .................................................. 42
Gambar 2.20 Tampilan menu awal Visual Studio 2017 ................................................ 43
Gambar 2.21 Tampilan menu “Data Source” ................................................................ 43
Gambar 2.22 Tampilan menu saat memilih tipe data .................................................... 44
Gambar 2.23 Tampilan saat memilih asal data yang akan dijadikan database ............. 44
Gambar 2.24 Tampilan menu untuk memilih objek database ....................................... 45
Gambar 2.25 Tampilan awal menu utama ..................................................................... 50
Gambar 2.26 Tampilan saat memilih untuk memulai Program Temperature ............... 50
Gambar 2.27 Tampilan awal program Temperature ...................................................... 51
Gambar 2.28 Tampilan setelah meng-input nilai Temperature ..................................... 51
Gambar 2.29 Tampilan setelah menekan button “Cek” ................................................ 52
Gambar 2.30 Tampilan setelah menekan button “Cari” ................................................ 52
Gambar 2.31 Tampilan setelah menekan button “Interpolasi”...................................... 53
Gambar 2.32 Tampilan setelah menekan button “Hitung” ............................................ 53

v
Gambar 2.33 Tampilan setelah meng-input nilai m ....................................................... 54
Gambar 2.34 Tampilan setelah menekan button “Cek” ................................................. 54
Gambar 2.35 Tampilan setelah menekan button “Hitung” ............................................ 55
Gambar 2.36 Tampilan setelah menekan button “Ya” .................................................. 55
Gambar 2.37 Menu button “Program Pressure” ............................................................ 56
Gambar 2.38 Menu memulai “Program Pressure” atau tidak ...................................... 56
Gambar 2.39 Tampilan awal program ........................................................................... 57
Gambar 2.40 Memasukan nilai pressure/tekanan yang akan dicari .............................. 57
Gambar 2.41 Tampilan form setelah button “Cek” ditekan ........................................... 58
Gambar 2.42 Tampilan form setelah button “Cari” ditekan .......................................... 58
Gambar 2.43 Tampilan form setelah button “Hitung Vfg” ditekan ............................... 59
Gambar 2.44 Memasukan nilai m yang akan digunakan ............................................... 59
Gambar 2.45 Tampilan setelah button “Cek” ditekan ................................................... 60
Gambar 2.46 Tampilan form setelah button “Hitung ∆V” ditekan ................................ 60
Gambar 2.47 Tampilan form saat hasil mfhg telah tertampil......................................... 61
Gambar 2.48 Tampilan saat button “Ya” ditekan akan kembali ke awal ...................... 61
Gambar 2.49 Muncul menu untuk mengulang program atau keluar ............................. 62
Gambar 3.1 Papan arduino ............................................................................................. 64
Gambar 3.2 LCD 16x2 ................................................................................................... 66
Gambar 3.3 Sensor suhu (LM35) ................................................................................... 67
Gambar 3.4 Bagian dalam looping................................................................................. 74
Gambar 3.5 Sketch LCD menampilkan text “Hello World” .......................................... 75
Gambar 3.6 Sketch sensor suhu LM35 ........................................................................... 76
Gambar 3.7 Interface form yang sudah diubah properties-nya ..................................... 77
Gambar 3.8 Tampilan awal form ................................................................................... 85
Gambar 3.9 Tampilan setelah menekan button “Program Temperature” ..................... 85
Gambar 3.10 Tampilan awal mencari data suhu ............................................................ 86
Gambar 3.11 Tampilan saat memilih nama port............................................................ 86
Gambar 3.12 Tampilan setelah menekan button “Connect” ......................................... 87
Gambar 3.13 Tampilan saat memilih durasi .................................................................. 87
Gambar 3.14 Tampilan saat memilih interval ................................................................ 88
Gambar 3.15 Tampilan hasil data yang kita dapat setelah menekan button “Start” ...... 88
Gambar 3.16 Tampilan saat data ditampilkan ............................................................... 89
Gambar 3.17 Tampilan setelah menekan button “Cek” ................................................. 89

vi
Gambar 3.18 Tampilan setelah menekan button “Cari” ................................................ 90
Gambar 3.19 Tampilan data setelah menekan button “Interpolasi” .............................. 90
Gambar 3.20 Tampilan setelah menekan button “Hitung”............................................ 91
Gambar 3.21 Tampilan saat meng-input nilai m............................................................ 91
Gambar 3.22 Tampilan setelah menekan button “Cek” ................................................. 92
Gambar 3.23 Tampilan setelah menekan button “Hitung”............................................ 92
Gambar 3.24 Tampilan setelah menekan button “Hitung” ............................................ 93
Gambar 3.25 Menu button “Program Pressure” ............................................................ 93
Gambar 3.26 Menu memulai “Program Pressure” atau tidak ...................................... 94
Gambar 3.27 Tampilan awal program ........................................................................... 94

vii
DAFTAR TABEL

Tabel 2.1 Jenis-jenis Flowchart ....................................................................................... 5


Tabel 2.2 Simbol Deklarasi Implisit ............................................................................... 13
Tabel 2.3 Tipe Data Numerik ......................................................................................... 14
Tabel 2.4 Tipe Data Non-Numerik ................................................................................. 15
Tabel 2.5 Operator Aritmatika........................................................................................ 16
Tabel 2.6 Operator Logika.............................................................................................. 16
Tabel 2.7 Operator Perbandingan ................................................................................... 17
Tabel 2.8 Common Errors .............................................................................................. 24
Tabel 2.9 ASCII Codes ................................................................................................... 27
Tabel 2.10 Contoh Pengaturan Properties Form ........................................................... 36
Tabel 3.1 Pin LCD .......................................................................................................... 67
Tabel 3.2 Tipe Data Arduino .......................................................................................... 68
Tabel 3.3 Operator Aritmatika........................................................................................ 70
Tabel 3.4 Operator Perbandingan ................................................................................... 70
Tabel 3.5 Operator Logika.............................................................................................. 71
Tabel 3.6 Operator Penugasan ........................................................................................ 71
Tabel 3.7 Operator Penggabungan ................................................................................. 72

viii
DAFTAR LAMPIRAN

2.8.2 Flowchart
2.8.2.1 Main Menu
2.8.2.2 Program Temperature
2.8.2.3 Program Pressure
2.8.3 Program Code
2.8.3.1 Main Menu
2.8.3.2 Program Temperature
2.8.3.3 Program Pressure
Database Program
3.4.2 Flowchart
3.4.2.1 Main Menu
3.4.2.2 Program Temperature
3.4.2.3 Program Pressure
3.4.3 Program Code
3.4.3.1 Main Menu
3.4.3.2 Program Temperature
3.4.3.3 Program Pressure
3.4.3.4 Arduino
Scan Kartu Asistensi

ix
BAB I
PENDAHULUAN

1.1 Pendahuluan
1.1.1 Latar Belakang
Computer Programming atau biasa disebut programming / pemrograman adalah
segala kegiatan yang berhubungan dengan pembuatan program computer. Program
komputer adalah kumpulan instruksi untuk mengatur komputer agar melaksanakan tugas
sesuai dengan yang dikehendaki oleh user / pemakai.
Adapun awal komputer diciptakan dengan maksud mempermudah manusia dalam
menyelesaikan berbagai permasalahan perhitungan maupun pengolahan data. Pada era
digital seperti sekarang sangat mudah kita jumpai berbagai macam program dengan
berbagai macam bahasa pemprograman. Bahasa pemrograman adalah software bahasa
komputer yang digunakan dengan cara merancang atau membuat program sesuai dengan
struktur dan metode yang dimiliki oleh bahasa program itu sendiri. Komputer mengerjakan
transformasi data berdasarkan kumpulan printah program yang telah dibuat oleh program.
Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan
bermakna.
Menurut tingkatannya, bahasa pemrograman dibagi menjadi 4 tingkatan, yaitu: Bahasa
pemrograman mesin, tingkat rendah (low level language), tingkat menengah (middle level
language), dan tingkat tinggi (high level language). Bahasa pemrograman komputer yang
kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan
bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi
dan perangkat yang menggunakannya.
Bagi mahasiswa sangat perlu untuk memahami langkah-langkah pembuatan program
agar membantu mahasiswa mempelajari urutan penyelesaian masalah dengan logis dan
efisien.
Pada praktikum pemrograman komputer akan mempelajari bagaimana langkah langkah
pembuatan program komputer tentang database, sortir data, dan interfacing data serial serta
cara mengatasi bug program menggunakan aplikasi Visual Studio 2019.

KELOMPOK 04 | 1
1.1.2 Tujuan Praktikum
1. Mahasiswa mengenalkan fungsi dasar dan alur pembuatan algoritma serta
flowchart dalam penyelesaian suatu masalah
2. Mahasiswa mengenalkan bahasa pemograman Visual Basic secara umum
3. Mahasiswa mengenalkan bagian serta fungsi dari tiap - tiap komponen dalam Visual
Studio 2019
4. Mahasiswa mampu membuatan program database , perhitungan dan interfacing data
serial melalui Visual Studio 2019

1.1.3 Rumusan Masalah


1. Bagaimana Visual Studio 2019 dan Microsoft Access dapat digunakan sebagai
penyimpanan data
2. Bagaimana Visual Studio 2019 untuk membuat program perhitungan
3. Bagaimana Visual Studio 2019 sebagai interfacing data serial

KELOMPOK 04 | 2
BAB II
VISUAL BASIC

2.1 Perencanaan Program


2.1.1 Algoritma Pemrograman
A. Pengertian Algoritma
Algoritma adalah urutan langkah- langkah untuk menyelesaikan masalah. Dalam arti
lain algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data
masukan menjadi luaran (Munir, 2016,p.5). Dalam pengambilan suatu keputusan dalam
memecahkan suatu permasalahan haruslah logis. Logis yang ditekankan pada algoritma
berarti harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
B. Syarat Algoritma
Berdasarkan kriteria algoritma menurut Donald E. Knuth (1973) algoritma harus
memiliki 5 ciri penting
• Input
Algoritma dapat memiliki nol atau lebih masukan dari luar. Masukan ialah
parameter nilai yang diberikan kepada algoritma untuk diproses (Munir, 2016, p.15).
• Output
Algoritma harus memiliki minimal satu buah output keluaran. Keluaran dapat
berupa pesan atau besaran yang memiliki hubungan dengan masukan (Munir, 2016,
p.15).
• Pasti
Setiap langkah harus didefinisikan dengan tepat dan tidak boleh berarti-dua
(ambiguous) (Munir, 2016,p.15).
• Ada batas
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (Munir,
2016,p.15).
• effective
Algoritma harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang
masuk akal (Munir, 2016,p.15).

KELOMPOK 04 | 3
C. Contoh Algoritma
Algoritma registrasi e-mail:
1. Mulai
2. Menuju halaman web pendaftaran e-mail
3. Mengisi data diri
4. Apakah data diri sudah benar?
• Jika iya, lanjut ke langkah 6
• Jika tidak, lanjut ke langkah 5
5. Lengkapi data diri
6. Menuju step selanjutnya
7. Menyetujui terms & privacy
8. E-mail sudah aktif
9. Selesai

2.1.2 Flowchart
A. Pengertian Flowchart
Bagan alir (flowchart) adalah bagan (chart) yang menujukkan alir (flow) di dalam
program atau prosedur sistem secara logika. Bagan alir program (program flowchart)
merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan
prosedur di dalam sistem.
B. Jenis - jenis Flowchart
Dalam flowchart terdapat beberapa simbol-simbol yang digunakan untuk
menggambarkan alir pengerjaan, yang dijelaskan dalam tabel berikut:

KELOMPOK 04 | 4
Tabel 2.1
Jenis-jenis Flowchart
Simbol Nama Fungsi
Terminator Menyatakan awal dan akhir suatu program

Garis Alir (Flow Menyatakan jalanya arus pada suatu


line) proses

Decision Menyatakan pertanyaan; penyeleksian data


yang memberikan pilihan untuk langkah
selanjutnya, jawabanya hanya dua, yaitu
ya atau tidak

On Page Connector Menyatakan penghubung bagian-bagian

flowchart yang berada pada satu halaman

Off Page Connector Menyatakan penghubung bagian-bagian

flowchart yang berada pada halaman


berbeda

Proses Menyatakan proses penghitungan /


pengolahan

Preparation Menyatakan proses inisialisasi / pemberian


harga awal

Input / Output Menyatakan proses input / output data

Predefined process Menyatakan rincian operasi yang berada


tempat lain (subproses)

Menyatakan proses input / output data


Database dari database

Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

KELOMPOK 04 | 5
C. Contoh Flowchart

Gambar 2.1 Contoh flowchart


Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

2.2 Visual Studio 2019


Visual Studio merupakan perangkat lunak dari Microsoft yang dapat digunakan untuk
mengembangkan perangkat lunak, atau IDE (Integrated Development Environment). Awal
mulanya Visual Studio tersebut hanya digunakan untuk mengembangkan perangkat lunak
yang berbasis pada platform .NET Framework atau untuk OS Windows saja. Namun dari
beberapa versi terbaru Visual Studio dapat digunakan untuk membuat perangkat lunak lintas
platform, seperti untuk Linux, Android ataupun iOS.

2.2.1 Lingkungan Visual Studio 2019


Visual Basic 2019 merupakan salah satu alat untuk pengembangan aplikasi yang banyak
diminati oleh programmer. Disini Visual Basic 2019 menawarkan kemudahan dalam
pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah tersedia.

KELOMPOK 04 | 6
2.2.2 Bahasa Pemrograman Visual Studio
Visual Studio mendukung banyak bahasa pemrograman seperti Visual Basic/VB.NET,
C#, F#, C/C++, dan ASP/ASP.NET. Selain itu terdapat juga dukungan untuk bahasa
pemrograman pihak ketiga seperti JavaScript, Python, Ruby, Node.js, dan lain sebagainya.
Namun bahasa pemrograman tersebut tidak dapat langsung digunakan, ada beberapa
komponen dan service khusus yang perlu diinstall.

2.2.3 Versi Visual Studio 2019


Dalam praktikum pemrograman komputer Teknik Mesin Fakultas Teknik Universitas
Brawijaya versi Visual Studio yang digunakan ialah Visual Studio Community 2019.
Pada versi Community Edition ini merupakan versi “free” dari Visual Studio
Professional, karena memiliki memiliki semua fitur dan tool yang sama dengan versi
professional. Ditujukan secara khusus untuk individu, tim kecil dan kontributor Open
Source. Semua fitur yang dibutuhkan untuk mengembangkan platform .NET ataupun lintas
platform (seperti Xamarin) sudah disediakan, mulai dari designer, editor, debugger, hingga
profiller.
Selain dari versi Community Edition, terdapat juga beberapa versi lain yang ditujukan
untuk segmen tertentu.
1. Visual Studio Community
2. Visual Studio Professional
3. Visual Studio Enterprise

2.2.4 System Requirements


Hal pertama yang perlu diperhatikan ialah spesifikasi komputer yang akan diinstal
Visual Studio. Pastikan bahwa komputer memiliki spesifikasi minimum yang diperlukan
agar dapat berjalan dengan lancar.
Spesifikasi minimum:
• OS : Windows 7 SP1
• Processor : 1.8 GHz Dual core
• RAM : 2 GB
• HDD : 1-60 GB menyesuaikan dengan komponen yang diinstall
• Graphic Card : Mendukung tampilan 720p

KELOMPOK 04 | 7
Untuk mendapatkan Visual Studio 2019 Community Edition dapat diakses melalui
website resmi Microsoft yakni “https://visualstudio.microsoft.com”.

2.2.5 Memulai Visual Studio 2019


Ada beberapa langkah yang harus diperhatikan untuk memulai Visual Studio
Community 2019.
1. Pastikan program Visual Studio Community 2019 telah ter-instal pada komputer
Anda.
2. Selanjutnya, klik kanan pada tombol [ Start ] pada windows taskbar.
3. Klik [ Search ] kemudian ketikkan [ Visual Studio ] lalu klik pada menu [ Visual
Studio 2019 ]

Gambar 2.2 Membuka jendela Visual Studio 2019 pada Windows 10


Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

4. Maka akan muncul jendela Visual Studio 2019 seperti Gambar 2.3.

KELOMPOK 04 | 8
Gambar 2.3 Tampilan awal jendela Visual Studio 2019
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

5. Kemudian pilih menu [ File ] → [ New ] → [ Project… ] atau bias dengan menekan
tombol [ Ctrl + Shift + N ] untuk membuka jendela New Project seperti Gambar 2.4.

KELOMPOK 04 | 9
Gambar 2.4 Tampilan jendela New Project
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

6. Untuk membuat file project Windows Form Visual Basic baru dapat dilakukan dengan
cara [ Visual Basic ] → [ Windows Forms App (.NET Framework) ] → masukkan
nama dan lokasi penyimpanan dari file project → [ OK ] sehingga akan tampil seperti
Gambar 2.5.

2.2.6 Tampilan Awal Jendela Kerja Visual Studio 2019


Ketika Anda memilih [ Windows Forms App (.NET Framework) ] maka akan muncul
jendela kerja seperti pada Gambar 2.5.

K E L O M P O K 0 4 | 10
A

E
C

Gambar 2.5 Jendela kerja Visual Studio 2019


Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Keterangan:
A. Standart Bar, merupakan kelompok toolbar umum seperti Save, Open, New, Undo,
Redo, serta debugging file project.
B. Canvas, merupakan are bidang kerja untuk pembuatan project.
C. Toolbox, Server Explorer, Data Source, toolbar yang berisi semua kontrol yang
hendak digunakan dalam pengembangan aplikasi berbasiskan windows form serta
dalam menghubungkan dengan database yang ada.
D. Solution Explorer, bagian yang menyimpan informasi mengenai solution, project, file,
form, ataupun resource yang digunakan pada program aplikasi.
E. Properties Bar, bagian yang berfungsi untuk mengubah setting property dari setiap
elemen yang terdapat pada form.

2.3 Pengenalan Bahasa Visual Basic


2.3.1 Bahasa Visual Basic
Pada praktikum pemprograman komputer memakai software Visual Basic sudah
terintegrasi dengan Visual Studio 2019. Visual Basic adalah bahasa pemrograman generasi
ke tiga dari Microsoft dengan IDE (Integrated Development Environment) atau
pemrograman pengembangan terpadu, Visual Basic dibuat dan dirancang untuk
mudah digunakan baik oleh programmer pemula sekalipun. Visual Basic merupakan

K E L O M P O K 0 4 | 11
turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat
lunak komputer berbasis grafik dengan cepat. Visual Basic merupakan bahasa yang
mendukung Object-oriented programming (OOP) , namun tidak sepenuhnya. Bahasa Basic
pada dasarnya adalah bahasa pemprograman tingkat tinggi yang mudah dimengerti sehingga
pemrograman di dalam Bahasa Basic dapat dengan mudah dilakukan meskipun oleh orang
yang baru belajar membuat program.

2.3.2 Variabel
A. Pengertian Variabel
Variabel adalah sebuah tempat penyimpanan data yang bersifat sementara dalam suatu
program. Variabel dapat digunakan sekali atau lebih variabel pada kode yang berupa kata-
kata, nomer, tanggal, properti atau nilai (Halvorson 2010, p. 124).

B. Cara Mendeklarasikan Variabel


Dim(Nama_Variabel) As (Tipe Data)
“Nama_Variabel” adalah nama variabel yang dideklarasikan, sedangkan “tipe data”
adalah tipe data yang tersimpan dalam variabel. Pendeklarasian variabel dibagi menjadi 2
kategori, antara lain:
• Deklarasi Ekplisit
Suatu pendeklarasian umum yang sangat sering dilakukan dengan memberikan
kata kunci As sebagai bentuk umum. Macam-macam kode penulisan variabel pada
VB 17 :
1. Private : digunakan untuk membuat variabel lokal
2. Dim : digunakan untuk mendaftarkan variabel tertentu
3. Public : digunakan agar variabel tersebut dapat di akses dari prosedur lain
4. Static : digunakan agar isi datanya tetap ada di memori setiap kali digunakan
Contoh :
Dim HARGA As Currency
Dim JUMLAH As Integer
• Deklarasi Implisit
Deklarasi yang tidak memberikan kata kunci As pada semua variabel tersebut.
Melainkan memberikan simbol di akhir variabel.

K E L O M P O K 0 4 | 12
Tabel 2.2
Simbol Deklarasi Implisit
Karakter / Simbol Tipe Data
% Integer
$ String
& Long
@ Currency
! Single
# Double
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

C. Jenis – Jenis Variabel


Ada dua jenis variabel yaitu:
• Variabel lokal (Local Variable) adalah variabel yang diletakkan di dalam prosedur.
• Variabel global (Global Variable) adalah variabel yang diletakkan di luar prosedur
atau general.

2.3.3 Tipe Data


A. Pengertian Tipe Data
Tipe data adalah suatu bentuk penggolongan jenis data berdasarkan kategori data,
ukuran dan kegunaan data yang dapat ditampung oleh sebuah variabel.

K E L O M P O K 0 4 | 13
B. Jenis Tipe Data
Ada dua tipe data dalam Visual Basic 2019, yaitu:
• Tipe Data Numerik

Tabel 2.3
Tipe Data Numerik

Tipe Data Penjelasan Range Size

Byte Berupa bilangan 0 – 255 8-bit


bulat positif

SByte Berupa bilangan (-128)– 127 8-bit


bulat

Ushort Berupa bilangan 0-65.535 16-bit


bulat positif

short Berupa bilangan (-32.768) – 32.767 16-bit


bulat

Single Berupa bilangan (-3,402823E+38) – 32-bit


pecahan 3,402823E+38

Double Berupa bilangan Untuk nilai negatif : (- 64-bit


pecahan 1,79769313486232E+308) -
1,79769313486232E+308

Decimal Nilai desimal 0 – (+/-79.228.162.514.264.337.593. 128-bit


543.950.335)
Sumber : Halvorson ( 2010, p. 136)

K E L O M P O K 0 4 | 14
• Tipe Data Non-Numerik

Tabel 2.4
Tipe Data Non-Numerik

Tipe Data Penjelasan Range Size

String Untuk menyimpan 0 – 2 milyar 16-bit per karakter


nilai dalam bentuk karakter
karakter

Date Untuk menyimpan 1 Januari 100 – 31 16-bit


tahun, bulan, tanggal Desember 9999
dan jam

Boolean Untuk pendeklarasian 2 nilai (benar 16-bit


benar atau salah dan/atau salah)

Object Untuk menyimpan Semua objek 32-bit


objek yang dipakai

Char Untuk menyimpan 0-65.535 16-bit


kode
Sumber : Halvorson ( 2010, p. 136)

2.3.4 Operator
A. Pengertian Operator
Operator adalah suatu simbol yang digunakan untuk memberikan perintah kepada
komputer untuk melakukan aksi terhadap satu atau lebih operand. Operand sendiri adalah
sesuatu yang dioperasikan oleh operator.
B. Jenis-jenis Operator
1. Operator Aritmatika
Operator Aritmatika adalah merupakan suatu operator perhitungan matematika
yang digunakan untuk proses perhitungan matematika. Operator aritmatika dapat dilihat
pada tabel berikut ini :

K E L O M P O K 0 4 | 15
Tabel 2.5
Operator Aritmatika
Operator Fungsi

+ Penjumlahan

- Pengurangan

* Perkalian

/ Pembagian

\ Pembagian integer

Mod Sisa hasil pembagian

& Kombinasi rangkaian string

^ Perpangkatan

Sumber : Halvorson ( 2010, p. 143)

2. Operator Logika
Operator Logika adalah merupakan suatu operator yang dapat membandingkan dua
ekspresi atau lebih data logika (Boolean) dan menghasilkan data logika (Boolean) baru.
Operator logika dapat dilihat pada tabel berikut ini:

Tabel 2.6
Operator Logika
Operator Fungsi

NOT Salah satu dari kondisi atau hasil bernilai false

AND Jika kondisi dan hasil bernilai true

OR Memilih kondisi dan hasil yang bernilai true

XOR Memilih 1 kondisi bernilai true maka hasil yang bernilai true

Sumber : Sumber : Halvorson ( 2010, p. 167)

K E L O M P O K 0 4 | 16
3. Operator Perbandingan
Operator perbandingan adalah merupakan suatu operator yang menyatakan suatu
kondisi itu benar atau salah. Operator perbandingan dapat dilihat pada tabel berikut ini

Tabel 2.7
Operator Perbandingan
Operator Fungsi

<> Tidak sama dengan

< Lebih kecil

> Lebih besar

Lebih besar sama


>=
Dengan
Lebih kecil sama
<=
dengan
= Sama dengan

Like mirip sama

Sumber : Sumber : Halvorson ( 2010, p. 161)

2.3.5 Kontrol Pemrograman


A. Pengertian Kontrol Pemrograman
Kontrol pemrograman adalah perintah dengan struktur tertentu yang digunakan untuk
mengatur jalannya program yang tujuannya untuk mengatur arah eksekusi program.
C. Jenis-jenis Kontrol Pemrograman
Visual Basic mengenal dua jenis struktur kontrol, yaitu :
• Struktur kontrol keputusan
Digunakan untuk memutuskan kode program mana yang akan dikerjakan
berdasarkan suatu kondisi.
1. If Then
Struktur Keputusan merupakan suatu blok pernyataan khusus yang urutan
pelaksanaan peryataanya dikendalikan oleh suatu peryataan bersyarat. bentuk
penulisan, yaitu :
IF <kondisi> THEN <pernyataan>

K E L O M P O K 0 4 | 17
Dimana kondisi adalah pernyataan bersyarat pernyataan adalah pernyataan
program Visual Basic yang sah. Bila <kondisi> bernilai benar maka
<pernyataan> akan dikerjakan (ANDI, 2007, p.119). jika menggunakan
multiple-line sebagai berikut:
IF <syarat kondisi> then
<pernyataan pertama>
<pernyataan kedua>
....
<pernyataan ke-n> End if
Sebagai contoh :
If nilai >= 80 Then Textbox1.Text = A End if
Pernyataan program diatas akan mendeteksi nilai dari variable
angka. jika nilai adalah besar atau sama dengan 80 maka pada textbox1 bernilai
A. Jika nilainya kecil atau tidak sama dengan 80 maka pernyataan tersebut
diabaikan.
2. If Then Else
IF <kondisi> THEN
<pernyataan 1> ELSE
<pernyataan 2> END IF

Dimana Bila <kondisi1> bernilai True maka <peryataan 1> akan


dikerjakan, tetapi bila <kondisi1> bernilai False maka <peryataan 2> yang
akan dikerjakan (ANDI, 2007, p.121).
Contoh :
If nilai >=60 then Label1.text= ”Anda LULUS”
Else
Label1.text= ”Maaf Anda Belum Lulus”
EndIf
3. If Then Elseif
IF
<kondisi1> THEN
<peryataan jika kondisi 1 bernilai True> ELSEIF
<kondisi 2>
<peryataan jika kondisi 2 bernilai True> ELSEIF
<kondisi 3>
<peryataan jika kondisi 3 bernilai True> ELSE
<peryataan jika tidak ada kondisi yang bernilai True>
END IF

K E L O M P O K 0 4 | 18
Dimana <kondisi> yang merupakan suatu ekspresi logika akan diuji
perintah if yang pertama yang ada disebelah kirinya. Jika <kondisi> benar
maka blok perintah yang terletak di bawahnya akan dikerjakan sampai
menemui dan jika tidak, maka perintah ElseIf yang dikerjaan dan seterusnya
hingga menemui atau Else lalu langsung melompat ke pernyataan End If
(ANDI, 2007, p.122).
4. Select Case
Select Case sebenarnya serupa dengan struktur If...Then...Elself, hanya saja
struktur ini lebih efisien, mudah dibaca dan mudah digunakan terutama jika
percabangan dibuat berdasarkan satu variabel kunci, atau uji kasus (test case)
(ANDI, 2007, p.123). Struktur ini biasanya digunakan untuk percabangan
dengan pilihan lebih dari dua (percabangan dengan banyak pilihan).
Tata penulisan untuk struktur Select Case adalah sebagai berikut:
SELECT CASE
<pilihan>
CASE
<pilihan 1>
<pernyataan program yang dilaksanakan jika pilihan = pilihan 1>
CASE
<pilihan 2>
<pernyataan program yang dilaksanakan jika pilihan = pilihan 2>
CASE
<pilihan n>
<pernyataan program yang dilaksanakan jika pilihan = pilihan n>
CASE ELSE
<pernyataan program yang dilaksanakan jika pilihan 1 sampai
pilihan tidak ada yang sesuai maka pernyataan ini yang akan
dikerjakan>
END SELECT

• Struktur Kontrol Pengulangan


Digunakan untuk mengulang perintah, sehingga kita tidak perlu menulis ulang
perintah sebanyak pengulangan yang diinginkan. Beberapa jenis struktur
kontrol pengulangan adalah sebagai berikut :

K E L O M P O K 0 4 | 19
1. For Next
Bentuk ini digunakan untuk melakukan penguangan (iterasi) suatu
blok program beberapa kali yang ditentukan nilai awal dan nilai akhir
(banyak pengulangannya sudah pasti). Pada struktur kontrol for...next..., kita
tidak perlu menuliskan sebuah kondisi untuk diuji oleh Visual Basic. Kita
hanya perlu menuliskan nilai awal dan nilai akhir variabel penghitung. Nilai
variabel penghitung ini akan secara otomatis bertambah atau berkurang setiap
kali sebuah pengulangan (loop) dilaksanakan (ANDI, 2007, p.127). Standar
penulisan struktur ini adalah :
For variabel as tipeData(angka) = mulai
to akhir [STEP] Proses()
Next

Variabel : Kode simbol yang mewakili sebuah angka dari tipe data.
Tipe Data : Untuk memberitahu sistem jenis variabel angka yang akan
digunakan, karena dalam pemrograman banyak variabel angka
yang tersedia. Secara keseluruhan semua jenis adalah sama,
perbedaannya adalah pada setiap jenis variabelnya jumlah angka
yang tersedia berbeda-beda, contoh : byte. Integer, dan double.
Mulai : Nilai awal pengulangan yang ingin diproses, seharusnya dari 0
tapi dalam penerapannya terkadang value yang diperlukan lebih
dari 0
Akhir : Nilai akhir dari sebuah pengulangan tersebut
Step : Menjelaskan berapa besar langkah yang diinginkan untuk
menjalankan looping
Untuk contoh perulangan tersebut dalam program lihatlah kode dibawah ini
:
For i As Integer = 0 To 10
ListBox3.Items.Add("Loop : " & i)
Next
Dari perintah diatas dapat dipahami bahwa perulangan akan dilakukan
sebanyak 11 kali mulai dari 0 sampai dengan 10 atau menggunakan langkah /
step pada proses pengulangannya. Kodingnya seperti ini:
For i As Integer = 0 To 10 step 3
ListBox3.Items.Add("Loop : " & i)
Next

K E L O M P O K 0 4 | 20
Dari perintah diatas dapat difahami bahwa perulangan akan dilakukan
sebanyak 11 kali mulai dari 0 sampai dengan 10.
2. Do While... Loop...
Bentuk pengulangan Do While Loop adalah bentuk pengulangan yang
memerintahkan program untuk menjalankan proses yang berulang apabila
kondisi persyaratan yang ada masih bernilai true. Jika kondisi persyaratan
sudah bernilai False maka proses pengulangan akan dihentikan (ANDI, 2007,
p.131). Pengulangan ini memiliki 2 bentuk sintaks. Perbedaan kedua bentuk
tersebut terletak pada kondisi perulangan ditempatkan.
Bentuk 1 :
DO WHILE <Kondisi>
<Proses>
LOOP
Bentuk 2 :
DO
<Proses>
LOOP WHILE <Kondisi>
Keterangan :
<proses> akan diulang selama <kondisi> bernilai TRUE. Pengulangan berhenti
bila <kondisi> sudah bernilai FALSE.
Untuk contoh pengulangan, lihatlah sintaks di bawah ini :
DIM i As Integer = 0
DO
Listbox2.Items.Add(“Loop : “ & i) i +=1
LOOP WHILE i < 10
3. Do Until... Loop...
Pengulangan ini akan menjalankan proses pengulangan sampai kondisi
pengulangan dipenuhi. Apabila kondisi pengulangan masih bernilai False,
maka proses akan dijalankan terus menerus (ANDI, 2007, p.131). pengulangan
ini memiliki 2 bentuk sintaks sebagai berikut :
Bentuk 1 :
DO UNTIL <Kondisi>
<Proses>
LOOP
Bentuk 2 :
DO

K E L O M P O K 0 4 | 21
<Proses>
LOOP UNTIL <kondisi>
Keterangan :
<Proses> akan diulang selama <kondisi> bernilai FALSE. Pengulangan
berhenti bila <kondisi> sudah bernilai TRUE.
Untuk contoh pengulangan, lihatlah kode di bawah ini :
Dim i As Integer = 0
DO
Listbox1.Items.Add(“Loop : “ & i) i +=1
LOOP UNTIL i = 10

2.3.6 Penanganan Error


A. Pengertian Penanganan Error
Penanganan Eror (Error Handling) adalah bagian yang penting dalam pembuatan
sebuah program (software). Tanpa penanganan eror program menjadi tidak ramah (not user
friendly). Program yang tidak diberi error handling (Penanganan Error) akan tertutup secara
tiba-tiba. Untuk membuat program yang user friendly (ramah terhadap pemakai) salah
satunya harus membuat penanganan eror (Error Handling). Untuk menangani masalah di
atas (software tertutup dengan tiba-tiba) harus menambahkan kode penanganan eror (Code
Block) (Halvorson, 2010, p.228).

B. Jenis-Jenis Penanganan Error


Dalam proses pembuatan program, bisa saja terjadi error yang menyebabkan program
tidak berjalan sebagaimana mestinya. Dilihat dari penyebabnya ada 3 jenis error yang bisa
terjadi, yaitu:
• Syntax error adalah error yang disebabkan oleh kesalahan menulis kode program.
Misalnya : salah menuliskan nama object, property atau methodnya. Error jenis ini
relatif mudah ditangani, IDE VB 6 akan memberi tanda kode program mana yang
menimbulkan syntax error.
• Runtime error adalah error yang disebabkan oleh sistem komputer ketika
melakukan sesuatu. Misalnya : menyimpan file ke disket tetapi disketnya tidak ada.
Sistem akan “memberitahu” kepada program informasi error yang terjadi. Informasi
error yang penting diantaranya adalah nomer error dan deskripsi error. VB 10
“menyimpan” informasi error tersebut pada object Err. Melalui object Err inilah kita
bisa menangani runtime error.

K E L O M P O K 0 4 | 22
• Logical error adalah error yang disebabkan oleh kesalahan logika pemrograman (dari
si programer). Misalnya : salah meletakkan urutan kode program. Error jenis ini relatif
sulit diketahui dan bisa saja baru diketahui setelah program di-compile menjadi
executable file (*.exe). Kejadian seperti ini sering disebut sebagai bug.
Sumber: Halvorson (2010, p.228)

K E L O M P O K 0 4 | 23
Tabel 2.8
Common Errors
Masalah Penjelasan
Jaringan/Masalah internet Masalah server, koneksi internet, dan
beberapa masalah lainnya.
Masalah database Tidak dapat membuat koneksi ke
database, pertanyaan tidak dapat di
proses atau time out, database kembali
eror.
Masalah penyimpanan Format yang tidak sesuai dalam CDs,
DVDs, disket, atau media penyimpanan
lainnya yang dimasukkan; bad sectors,
CDs, DVDs atau disket penuh
Masalah jalur Jalur penting berkas hilang atau salah
Masalah printer Printer sedang offline, kertas habis,
memori penuh
Software tidak terinstal Berkas atau komponen yang bergantung
pada aplikasi tetapi tidak terinstal pada
komputer atau pada sistem operasi tidak
sesuai.
Masalah keamanan Aplikasi mencoba untuk mengubah
berkas sistem operasi, tidak bisa
menggunakan internet, atau mengubah
pogram lainnya.
Masalah perizinan User tidak diizinkan untuk menjalankan
aplikasi
Overflow errors Aktivitas melebihi ruang penyimpanan
Out of memory errors Aplikasi tidak cukup atau tersedia ruang
penyimpanan pada skema menejemen
penyimpanan Microsoft Windows.
Clipboard problems Masalah dengan transfer data atau
dengan Windows Clipboard

K E L O M P O K 0 4 | 24
Logic errors Eror pada penyusunan yang tidak
terdeteksi (termasuk pada salah penulisan
nama berkas)

C. Contoh Penanganan Eror


Penanganan eror dapat menggunakan Try…Catch code block dan spesial penanganan
eror objek yang disebut Exception. Exception merupakan sebuah event yang akan
menginterupsi program yang tidak berjalan normal (eror)
Potensi masalah yang terjadi salah satu contohnya masalah database dengan deksripsi
“unable to make database connection, a query can’t be processed or times out, a database
returns an error” (Halvorson, 2010, p.228).
Blok kode yang digunakan untuk menangani error diwaktu proses berjalan disebut try
... catch. Disini try catch memerintahkan pernyataan coba dalam prosedur tepat sebelum eror
yang Anda khawatirkan terjadi dan pernyataan menangkap segera menyusul dengan daftar
perintah yang ingin Anda jalankan jika kesalahan waktu proses benar-benar terjadi. sejumlah
pernyataan optional, seperti akhirnya, try exit, dan nested try... catch tangkap juga dapat
dimasukkan dengan pola.
Try
<Proses>
Catch <Kondisi>
<Pernyataan Apabila Proses Mengalami suatu Kondisi>
Finally
<Pernyataan Akhir>
End Try

Apabila dikombinasikan dengan Exception, maka <Kondisi> yang digunakan ialah


ex As Exception seperti berikut:
Try
<Proses>
Catch ex As Exception
<Pernyataan Apabila Proses Mengalami suatu Error>
Finally
<Pernyataan Akhir>
End Try
Sumber: Halvorson (2010, p.228)

K E L O M P O K 0 4 | 25
Penjelasan di atas adalah intinya, jika program mengalami crash tidak langsung
menutup secara tiba-tiba, tetapi masuk pada logika memberi pesan (jika menggunakan
message box) bahwa ada yang eror pada program yang sedang dijalankan.

2.3.7 ASCII Codes


A. Pengertian ASCII Codes
Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard
Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf
dan simbol seperti Hex dan Unicode, tetapi ASCII lebih bersifat universal. Karakter control
pada ASCII dibedakan menjadi 5 kelompok sesuai dengan penggunaan yaitu berturut-turut
meliputi logical communication, Device control, Information separator, Code extention, dan
physical communication. Kode ASCII ini banyak dijumpai pada papan ketik (keyboard)
komputer atau instrumen-instrumen digital.
Jumlah kode ASCII adalah 255 kode. Kode ASCII 0 sampai 127 merupakan kode ASCII
untuk manipulasi teks; sedangkan kode ASCII 128 sampai 255 merupakan kode ASCII
untuk manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa
bagian:
• Kode yang tidak terlihat simbolnya seperti Kode 10 (Line Feed), 13 (Carriage Return),
8 (Tab), 32 (Space).
• Kode yang terlihat simbolnya seperti abjad (A-Z), numerik (0-9), karakter khusus
(~!@#$%^&*()_+?:”{}).
• Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk
kode-kode grafik.
Pada keyboard, aktifkan [numlock], tekan [ALT] secara bersamaan dengan kode karakter
maka akan dihasilkan karakter tertentu. Misalnya: [ALT] + 44 maka akan muncul karakter koma
(,).
Mengetahui kode-kode ASCII sangat bermanfaat misalnya untuk membuat karakter-
karakter tertentu yang tidak ada di keyboard. Pada pemrograman Visual Basic sendiri kegunaan
dari Key ASCII sangat beragam seperti untuk kontrol pemograman, batasan, dan lain – lain,
tergantung dari user dalam memakainya.

K E L O M P O K 0 4 | 26
B. Tabel ASCII Codes

Tabel 2.9
ASCII Codes
ASCII ASCII ASCII ASCII
value Character value Character value Character value Character
0 NUL 32 Space 64 @ 96 `
1 SOH 33 ! 65 A 97 a
2 STX 34 “ 66 B 98 b
3 ETX 35 # 67 C 99 c
4 XOT 36 $ 68 D 100 d
5 XEQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 ‘ 71 G 103 g
8 BS 40 ( 72 H 104 h
9 TAB 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 ETB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 (substitute) 58 : 90 Z 122 z
27 (escape) 59 ; 91 [ 123 {
(file
28 60 < 92 \ 124 |
separator)
(group
29 61 = 93 ] 125 }
separator)
(record
30 62 > 94 ^ 126 ~
separator)
(unit
31 63 ? 95 _ 127 DEL
separator)
Sumber : Lans ( 1993, p.460)

C. Contoh Key ASCII

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button4.Click
Dim Tekanan As String
Dim konversi As String = ""

K E L O M P O K 0 4 | 27
For X = 1 To Len(TextBox2.Text)
Tekanan = Mid(TextBox2.Text, X, 1)
If Asc(Tekanan) >= 45 And Asc(Tekanan) <= 57 Then
If Not (Tekanan = "." And konversi.Contains(".")) Then
If Not (Tekanan = "-" And X > 1) Then
konversi += Tekanan
End If
End If
End If
Next
Label9.Text = konversi
If konversi = "" Then
Label9.Text = "0"
End If
TextBox2.Enabled = False
Button5.Enabled = True
End Sub

Penjelasan :
Bila kode ASCII diatas lebih besar dari sama dengan 45 atau lebih kecil sama dengan
dari kode 57, serta jika input tekanan sama dengan simbol titik (.) dan serta jika input tekanan
sama dengan tanda negatif (-) maka nilai pertambahan konversi sama dengan inputan dari
tekanan itu sendiri.
Setelah itu hasil konversi akan dinyatakan dalam label 9. Apabila dalam konversi tidak
ada masukan, maka akan bernilai nol (0)

2.4 Database
2.4.1 Mengenal Database
Database adalah sebuah objek yang kompleks untuk menyimpan informasi yang
terstruktur, yang di organisir dan disimpan dalam suatu cara yang mengizinkan pemakainya
yang dapat mengambil informasi dengan cepat dan efisien. Database (basis data) dapat
diartikan sebagai suatu pengorganisasian data dengan bantuan komputer yang
memungkinkan dapat diakses dengan mudah dan cepat. Dalam hal ini, pengertian akses
dapat mencakup pemerolehan data maupun pemanipulasian data, seperti menambah dan
menghapus data.
Database pengertian umumnya adalah sistem penyimpanan data dimana data yang
sudah banyak diinput disimpan dalam satu sistem penyimpanan. Sistem database sudah

K E L O M P O K 0 4 | 28
banyak digunakan di banyak bidang, tidak hanya dalam bidang teknologi, bahkan saat ini
database sudah digunakan di perusahaan dari yang kecil hingga besar, universitas,
perkantoran, supermarket bahkan di rumah-rumah. Dan kini sudah banyak sekali aplikasi
yang mendukung pembuatan database contohnya ada :
1. MySQL
2. Microsoft SQL Server
3. Microsoft access
4. Oracle
5. Dan banyak lagi
Software atau Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri
(query) basis data atau database disebut dengan sistem manajemen basis data (database
management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.

2.4.2 Fungsi Database


Hampir semua industri seluruh didunia menggunakan tehnologi database sebagai
penunjuang aplikasi dan sistim bisnis mereka. Fungsi dari database itu ada banyak, yang
dibawah ini salah satu fungsi dari database :
1. Mengelompokkan data untuk mempermudah identifikasi data, database
menyiapkan data yang sesuai dengan permintaan user terhadap suatu informasi
dengan dengan cepat dan akurat. Melalui software Database Management Systems
(DBMS) user atau petugas bank dapat mencari profil informasi seorang nasabah
dalam hitungan detik, DBMS akan menyajikan data lengkap mengenai profil yang
diminta.
2. Menghindari adanya Duplikasi data dan inkonsistensi data, software DBMS
sebagai software untuk menjalankan database komputer mempunyai kemampuan
menginformasikan kepada user/pengguna pada saat kita input data apabila data
yang akan diinput sudah ada dalam database. Duplikasi data didalam database
sangat dimungkinkan, karena database dapat diakses dari banyak komputer dari
berbagai tempat yang tersambung ke sistim database.
3. Memudahkan dalam menyimpan, mengedit, menghapus, menginput dan
mengakses data.
4. Menjadi sebuah solusi dalam proses penyimpanan sebuah data, terutama data yang
memiliki ukuran besar.

K E L O M P O K 0 4 | 29
5. Mendukung aplikasi yang membutuhkan ruang penyimpanan. Hampir semua
aplikasi modern membutuhkan ruang yang besar untuk menjalankan fungsinya
secara optimal, disini peran database sebagai penyedia ruang untuk menyimpan
data-data aplikasi dan sistim sebuah komputer.

2.4.3 Macam - Macam Database


1. Oracle
Oracle adalah relational database management system (RDBMS) untuk mengelola
informasi secara terbuka, komprehensif dan terintegrasi.
Vendor : Oracle Corporation.
Biasa digunakan untuk pengaksesan data yang dilakukan secara online. Dirancang
khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah.
Kelebihan :
• Banyak fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar.
• Dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan
transparan.
• DBMS yang rumit dan sulit dipelajari.
Kekurangan :
• DBMS yang paling rumit dan paling mahal di dunia. Penggunaannya memakan
banyak biaya, mulai dari device sampai diperlukannya DBA yang handal.
2. MySQL
Adalah singkatan “My Structured Query Language”. Program ini berjalan sebagai
server menyediakan multi-user mengakses ke sejumlah database. multithread, multi-
user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB gratis, dibawah lisensi
GNU General Public License (GPL), tetapi ada juga MySQL yang berbayar.
Kelebihan :
• Free Stabil dan tangguh
• Fleksibel dengan berbagai pemrograman
• Security yang baik
• Dukungan dari banyak komunitas
• Kemudahan management database
• Mendukung transaksi
• Perkembangan software cukup cepat

K E L O M P O K 0 4 | 30
Kekurangan :
• Kurang mendukung koneksi ke bahasa pemrograman visual seperti VB, Delphi, dan
Foxpro dikarenakan koneksi ini menyebabkan field yang dibaca harus sesuai
dengan koneksi dari program visual tersebut.
• Data yang ditangani belum begitu besar.
• Lambat untuk query yang kompleks seperti LEFT JOIN yang banyak, dan
penggunaan SubQuery.
• Belum mendukung Windowing Function
3. Microsoft Access (Ms. Access)
Ms. Access adalah Database Storage Engine atau Mesin penyimpanan yang di buat
oleh Microsoft, Ms. Access merupakan bagian dari Microsoft Office.
Kelebihan :
• Mudah dipelajari dan digunakan.
• Kompatibilitasnya dengan bahasa pemrograman SQL. Pengguna dapat mencampur
dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk
memprogram form dan logika dan untuk mengaplikasikan konsep berorientasi
objek.
Kekurangan :
• Instalasinya membutuhkan ruang yang cukup besar di hard disk.
• Hanya bisa dijalankan di sistem operasi Windows.
• Kapasitas data sangat terbatas sehingga hanya cocok jika diaplikasikan untuk small
system atau home bisnis.
• Keamanan tidak begitu bisa dihandalkan walaupun sudah mengenal konsep
relationship.
• Kurang bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang
digunakan oleh banyak pengguna cenderung menggunakan solusi sistem
manajemen basis data yang bersifat klien atau server.
4. Microsoft SQL server
Keluaran dari Microsoft juga sama seperti halnya Microsoft Access. Bahasa query
utama yang digunakan adalah varian dari ANSI SQL yang disebut sebagai T-SQL
(Transact-SQL). Bahasa ini membolehkan user untuk membuat stored procedure
sehingga meningkatkan efisiensi akses dengan basis data.
Kelebihan :

K E L O M P O K 0 4 | 31
• Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu
untuk mengolah data dengan jumlah yang besar.
• Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses
terhadap suatu database oleh database administrator.
• Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam
melakukan koneksi dengan computer client yang pembangunan aplikasinya
menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft
Visual Basic.
• Memiliki tingkat pengamanan data yang baik.
• Memiliki kemampuan back-up data, rollback data, dan recovery data.
• Memiliki kemampuan membuat database mirroring dan clustering.
Kekurangan :
• Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server
maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki
kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
• Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
• Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan
menengah

2.5 Pengolahan Data Komputasi Numerik


2.5.1 Mengenal Pengolahan Data
Data memiliki definisi merupakan suatu penggambaran fakta, pengertian suatu instruksi
yang selanjutnya dapat disampaikan dan juga diolah oleh manusia atau mesin. Contoh data
misalnya data angka, karakter, alphabet, symbol, gambar atau suara dan lainnya. Data adalah
kenyataan menggambarkan kejadian-kejadian yang terjadi dan kesatuan yang nyata.
Sedangkan pengertian dari pengolahan data atau data processing merupakan manipulasi data
ke bentuk yang lebih informatif atau berupa informasi. Informasi merupakan hasil dari
kegiatan pengolahan suatu data dalam bentuk tertentu yang lebih berarti dari suatu kegiatan
atau suatu peristiwa.
Terdapat empat penggolongan alat pengolahan data diantaranya peralatan manual untuk
mengolah data tenaga tangan manusia. Selanjutnya adalah peralatan mekanik yaitu peralatan
yang sudah lebih modern dan dalam bentuk mekanik dan digerakkan oleh tangan manual.
Peralatan berikutnya adalah dengan peralatan mekanik elektronik yang digerakkkan secara

K E L O M P O K 0 4 | 32
otomatis dengan motor elektronik. Serta alat yang terakhir adalah peralatan elektronik yang
dikerjakan secara elektronik penuh tanpa bantuan tangan manusia.

2.5.2 Fungsi Pengolahan Data


Ada beberapa fungsi dasar dari pengolahan data, diantaranya :
• Pengolahan data untuk mengambil program dan juga data berupa masukan atau
input data.
• Pengolahan data untuk menyimpan program data dan menyediakan suatu
pemrosesan.
• Pengolahan data untuk menjalankan proses aritmatika dan juga logika pada suatu
data yang tersimpan.
• Pengolahan data untuk menyimpan hasil sampai hasil akhir suatu pengolahan.
• Pengolahan data juga bisa berfungsi untuk menampilkan dan juga mencetak data
yang sudah tersimpan.

2.5.3 Komputasi Numerik


Model matematis banyak digunakan untuk memformulasikan permasalahan-
permasalahan riil. Terdapat banyak pilihan model matematis, diantaranya: Sistem
Persamaan Linier, Sistem Persamaan Non-Linier, dsb. Selain lebih fleksibel, model
seringkali digunakan untuk meminimumkan resiko. Ada model yang dapat diselesaikan
secara analitis (bisa menghasilkan solusi eksak), ada pula yang tidak. Sistem Persamaan
Non-Linier berukuran besar adalah contoh model yang biasanya tidak dapat (sulit)
diselesaikan secara analitis. Model yang demikian hanya dapat diselesaikan melalui
pendekatan yang melibatkan banyak operasi aritmatis & perhitungan-perhitungan iteratif.
Teknik atau cara-cara inilah yang disebut Komputasi Numerik.

2.5.4 Contoh Pengolahan Data Komputasi Numerik


Dalam permasalahan yang terjadi pada praktikum Pemrograman Komputer, pada
project I membuat database tabel Termodinamika, namun dalam pengaplikasiannya
database tabel tersebut belum dapat dipergunakan untuk perhitungan yang terjadi pada
permasalahan yang terkait oleh karena itu pada project I dilakukan pembuatan program
Pengolah Data Komputasi Numerik. Model matematis yang dapat dibentuk berdasarkan
database tabel Termodinamika ialah dengan penggunaan prinsip interpolasi linear data.

K E L O M P O K 0 4 | 33
Interpolasi merupakan metode yang digunakan untuk mengetahui nilai-nilai baru yang tidak
terdapat pada data (tabel Termodinamika), dengan membandingkan nilai atas dan bawah.
Dimana untuk menentukan sebuah nilai yang tidak diketahui dengan menggunakan
persamaan rumus interpolasi linear :

𝑦−𝑦0 𝑥−𝑥0
=
𝑦1 −𝑦0 𝑥1 −𝑥0

Dengan adanya model matematis interpolasi, dapat memecahkan permasalahan


perhitungan termodinamika dan metode numerik . Sehingga keluaran yang diharapkan setiap
permasalahan dapat diselesaikan dengan pengolahan data komputasi numerik dari database
yang berisikan data.

2.6 Graphic User Interface (GUI)


2.6.1 Membangun Graphic User Interface (GUI) Visual Basic 2019
Langkah pertama dalam mengembangkan aplikasi Visual Basic 2019 adalah untuk
membangun antarmuka pengguna grafis (Graphic User Interface). Untuk membangun GUI,
tambahkan kontrol dari toolbox ke form dan kemudian sesuaikan propertinya. Perhatikan
bahwa default form juga sudah memiliki kontrol dan Anda dapat mengubah propertinya
terlebih dahulu sebelum menambahkan kontrol tambahan. Setelah menambahkan kontrol ke
form, Anda kemudian perlu menulis kode (coding) untuk semua kontrol sehingga mereka
dapat merespons event yang dipicu oleh tindakan pengguna seperti mengeklik mouse. Oleh
karena itu, Visual Basic 2019 juga merupakan bahasa pemrograman event-driven.

2.6.2 Memodifikasi Tampilan Default-Form Menggunakan Properties Window


Ketika Anda memulai proyek Visual Basic 2019 yang baru, IDE akan menampilkan
default-form bersama dengan jendela Solution Explorer dan jendela Properties di paling
kanan, seperti yang ditunjukkan pada Gambar 2.2.

K E L O M P O K 0 4 | 34
Gambar 2.6 Jendela solution explorer dan properties
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Default-form sebagai satu-satunya objek pada IDE adalah bentuk default dengan nama
Form1, jendela properti menampilkan semua properti yang terkait dengan Form1 dan atribut
atau nilai yang sesuai, seperti yang ditunjukkan pada Gambar 2.2. Anda dapat mengubah
nama form, judul form, warna background, warna foreground, ukuran, dan lainnya. Properti
dapat diubah dengan mengetikkan nilai atau memilih nilai dari drop-down list. Untuk
pengaturan warna, Anda hanya perlu memilih persegi panjang warna atau dari palet warna.

K E L O M P O K 0 4 | 35
Gambar 2.7 Jendela properties
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Contoh:

Tabel 2.10
Contoh Pengaturan Properties Form
Property Value
Name Form baru
Text Program Visual Basic 2019
BackColor Aqua
BackgroundImage Logo Visual Studio
BackgroundImageLayout Zoom
MaximizeBox False
MinimizeBox False
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Pemilihan BackColor (Background Color) dapat dipilih dari tiga tab yang tersedia yaitu,
Custom, Web, dan System. Untuk memilih warna bisa dilakukan dengan mengeklik pada
panah drop-down atau kotak warna pada pemilihan warna custom.

K E L O M P O K 0 4 | 36
Gambar 2.8 Custom palette, web colours, dan system colours
Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Untuk pemilihan Background Image, maka pilihlah sumber gambar pada file yang sudah
tersimpan pada disk.

Gambar 2.9 Memilih resource backgroundimage


Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Hasil pengaturan properties pada interface dapat dilihat pada gambar 2.10

K E L O M P O K 0 4 | 37
Gambar 2.10 Interface form yang sudah diubah properties-nya

2.7 Pembuatan dan Koneksi Database


1. Buka file pdf dalam aplikasi dan select semua data di dalam file pdf untuk dipindahkan
ke dalam Microsoft Excel

Gambar 2.11 Tampilan ketika meng-copy data di aplikasi

K E L O M P O K 0 4 | 38
2. Pindahkan data di kolom A – 1 ,lalu pilih pilihan “Text to Columns” di dalam window
“Data”, lalu pilih “Delimeted” untuk memindahkan text ke dalam kolom yang sesuai

Gambar 2.12 Tampilan di Microsoft Excel

3. Dalam pilihan “Delimiter” hilangkan semua centang didalam kolom dan centang opsi
“space”

Gambar 2.13 Tampilan saat pengaturan Text to Columns

K E L O M P O K 0 4 | 39
4. Data akan dapat ditampilkan dalam multi baris yang telah disesuaikan

Gambar 2.14 Tampilan saat data sudah di tampilkan dalam multi baris

5. Buka aplikasi Microsoft Access lalu pilih “Blank database” , kemudian pilih “External
Data” lalu “Import Excel spreadsheet” data yang diambil adalah data sumber yang telah
disimpan dalam bentuk .xls dalam Microsoft Excel

Gambar 2.15 Tampilan pada saat menambahkan Import Excel spreadsheet

K E L O M P O K 0 4 | 40
6. Pilih tempat menyimpan database di dalam komputer yang akan dipakai, lalu pilih
“Import the source data into a new table in the current database”

Gambar 2.16 Tampilan saat meng-import data

7. Kemudian centang “First Row Contains Column Headings”, set field name sebagai
“Temp” lalu isi kolom “Let Access add primary key”

Gambar 2.17 Tampilan saat mengatur primary key dan row

K E L O M P O K 0 4 | 41
8. Import table yang akan dituju dengan nama file yang telah disimpan

Gambar 2.18 Tampilan saat meng-import data

9. Akan muncul jendela Microsoft Access yang telah di-setting

Gambar 2.19 Tampilan saat selesai meng-import data

K E L O M P O K 0 4 | 42
10. Buka aplikasi Micrososft Visual Studio 2017 lalu tekan “New Project” dan pilih format
Visual Basic, Windows Forms App (.NET Framework)

Gambar 2.20 Tampilan menu awal Visual Studio 2017

11. Tekan pada Control Box menu ‘Data Source” lalu pilih “Add New Source”

Gambar 2.21 Tampilan menu “Data Source”

K E L O M P O K 0 4 | 43
12. Tekan pilihan “Database” lalu tekan pilihan “Dataset”

Gambar 2.22 Tampilan menu saat memilih tipe data

13. Pilih simpanan dari Microsoft Access dalam format .mdb yang telah disimpan dalam
komputer

Gambar 2.23 Tampilan saat memilih asal data yang akan dijadikan database

K E L O M P O K 0 4 | 44
14. Centang kolom “Tables” dan “Views” lalu klik “Finish”

Gambar 2.24 Tampilan menu untuk memilih objek database

K E L O M P O K 0 4 | 45
2.1 Pembuatan Program
2.8.1 Algoritma
2.8.1.1 Main Menu
1. Mulai
2. Klik Program Temperature
3. Proses Program Temperature
4. Apakah ingin menjalankan Program Temperature?
• Ya, lanjut ke langkah 5
• Tidak, lanjut ke langkah 6
5. Masuk Program Temperature
6. Klik Program Pressure
7. Proses Program Temperature
8. Apakah ingin menjalankan Program Pressure?
• Ya, lanjut ke langkah 9
• Tidak, lanjut ke langkah 10
9. Masuk Program Pressure
10. Apakah ingin mengulang Program?
• Ya, kembali ke langkah 2
• Tidak, lanjut ke langkah 11
11. Proses keluar
12. Selesai

2.8.1.2 Program Temperature


1. Mulai
2. Preparation program (Tabel A4, Vfg = Vg – Vf, ΔV = m × Vfg, mhfg = m × hfg)
3. Input T (Temperature ) dalam satuan Celcius
4. Klik Cek
5. Proses Cek
6. Apakah angkanya benar?
• Ya, lanjut ke langkah 9
• Tidak, lanjut ke langkah 7
7. Output label Data tidak valid
8. Proses hapus, kembali ke langkah 3

K E L O M P O K 0 4 | 46
9. Output label Data valid
10. Klik cari
11. Database
12. Proses cari
13. Apakah ada data di database?
• Ya, lanjut ke langkah 20
• Tidak, lanjut ke langkah 14
14. Output label Data tidak valid
15. Klik Interpolasi
16. Proses Interpolasi
17. Apakah data ada di range di dalam database?
• Ya, lanjut ke langkah 20
• Tidak, lanjut ke langkah 18
18. Output label Data tidak valid
19. Proses hapus, kembali ke langkah 3
20. Output label Data valid
21. Output Vf
22. Output Vg
23. Output hfg
24. Klik tombol hitung
25. Proses hitung
26. Output Vfg
27. Input m (massa) dalam satuan kilogram
28. Klik cek
29. Proses cek
30. Apakah angkanya benar?
• Ya, lanjut ke langkah 33
• Tidak, lanjut ke langkah 31
31. Output label Data tidak valid
32. Proses hapus, kembali ke langkah 27
33. Output label Data valid
34. Klik tombol hitung
35. Proses hitung

K E L O M P O K 0 4 | 47
36. Output ∆V
37. Output mhfg
38. Apakah ingin menghitung kembali?
• Ya, lanjut ke langkah 39
• Tidak, lanjut ke langkah 40
39. Proses hapus, kembali ke langkah 3
40. Proses keluar
41. Selesai

2.8.1.3 Program Pressure


1. Mulai
2. Preparation program (Tabel A5, Vfg = Vg – Vf, ΔV = m × Vfg, mhfg = m × hfg)
3. Input P (Pressure) dalam satuan kilopascal
4. Klik Cek
5. Proses Cek
6. Apakah angkanya benar?
• Jika iya, lanjut ke langkah 10
• Jika tidak, lanjut ke langkah 7
7. Output label Data tidak valid
8. Klik konversi
9. Proses konversi
10. Output label Data valid
11. Klik cari
12. Database
13. Proses cari
14. Apakah data ada di dalam database?
• Jika iya, lanjut ke langkah 17
• Jika tidak, lanjut ke langkah 15
15. Output label Data tidak ditemukan
16. Proses hapus, kembali ke langkah 3
17. Output label Data valid
18. Output Vf
19. Output Vg

K E L O M P O K 0 4 | 48
20. Output hfg
21. Klik hitung Vfg
22. Proses hitung Vfg
23. Output Vfg
24. Input m (massa) dalam satuan kilogram
25. Klik cek
26. Proses cek
27. Apakah angkanya benar?
• Jika iya, lanjut ke langkah 31
• Jika tidak, lanjut ke langkah 28
28. Output label Data tidak valid
29. Klik konversi
30. Proses konversi
31. Output label Data valid
32. Klik hitung ΔV
33. Proses hitung ΔV
34. Output ΔV
35. Klik hitung mhfg
36. Proses hitung mhfg
37. Output mhfg
38. Apakah ingin menghitung kembali?
• Jika iya, lanjut ke langkah 39
• Jika tidak, lanjut ke langkah 40
39. Proses hapus, kembali ke langkah 3
40. Proses keluar
41. Selesai

2.8.2 Flowchart
(Terlampir)

2.8.3 Program Code


(Terlampir)

K E L O M P O K 0 4 | 49
2.8.4 Cara Penggunaan Program
1. Akan muncul tampilan awal dari menu utama program

Gambar 2.25 Tampilan awal menu utama

2. Dengan menekan button “Program temperature” akan muncul dua pilihan jika button
“Ya” yang di tekan maka akan memulai ke Program Temperature

Gambar 2.26 Tampilan saat memilih untuk memulai Program Temperature

K E L O M P O K 0 4 | 50
3. Akan muncul tampilan dari program mencari data temperature yang berisikan textbox
T yang akan diisi.

Gambar 2.27 Tampilan awal program Temperature

4. Masukkan nilai temperature (dalam satuan Celcius) yang akan dicari pada textbox T.

Gambar 2.28 Tampilan setelah meng-input nilai Temperature

K E L O M P O K 0 4 | 51
5. Tekan button “Cek” untuk memastikan bahwa data yang dimasukkan adalah data
numerik.

Gambar 2.29 Tampilan setelah menekan button “Cek”

6. Tekan button “Cari” untuk mencari data yang telah dimasukkan. Apabila data tidak
muncul maka tekan button “Interpolasi”

Gambar 2.30 Tampilan setelah menekan button “Cari”

K E L O M P O K 0 4 | 52
7. Tekan button “Hitung” untuk mencari data yang dimasukkan.

Gambar 2.31 Tampilan setelah menekan button “Interpolasi”

8. Masukkan nilai massa (dalam satuan kilogram) yang akan dicari pada textbox “m”

Gambar 2.32 Tampilan setelah menekan button “Hitung”

K E L O M P O K 0 4 | 53
9. Tekan button “Cek” untuk memastikan bahwa data yang dimasukkan adalah data
numerik.

Gambar 2.33 Tampilan setelah meng-input nilai m

10. Tekan button “Hitung” untuk mencari data yang dimasukkan.

Gambar 2.34 Tampilan setelah menekan button “Cek”

K E L O M P O K 0 4 | 54
11. Tekan button “Hitung” untuk mencari data yang dimasukkan

Gambar 2.35 Tampilan setelah menekan button “Hitung”

12. User akan diberi pilihan untuk mengulang program kembali atau tidak dalam kolom
“Apakah anda ingin mengulang program kembali?”. Apabila user menekan button
“Ya”, maka program akan menghapus semua data dalam textbox dan akan memulai
program dari awal. Apabila User menekan button “Tidak”, maka program akan
menutup sendiri dan kembali ke main menu.

Gambar 2.36 Tampilan setelah menekan button “Ya”

K E L O M P O K 0 4 | 55
13. Klik program pressure untuk memulai program pressure

Gambar 2.37 Menu button “Program Pressure”

14. Muncul pilihan apakah akan memulai program “Program Pressure”. Jika button “Ya”
ditekan maka akan memulai program “Program Pressure”.

Gambar 2.38 Menu memulai “Program Pressure” atau tidak

K E L O M P O K 0 4 | 56
15. Akan muncul tampilan awal dari program pencarian data pressure yang berisikan
textbox P yang akan diisi

Gambar 2.39 Tampilan awal program

16. Masukan nilai pressure/tekanan (dalam satuan kilopascal) yang akan dicari

Gambar 2.40 Memasukan nilai pressure/tekanan yang akan dicari

K E L O M P O K 0 4 | 57
17. Tekan button “Cek” untuk memastikan data yang dimasukan adalah numerik

Gambar 2.41 Tampilan form setelah button “Cek” ditekan

18. Tekan button “Cari” untuk menampilkan data dari tekanan yang dimasukan

Gambar 2.42 Tampilan form setelah button “Cari” ditekan

K E L O M P O K 0 4 | 58
19. Tekan button “Hitung Vfg” untuk memulai perhitungan

Gambar 2.43 Tampilan form setelah button “Hitung Vfg” ditekan

20. Masukan nilai m (dalam satuan kilogram) yang akan digunakan di textbox m

Gambar 2.44 Memasukan nilai m yang akan digunakan

K E L O M P O K 0 4 | 59
21. Tekan button “Cek” untuk memastikan apakah data yang dimasukan benar numerik

Gambar 2.45 Tampilan setelah button “Cek” ditekan

22. Tekan button “Hitung ∆V” untuk memulai proses hitung

Gambar 2.46 Tampilan form setelah button “Hitung ∆V” ditekan

K E L O M P O K 0 4 | 60
23. Tekan button “Hitung mhfg” dan user akan diberi pilihan untuk menghitung kembali
atau tidak

Gambar 2.47 Tampilan form saat hasil mfhg telah tertampil

24. Tekan button “Ya” jika ingin melakukan perhitungan kembali. Tekan button “Tidak”
jika ingin menutup program

Gambar 2.48 Tampilan saat button “Ya” ditekan akan kembali ke awal

K E L O M P O K 0 4 | 61
25. Jika button “Tidak” ditekan maka akan muncul menu untuk mengulang program atau
menutup program

Gambar 2.49 Muncul menu untuk mengulang program atau keluar

2.9 Kesimpulan dan Saran


2.9.1 Kesimpulan
1. Visual Studio 2019 merupakan perangkat lunak lengkap yang dapat digunakan untuk
pengembangan aplikasi seperti program pengolahan data yang memerlukan database.
Untuk membuat database di sini penulis menggunakan Microsoft Access karena mudah
dipelajari
2. Visual Studio 2019 dapat digunakan untuk membuat berbagai jenis program yang
bermanfaat seperti program perhitungan dengan mudah karena bahasanya yang mirip
bahasa manusia sehingga mudah dipahami
3. Visual Studio 2019 sebagai interfacing data serial sangat mencukupi karena dapat
menerima dan mengirim data yang beragam jenisnya sesuai kebutuhan.

2.9.2 Saran
1. Untuk praktikum sudah cukup baik
2. Untuk laboratorium sudah baik karena fasilitas lengkap
3. Untuk asisten laboratorium komputer sudah baik
4. Untuk praktikan yang sekarang dan selanjutnya lebih menaati peraturan-peraturan yang
ada, dan lebih rutin mengecek website laboratorium komputer.

K E L O M P O K 0 4 | 62
BAB III
ARDUINO

3.1 Pendahuluan
3.1.1 Latar Belakang
Dengan semakin berkembangnya zaman diikuti dengan semakin majunya teknologi,
para mahasiswa teknik mesin memerlukan suatu perkembangan yang berkelanjutan, karena
kita tidak bisa jauh dari teknologi atau peralatan - peralatan canggih yang ada di sekitar kita.
Dengan semakin canggihnya peralatan yang digunakan kita tentu harus bias
mengoperasikannya. Pada zaman sekarang sebagian besar peralatan sudah dioperasikan
menggunakan program yang dijalankan di komputer. Maka dari itu penting bagi kita para
mahasiswa teknik mesin untuk memahami pemrograman komputer. Dalam praktikum ini
kita akan mempelajari tentang program Arduino UNO.
Arduino adalah pengendali mikro single-board yang bersifat open-source diturunkan
dari wiring platform, dirancang untuk memudahkan penggunaan peralatan elektronik dalam
berbagai bidang. Perangkat lunaknya memiliki bahasa pemrograman sendiri.
Arduino yang kita pakai pada praktikum kali ini adalah Arduino UNO. Jenis Arduino
ini adalah yang paling banyak digunakan, terutama untuk pemula sangat disarankan untuk
menggunakan Arduino UNO. Versi yang terakhir adalah Arduino UNO R3 (revisi 3),
menggunakan ATMEGA328 sebagai mikrokontrolernya memiliki 14 pin I/O digital dan 6
pin input analog. Untuk pemrograman cukup menggunakan koneksi USB (Universal Serial
Bus) tipe A ke tipe B, sama seperti yang digunakan pada USB printer.

3.1.2 Tujuan Praktikum


a. Mengenalkan fungsi dasar dan alur pembuatan algoritma serta flowchart dalam
penyelesaian suatu masalah.
b. Mengenalkan Arduino secara umum.
c. Mengenalkan bagian serta fungsi dari tiap – tiap komponen dalam Arduino.
d. Menjelaskan alur pembuatan secara sederhana melalui Arduino.

K E L O M P O K 0 4 | 63
3.2 Dasar Teori
3.2.1 Lingkungan Arduino Uno

Gambar 3.1 Papan arduino


Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

Bagian-bagian arduino :
1. Quartz Crystal Oscillator (Q1 – Kristal)
Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantungnya
karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller
agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini menghasilkan detak
16 juta kali per detik (16MHz).
2. Power Jack (Sumber Daya Eksternal)
Jika hendak dihubungkan dengan sumber daya ekternal, papan Arduino Uno dapat
diberikan tegangan DC antar 9-12V.
3. Pin RESET
Digunakan untuk menambahkan komponen pengganti reset button secara eksternal
kepada Arduino.
4. Pin 3,3V
Pin yang menghasilkan keluaran berupa tegangan 3,3 volt.

K E L O M P O K 0 4 | 64
5. Pin 5V
Pin yang menghasilkan keluaran berupa tegangan 5 volt. Sebagaian besar
komponen yang digunakan papan Arduino bekerja dengan baik pada tegangan 3.3 volt
dan 5 volt.
6. Pin GND (Ground)
Ada beberapa pin GND pada Arduino yang digunakan untuk menghubungkan
ground rangkaian. Untuk komponen sederhana atau hanya memiliki 2 kaki merupakan
tempat terhubungnya kaki minus.
7. Pin VIn
Pin yang digunakan untuk menghubungkan sumber daya eksternal pada papan
Arduino Uno (DC 9-12V).
8. 6 Pin Input Analog (A0-A5)
Pin ini digunakan untuk membaca tegangan yang dihasilkan oleh sensor analog,
seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 – 1023,
dimana hal itu mewakili nilai tegangan 0 – 5V.
9. Microcontroller ATMega (IC)
Komponen utama dari papan Arduino Uno. Di dalamnya terdapat CPU, ROM, dan
RAM.
10. In-Circuit Serial Programming (ICSP)
Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara
langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini
sehingga ICSP tidak terlalu dipakai walaupun disediakan.
11. Reset Button
Untuk memulai ulang papan sehingga program akan mulai lagi dari awal.
Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau
mengosongkan microcontroller.
12. 14 pin I/O digital (0-13)
Berfungsi sebagai input atau output, yang dapat diatur oleh program. Khusus untuk
6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog output dimana
tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara
0 – 255, dimana hal itu mewakili nilai tegangan 0 – 5V.

K E L O M P O K 0 4 | 65
13. Pin AREF
AREF merupakan singkatan dari Analog Reference. AREF kadanag-kadang
digunakan untuk mengatur tegangan referensi eksternal (antar 0 dan 5 Volts) sebagai
batas atas untuk pin input analog input.
14. TX dan RX LED
Pada papan Arduino, kita akan menemukan label: TX (transmit) dan RX (receive).
TX dan RX muncul di dua tempat pada papan Arduino Uni. Pertama, di pin digital 0
dan 1, Untuk menunjukkan pin yang bertanggung jawab untuk komunikasi serial.
Kedua, TX dan RX led (13). TX led akan berkedip dengan kecepatan yang berbeda saat
mengirim data serial. Kecepatan kedip tergantung pada baud rate yang digunakan oleh
papan arduino. RX berkedip selama menerima proses.
15. USB
Berfungsi untuk memuat program dari komputer ke dalam papan, jalur komunikasi
serial antara papan dan komputer, serta sebagai sumber daya listrik papan arduino.

3.2.2 LCD

Gambar 3.2 LCD 16x2


Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat
dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan
cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik
dalam bentuk karakter, huruf, angka ataupun grafik. Penjelasan pin yang ada di lcd 16x2 :

K E L O M P O K 0 4 | 66
Tabel 3.1
Pin LCD
Pin Simbol Nilai Fungsi
1 Vss - Power Supply 0 Volt (Ground)
2 Vdd/Vcc - Power Supply (Vcc)
3 Vee - Setting Kontras
4 RS 0/1 0: Instruksi input / 1: Data input
5 R/W 0/1 0: Tulis ke LCD / 1: Membaca dari LCD
6 E 0 ->1 Mengaktifkan sinyal
7 DB0 0/1 Data Pin 0
8 DB1 0/1 Data Pin 1
9 DB2 0/1 Data Pin 2
10 DB3 0/1 Data Pin 3
11 DB4 0/1 Data Pin 4
12 DB5 0/1 Data Pin 5
13 DB6 0/1 Data Pin 6
14 DB7 0/1 Data Pin 7
15 VB+ - Power 5 Volt (Vcc) Lampu latar (jika ada)
16 VB- - Power 0 Volt (Ground) Lampu latar (jika ada)
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

3.2.3 Sensor LM35


LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor, kaki IC
ini hanya ada tiga, yaitu VCC, Output, dan GND.

Gambar 3.3 Sensor suhu (LM35)


Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

Karakteristik dari sensor ini yaitu setiap kenaikan 10 mV pada kaki output, menandakan
kenaikan suhu 1° celcius. Konversi suhu pada output LM35 juga tergantung pada tegangan
referensi yang digunakan.

K E L O M P O K 0 4 | 67
3.2.4 Tipe Data
A. Pengertian Tipe Data
Tipe data adalah suatu bentuk penggolongan jenis data berdasarkan kategori data,
ukuran dan kegunaan data yang dapat ditampung oleh sebuah variabel.

Tabel 3.2
Tipe Data Arduino
Type Length (bit) Data Range
Int 16 -32,767 to 32,767
Unsigned int 16 0 to 65,535
Long 32 -2147483648 s/d 2147483647
Unsigned long 32 0 s/d 4294967295
Float 32 1E-37 to 1E+37 with six digits of precision
Double 64 1E-37 to 1E+37 with ten digits of precision
Char 8 -127 to 127
Unsigned char 8 0 to 255
Byte 8 0 to 255
Short 16 -32,767 to 32,767
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

3.2.5 Variabel
Variabel adalah tempat untuk menyimpan sepotong data dan memiliki nama, nilai dan
tipe. Misalnya, pernyataan berikut ini (disebut deklarasi):
int pin = 13;
Menciptakan variabel yang memiliki nama pin, yang memiliki nilai 13, dan yang
memiliki jenis int (Integer). Kemudian dalam program ini, anda dapat merujuk ke variabel
ini dengan namanya, di mana titik nilainya akan dicari dan digunakan. Misalnya, dalam
pernyataan ini:
PinMode(pin, OUTPUT);
Kode diatas adalah nilai dari pin yang akan diteruskan ke fungsi pinMode (). Dalam hal
ini, anda tidak benar-benar perlu menggunakan variabel, pernyataan ini akan bekerja sama
dengan baik.
Keuntungan dari variabel dalam hal ini adalah bahwa anda hanya perlu menentukan
jumlah sebenarnya dari pin, tetapi anda dapat menggunakannya banyak kali. Jadi jika anda

K E L O M P O K 0 4 | 68
kemudian memutuskan untuk mengubah dari pin 13 ke pin 12, anda hanya perlu mengubah
di satu tempat dalam kode. Lalu, anda dapat menggunakan nama deskriptif untuk membuat
signifikansi dari variabel yang jelas.
Sebuah variabel memiliki keuntungan lain atas nilai seperti nomor. Yang paling penting,
anda dapat mengubah nilai variabel menggunakan task (ditandai dengan tanda sama
dengan). Sebagai contoh:
pin = 12;
Akan mengubah nilai variabel untuk 12. Perhatikan bahwa kita tidak menentukan jenis
variabel: itu tidak diubah oleh tugas. Artinya, nama variabel secara permanen terkait dengan
tipe; hanya perubahan nilainya. Perhatikan bahwa anda harus mendeklarasikan variabel
sebelum anda dapat menetapkan nilai untuk itu. Jika anda termasuk pernyataan sebelumnya
dalam program tanpa pernyataan pertama di atas, anda akan mendapatkan pesan seperti:
"error: pin tidak dinyatakan dalam lingkup ini" .
Ketika anda menetapkan satu variabel yang lain, anda membuat salinan nilai dan
penyimpanannya di lokasi di memori yang berhubungan dengan variabel lain. Mengubah
satu nilai tidak berpengaruh pada yang lain. Sebagai contoh:
int pin = 13;
int pin2 = pin;
pin = 12;
Keterangan: Hanya pin memiliki nilai 12; PIN2 masih bernilai 13.
Hal ini mengacu pada bagian dari program anda di mana variabel dapat digunakan. Hal
ini ditentukan oleh di mana anda menyatakan hal itu. Sebagai contoh, jika anda ingin dapat
menggunakan variabel mana saja dalam program anda, anda dapat menyatakan di bagian
atas kode anda. Ini disebut variabel global. Berikut ini contoh variabel global:
int pin = 13
void setup()
{pinMode(pin, OUTPUT);}
void loop()
{digitalWrite(pin, HIGH);}

3.2.6 Operator
A. Pengertian Operator
Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu
nilai data.

K E L O M P O K 0 4 | 69
B. Jenis – Jenis Operator
1. Operator Aritmatika
Operator aritmatika adalah merupakan suatu operator perhitungan matematika
yang digunakan untuk proses perhitungan matematika. Operator aritmatika dapat pada
tabel berikut ini :

Tabel 3.3
Operator Aritmatika
Operator Fungsi
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa hasil pembagian
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

2. Operator Perbandingan
Operator perbandingan adalah merupakan suatu operator yang menyatakan suatu
kondisi itu benar atau salah. Operator perbandingan dapat dilihat pada tabel berikut ini.

Tabel 3.4
Operator Perbandingan
Operator Fungsi
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
= Ciri yang sama
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

K E L O M P O K 0 4 | 70
3. Operator Logika
Operator logika adalah merupakan suatu operator yang dapat membandingkan dua
ekspresi atau lebih data logika (Boolean) dan menghasilkan data logika (Boolean) baru.
Operator logika dapat dilihat pada tabel berikut ini.

Tabel 3.5
Operator Logika
Operator Fungsi
! Tidak
&& Dan
|| Atau
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

4. Operator Penugasan
Operator penugasan adalah merupakan operator yang bertugas untuk menentukan
nilai yang dikeluarkan oleh suatu variabel terhadap kondisi tertentu. Operator penugasan
dapat dilihat pada tabel berikut ini.

Tabel 3.6
Operator Penugasan
Operator Fungsi
= Sama dengan
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

5. Operator Penggabungan
Operator penggabungan adalah merupakan suatu operator yang dapat digunakan
untuk menggabungkan dua buah string atau lebih. Operator penggabungan dapat dilihat
pada tabel berikut ini.

K E L O M P O K 0 4 | 71
Tabel 3.7
Operator Penggabungan
Operator Fungsi
+= Penjumlahan
-= Pengurangan
*= Perkalian
/= Pembagian
%= Sisa hasil integer
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

3.2.7 Kontrol Pemrograman


A. Pengertian Kontrol Pemrograman
Kontrol pemrograman adalah perintah dengan struktur tertentu yang digunakan untuk
mengatur jalannya program yang tujuannya untuk mengatur arah eksekusi program.
B. Jenis – Jenis Kontrol Pemrograman
• If
Digunakan bersama dengan operator perbandingan, untuk melakukan tes apakah
kondisi tertentu telah tercapai, seperti sebagai masukan berada di atas jumlah tertentu.
Format untuk melakukan tes adalah:
if (someVariabel > 50)
{ // do something here }
Tes program untuk melihat apakah beberapa variabel lebih besar dari 50. Jika ya,
program ini mengambil tindakan tertentu. Dengan kata lain, jika pernyataan dalam
kurung adalah benar, pernyataan di dalam kurung dijalankan. Jika tidak, program
melompat dari kode. Kurung dapat dihilangkan setelah pernyataan if. Jika hal ini
dilakukan, baris berikutnya (didefinisikan oleh titik koma) menjadi satu-satunya
pernyataan kondisional.
if (x > 120) {digitalWrite(LEDpin, HIGH);}
if (x > 120) {digitalWrite(LEDpin, HIGH);}
if (x > 120) {digitalWrite(LEDpin, HIGH);}
If(x > 120) {digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);} // all are correct

K E L O M P O K 0 4 | 72
• If / Else
If/ Else memungkinkan kontrol yang lebih besar aliran kode daripada dasar. jika
pernyataan, dengan memungkinkan beberapa tes yang harus dikelompokkan bersama.
Sebagai contoh, input analog dapat diuji dan satu tindakan yang diambil jika input
kurang dari 500, dan tindakan lain yang diambil jika input adalah 500 atau lebih besar.
Kode akan terlihat seperti ini:
if(pinFiveInput < 500)
{ // action A }
Else
{ // action B }
Selain dapat melanjutkan perintah lain saat testing, sehingga beberapa tes secara
eksklusif dapat dijalankan pada waktu yang sama.
Setiap tes akan melanjutkan ke yang berikutnya sampai nilai didapatkan true.
Ketika nilai true ditemukan, blok yang terkait kode dijalankan, dan program kemudian
melompat ke baris berikut seluruh jika / lain. Jika ada tes bernilai true, maka default
blok kode lain dijalankan, dan menetapkan perilaku default.
if(pinFiveInput < 500)
{ // do thing A }
Elseif (pinFiveInput >=1000)
{ // do thing B }
Else
{ // do thing C }
Perhatikan bahwa lain halnya jika blok dapat digunakan dengan atau tanpa
mengakhiri blok lain dan sebaliknya. Jumlah yang tidak terbatas seperti yang lain dapat
dilakukan jika cabang diperbolehkan.
• For Statement
Untuk pernyataan digunakan untuk mengulang blok pernyataan yang diapit oleh
kurung keriting. Counter kenaikan biasanya digunakan untuk peningkatan dan
mengakhiri loop. Untuk pernyataan ini berguna untuk setiap operasi berulang, dan
sering digunakan dalam kombinasi dengan array untuk beroperasi pada koleksi data /
pin. Ada tiga bagian dalam looping yaitu :
For(initialization;condition;increment) {//statement(s);}

K E L O M P O K 0 4 | 73
Gambar 3.4 Bagian dalam looping
Sumber : Laboratorium Komputer Teknik Mesin FT - UB (2020)

Inisialisasi terjadi pertama kali dan harus tepat. Setiap kali melalui loop, kondisi ini
diuji; jika itu bernilai true, blok pernyataan dan kenaikan dijalankan, ketika kondisi diuji
lagi. Ketika kondisi menjadi salah, loop berakhir. Contoh :
// Dim an LED using a PWM pin
int PWMpin = 10; // LED in series with 470 ohm resistor on
pin 10 void setup()
{ // no setup needed }
void loop()
{ for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i);
delay(10); }}
• While Loop
Loop akan loop terus menerus, dan tak terhingga, sampai ekspresi dalam kurung, ()
menjadi bernilai false. Sesuatu harus mengubah variabel yang diuji, atau loop sementara
tidak akan pernah keluar. Hal ini bisa terjadi dalam kode Anda, seperti penambahan
variabel atau kondisi eksternal seperti pengujian sensor. Syntax :
While(expression)
{ // statement(s) }
Contoh penggunaan while loops dapat dilihat di bawah ini:
Var= 0;
while(var < 200){ // do something repetitive 200 times
var++; }

K E L O M P O K 0 4 | 74
3.2.8 Contoh Pemrograman Arduino
1. LED Blink
// Fungsi Setup menyala pada saat Arduino menyala
void setup() {
// Mendeklarasikan Pin 13 sebagi output
pinMode(13, OUTPUT);
}
// Fungsi loop terus berulang
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // Tunggu selama sedetik
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // Tunggu selama sedetik
}
2. LCD 16x2
Menampilkan text “Hello World”
Sketch/circuits examples :

Gambar 3.5 Sketch LCD menampilkan text “Hello World”

Kodingannya :
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin

K E L O M P O K 0 4 | 75
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}
3. Sensor Suhu LM35
Contoh sketch/example circuits

Gambar 3.6 Sketch sensor suhu LM35

K E L O M P O K 0 4 | 76
3.3 Control and Interfacing Project
3.3.1 I/O (Sistem Input/Output)
Sistem input/output komputer atau sering juga disingkat dengan I/O adalah suatu
mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari
proses ke peranti (begitu pula sebaliknya). Fungsi I/O pada dasarnya adalah
mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi
sangat fleksibel, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.
Dalam perangkat komputer terdapat suatu komponen yang dinamakan “Port”, port
adalah suatu lubang atau jalur yang terdapat pada komputer yang berfungsi sebagai jalur
untuk akses transfer data. Dalam sebuah komputer terdapat dus jenis port, yaitu Port
Fisik (physical Port) dan Port Logika (logical Port).
• Port Fisik (physical Port) adalah socket atau slot yang terdapat dibagian belakang
CPU yang digunakan sebagai penghubung perangkat komputer mouse, keyboard,
monitor, dsb.
• Port Logika (logical Port) adalah socket atau slot yang digunakan oleh software untuk
melakukan koneksi dengan komputer lain ataupun dengan internet tentunya.

1 2 3 4

5 6 7 8 9, 10, 11

Gambar 3.7 Interface form yang sudah diubah properties-nya


Sumber: Laboratorium Komputer Teknik Mesin FT - UB (2020)

Keterangan:
1. PS/2 Port (Mouse)
2. Ethernet Port (Network)
3. LPT1 Printer Port (Printer)
4. Game Port (Joystick)

K E L O M P O K 0 4 | 77
5. PS/2 Port (Keyboard)
6. USB Port
7. Serial Port (Dial-Up Modem)
8. VGA Port (Monitor)
9. Speakers
10. Line In
11. Microphone

3.3.2 Data Serial


Data serial atau disebut juga komunikasi data digunakan untuk komunikasi antara papan
Arduino dan komputer atau perangkat lain. Semua papan Arduino memiliki setidaknya satu
port serial (juga dikenal sebagai UART atau USART): Serial. Ini berkomunikasi pada pin
digital 0 (RX) dan 1 (TX) serta dengan komputer melalui USB. Dalam hal ini, Arduino tidak
hanya bisa mengolah data dari pin I/O secara independen. Tetapi dapat juga
dikomunikasikan dengan komputer untuk ditampilkan hasil dari pengolahan datanya
sehingga komunikasi yang dilakukan bersifat dua arah.
Pada Arduino IDE terdapat fasilitas ini, dapat dikirimkan data ke Arduino dan
sebaliknya dapat membaca kiriman dari Arduino. Sebagai contoh, saat mengirimkan isyarat
untuk menhidupkan lampu atau memantau suhu yang terdeteksi oleh sensor suhu di serial
monitor. Jenis – jenis command komunikasi serial Arduino:
1. Serial Begin( )
Untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial.
Kecepatan yang umum digunakan adalah 9600 bit per detik (9600 bps). Namun,
kecepatan hingga 115.200 didukung oleh Arduino. Contoh yang sering digunakan yaitu
serial.begin(9600).
2. Serial.end( )
Digunakan untuk menghentikan program akan perintah komunikasi serial.
3. Serial.available( )
Berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca. Jika
port serial dalam keadaan kosong, maka fungsi ini dapat menghasilkan nilai nol.
4. Serial.read( )
Berguna untuk membaca satu byte data yang terdapat di port serial. Setelah
pemanggilan Serial.read(), jumlah data di port serial berkurang satu.
5. Serial.print(data)

K E L O M P O K 0 4 | 78
Berfungsi untuk mengirimkan data ke port serial. Apabila argumen format
disertakan, data yang dikirim akan menyesuaikan dengan format tersebut. Dalam hal
ini, format yang digunakan bisa berupa.
6. Serial.flush( )
Berfungsi sebagai untuk pengosongan data pembacaan yang ditaruh pada buffer.
7. Serial.parseFloat( )
Berfungsi untuk bilangan titik mengambang atau real.
8. Serial.println(data)
Memiliki fungsi yang hampir sama dengan serial print, yang memberi efek
perpindahan baris berikutnya.
9. Serial.parseln( )
Untuk menghasilkan nilai bulat.

K E L O M P O K 0 4 | 79
3.4 Pembuatan Program
3.4.1 Algoritma
3.4.1.1 Main Menu
1. Mulai
2. Klik Program Temperature
3. Proses Program Temperature
4. Apakah ingin menjalankan Program Temperature?
• Ya, lanjut ke langkah 5
• Tidak, lanjut ke langkah 6
5. Masuk Program Temperature
6. Klik Program Pressure
7. Proses Program Temperature
8. Apakah ingin menjalankan Program Pressure?
• Ya, lanjut ke langkah 9
• Tidak, lanjut ke langkah 10
9. Masuk Program Pressure
10. Apakah ingin mengulang Program?
• Ya, kembali ke langkah 2
• Tidak, lanjut ke langkah 11
11. Proses keluar
12. Selesai

3.4.1.2 Program Temperature


1. Mulai
2. Preparation program (I/O Import, Temperature diubah ke derajat Celcius, Nilai Baud
Rate 9600 dan Illegal Thread, Tabel A4, Vfg = Vg – Vf, ΔV = m × Vfg, mhfg = m ×
hfg)
3. Akses port name aktif
4. Output port name aktif
5. Memilih nama Port yang dimasukkan ke dalam computer
6. Mengetuk tombol “Connect”

K E L O M P O K 0 4 | 80
7. Apakah data yang dimasukkan telah sesuai?
• Ya, muncul label “Connected” dan “Pilih Duration dan Interval”, lanjut ke
langkah 8
• Tidak, muncul label ”Not Connected”, kembali ke langkah 5
8. Memilih nilai durasi yang ada di dalam ComboBox
9. Memilih nilai interval yang ada di dalam ComboBox
10. Mengetuk tombol “Start” untuk memulai hasil pengukuran
11. Sensor LM35 akan mengukur temperatur sesuai dengan interval dan durasi yang
ditentukan
12. Data yang masuk akan disimpan di dalam List Box
13. Data akan ditampilkan dalam bentuk grafik
14. Data suhu akan ditampilkan secara realtime di List Box
15. Mencari suhu minimal yang ada di dalam List Box
16. Mencari suhu maksimal yang ada di dalam List Box
17. Data suhu minimal akan muncul dalam text box “Tmin”
18. Data suhu maksimal akan muncul di dalam textbox “Tmax”
19. Data suhu rata-rata akan muncul di dalam textbox “Tavg”
20. Klik Cek
21. Proses Cek
22. Apakah angkanya benar?
• Ya, lanjut ke langkah 25
• Tidak, lanjut ke langkah 23
23. Output label Data tidak valid
24. Proses hapus, kembali ke langkah 8
25. Output label Data valid
26. Klik cari
27. Database
28. Proses cari
29. Apakah ada data di database?
• Ya, lanjut ke langkah 36
• Tidak, lanjut ke langkah 30
30. Output label Data tidak valid
31. Klik Interpolasi

K E L O M P O K 0 4 | 81
32. Proses Interpolasi
33. Apakah data ada di range di dalam database?
• Ya, lanjut ke langkah 36
• Tidak, lanjut ke langkah 34
34. Output label Data tidak ada di dalam database
35. Proses hapus, kembali ke langkah 8
36. Output label Data valid
37. Output Vf
38. Output Vg
39. Output hfg
40. Klik tombol hitung
41. Proses hitung
42. Output Vfg
43. Input m (massa) dalam satuan kilogram
44. Klik cek
45. Proses cek
46. Apakah angkanya benar?
• Ya, lanjut ke langkah 49
• Tidak, lanjut ke langkah 47
47. Output label Data tidak valid
48. Proses hapus, kembali ke langkah 43
49. Output label Data valid
50. Klik tombol hitung
51. Proses hitung
52. Output ∆V
53. Output mhfg
54. Apakah ingin menghitung kembali?
• Ya, lanjut ke langkah 55
• Tidak, lanjut ke langkah 56
55. Proses hapus, kembali ke langkah 8
56. Proses keluar
57. Selesai

K E L O M P O K 0 4 | 82
3.4.1.3 Program Pressure
1. Mulai
2. Preparation program (Tabel A5, Vfg = Vg – Vf, ΔV = m × Vfg, mhfg = m × hfg)
3. Input P (Pressure) dalam satuan kilopascal
4. Klik Cek
5. Proses Cek
6. Apakah angkanya benar?
• Jika iya, lanjut ke langkah 10
• Jika tidak, lanjut ke langkah 7
7. Output label Data tidak valid
8. Klik konversi
9. Proses konversi
10. Output label Data valid
11. Klik cari
12. Database
13. Proses cari
14. Apakah data ada di dalam database?
• Jika iya, lanjut ke langkah 17
• Jika tidak, lanjut ke langkah 15
15. Output label Data tidak ditemukan
16. Proses hapus, kembali ke langkah 3
17. Output label Data valid
18. Output Vf
19. Output Vg
20. Output hfg
21. Klik hitung Vfg
22. Proses hitung Vfg
23. Output Vfg
24. Input m (massa) dalam satuan kilogram
25. Klik cek
26. Proses cek
27. Apakah angka?
• Jika iya, lanjut ke langkah 31

K E L O M P O K 0 4 | 83
• Jika tidak, lanjut ke langkah 28
28. Output label Data tidak valid
29. Klik konversi
30. Proses konversi
31. Output label Data valid
32. Klik hitung ΔV
33. Proses hitung ΔV
34. Output ΔV
35. Klik hitung mhfg
36. Proses hitung mhfg
37. Output mhfg
38. Apakah ingin menghitung kembali?
• Jika iya, lanjut ke langkah 39
• Jika tidak, lanjut ke langkah 40
39. Proses hapus, kembali ke langkah 3
40. Proses keluar
41. Selesai

3.4.2 Flowchart
(Terlampir)

3.4.3 Program Code


(Terlampir)

K E L O M P O K 0 4 | 84
3.4.4 Cara Penggunaan Program
1. Mempersiapkan papan Arduino yang sesuai dengan sensor LM35
2. Akan muncul tampilan dari program seperti gambar dibawah dan user akan meng-klik
program temperature untuk mengakses program tersebut

Gambar 3.8 Tampilan awal form

3. Klik pilihan “Ya” untuk melanjutkan ke program temperature

Gambar 3.9 Tampilan setelah menekan button “Program Temperature”

K E L O M P O K 0 4 | 85
4. Klik Portname untuk memilih papan Arduino yang telah tersambung

Gambar 3.10 Tampilan awal mencari data suhu

5. User akan memilih nama port yang sudah tersambung dengan papan Arduino yang telah
disambungkan dengan sensor LM35

Gambar 3.11 Tampilan saat memilih nama port

K E L O M P O K 0 4 | 86
6. User akan mengklik button “Connect” untuk memastikan bahwa Port yang diinput
sudah benar

Gambar 3.12 Tampilan setelah menekan button “Connect”

7. User akan memilih nilai durasi di dalam ComboBox

Gambar 3.13 Tampilan saat memilih durasi

K E L O M P O K 0 4 | 87
8. User akan memilih nilai interval di dalam ComboBox

Gambar 3.14 Tampilan saat memilih interval

9. Tekan button “Start” untuk menampilkan suhu

Gambar 3.15 Tampilan hasil data yang kita dapat setelah menekan button “Start”

K E L O M P O K 0 4 | 88
10. Akan muncul nilai suhu minimal dan suhu maksimal yang akan muncul pada textbox T
min, T max dan T avg

Gambar 3.16 Tampilan saat data ditampilkan

11. Klik button “Cek” untuk memastikan bahwa data yang diinput adalah numerik

Gambar 3.17 Tampilan setelah menekan button “Cek”

K E L O M P O K 0 4 | 89
12. Lalu klik button “Cari”

Gambar 3.18 Tampilan setelah menekan button “Cari”

13. Klik button “Interpolasi” dan akan muncul label valid dan juga nilai Vf, Vg dan hfg
pada textbox Vf,Vg dan hfg

Gambar 3.19 Tampilan data setelah menekan button “Interpolasi”

K E L O M P O K 0 4 | 90
14. Klik button “Hitung” untuk mendapatkan nilai Vfg

Gambar 3.20 Tampilan setelah menekan button “Hitung”

15. Lalu input nilai massa (dalam satuan kilogram) pada textbox m

Gambar 3.21 Tampilan saat meng-input nilai m

K E L O M P O K 0 4 | 91
16. Klik button “Cek” untuk memastikan nilai numerik, jika muncul label valid maka lanjut
ke tahap selanjutnya jika label tidak valid muncul maka input massa kembali

Gambar 3.22 Tampilan setelah menekan button “Cek”

17. Klik button “Hitung” untuk mendapatkan nilai ∆V dan mhfg

Gambar 3.23 Tampilan setelah menekan button “Hitung”

K E L O M P O K 0 4 | 92
18. User dapat mengklik button “Ya” jika ingin mengulang program kembali atau meng-
klik button “tidak” jika ingin keluar dari program

Gambar 3.24 Tampilan setelah menekan button “Hitung”

19. Klik program pressure untuk memulai program pressure

Gambar 3.25 Menu button “Program Pressure”

K E L O M P O K 0 4 | 93
20. Muncul pilihan apakah akan memulai program “Program Pressure”. Jika button “Ya”
ditekan maka akan memulai program “Program Pressure”.

Gambar 3.26 Menu memulai “Program Pressure” atau tidak

21. Akan muncul tampilan awal dari program pencarian data pressure yang berisikan
textbox P yang akan diisi

Gambar 3.27 Tampilan awal program

22. Langkah selanjutnya adalah Program 1 langkah (16)

K E L O M P O K 0 4 | 94
3.5 Kesimpulan dan Saran
3.5.1 Kesimpulan
1. Visual Studio 2019 merupakan perangkat lunak lengkap yang dapat digunakan untuk
pengembangan aplikasi seperti program pengolahan data, dalam Project 2 penulis
menghubungkan Visual Studio 2019 dengan Arduino untuk mendeteksi suhu lalu
disimpan dan diolah dalam Visual Studio 2019, di mana suhu ini akan dicari di dalam
database. Untuk membuat database di sini penulis menggunakan Microsoft Access
karena mudah dipelajari dan dapat digunakan sebagai tempat penyimpanan yang baik
2. Arduino dalam Project 2 digunakan untuk mengirim program ke dalam mikrokontroler
(Arduino Uno) dan menerjemahkan data dari sensor agar dapat digunakan di komputer
yang dilaksanakan oleh Visual Studio 2019 dengan data yang diambil dari database
3. Arduino dapat mengirim program ke mikrokontroler dan menampilkan data dari sensor
LM35 pada mikrokontroler dan diteruskan ke Visual Studio 2019.
3.5.2 Saran
1. Untuk praktikum sudah cukup baik
2. Untuk laboratorium sudah baik karena fasilitas lengkap
3. Untuk asisten laboratorium komputer sudah baik
4. Untuk praktikan yang sekarang dan selanjutnya lebih menaati peraturan-peraturan yang
ada, dan lebih rutin mengecek website laboratorium komputer.

K E L O M P O K 0 4 | 95
DAFTAR PUSTAKA

Laboratorium Komputer Teknik Mesin FT – UB, 2020, Malang: Universitas Brawijaya.


Cengel, Cimbala. 2014. Thermodynamics : An Engineering Approach, New York:
McGraw-Hill Education.
Halvorson, Michael. 2010. Microsoft Visual Basic 2010 Step by Step, United States:
Microsoft Press.
Harpiandi. 2004. Pemrograman Database dengan ADO Menggunakan Visual Basic 6.0,
Jakarta: PT. Elex Media Komputindo.
Hartono, Jogiyanto. 2005. Analisis & Design Sistem Informasi : Pendekatan Terstruktur
Teori dan Praktek Aplikasi Bisnis, Edisi:III, Yogyakarta: Andi Offset.
Knurth, Donald E. 1973. The Art of Computer Programming Second Edition Volume I,
Boston: Addison-Wesley.
Laboratorium Komputer Teknik Mesin Brawijaya. 2020. Modul PraktikumVisual Basic
dan Arduino Uno, Malang: Laboratorium Komputer Teknik Mesin Universitas
Brawijaya.
Rahmat, Antonius. 2011. Algoritma Pemrograman dengan Bahasa C: Konsep, Teori, dan
Implementasi, Yogyakarta: Andi Yogyakarta.
Sunyoto, Andi. 2007. Pemrograman Database dengan Visual Basic dan Microsoft SQL.
Yogyakarta: Andi Publisher.
LAMPIRAN
2.8.2 Flowchart
2.8.2.1 Main Menu

K E L O M P O K 0 4 | 98
2.8.2.2 Program Temperature

K E L O M P O K 0 4 | 99
K E L O M P O K 0 4 | 100
2.8.2.3 Program Pressure

K E L O M P O K 0 4 | 101
K E L O M P O K 0 4 | 102
2.8.3 Program Code
2.8.3.1 Main Menu
Public Class home
Private Sub home_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Temp.Enabled = True
Press.Enabled = False 'untuk menonaktifkan tombol'
yat.Visible = False 'untuk menghilangkan label'
tidakt.Visible = False
yap.Visible = False
tidakp.Visible = False
ya.Visible = False
tidak.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
Temp.Select() 'untuk menyarankan tombol yang selanjutnya diklik'
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Temp.Click


Label1.Visible = True
yat.Visible = True
tidakt.Visible = True
yat.Select()
Temp.Enabled = False
End Sub

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


Temp.Enabled = False
Label1.Visible = False
yat.Visible = False
tidakt.Visible = False
Press.Enabled = True
Press.Select()
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Press.Click


Label2.Visible = True
yap.Visible = True
tidakp.Visible = True
yap.Select()
Press.Enabled = False

K E L O M P O K 0 4 | 103
End Sub

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles yap.Click


Me.Hide() 'untuk menghilangkan form ini'
Form2.Show() 'untuk memunculkan form2'
Press.Enabled = False
Label2.Visible = False
yap.Visible = False
tidakp.Visible = False
Label3.Visible = True
ya.Visible = True
tidak.Visible = True
End Sub

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles tidakp.Click


Label3.Visible = True
ya.Visible = True
tidak.Visible = True
Label2.Visible = False
yap.Visible = False
tidakp.Visible = False

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles yat.Click


Me.Hide()
Form1.Show()
Temp.Enabled = False
Press.Enabled = True
Label1.Visible = False
yat.Visible = False
tidakt.Visible = False
Press.Select()
End Sub

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles ya.Click


Temp.Enabled = True
Label3.Visible = False
ya.Visible = False
tidak.Visible = False
End Sub

K E L O M P O K 0 4 | 104
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
End Sub
End Class

2.8.3.2 Program Temperature


Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the
'_TabelA4vishnu_1_DataSet.TabelA4' table. You can move, or remove it, as needed.
Me.TabelA4TableAdapter.Fill(Me._TabelA4vishnu_1_DataSet.TabelA4)
tombolcari.Enabled = False 'untuk menonaktifkan tombol'
tombolinterpolasit.Enabled = False
TextBoxvf.Enabled = False
TextBoxvg.Enabled = False
TextBoxhfg.Enabled = False
TextBoxvfg.Enabled = False
Labelvalidt.Visible = False 'untuk menghilangkan label'
LabelInvalidt.Visible = False
Labelvalidm.Visible = False
Labelinvalidm.Visible = False
textboxT.Focus()
tombolhitungt.Enabled = False
tombolhitungm.Enabled = False
Labelpertanyaan.Visible = False
ya.Visible = False
tidak.Visible = False
TextBoxm.Enabled = False
tombolcekm.Enabled = False
TextBoxdv.Enabled = False
TextBoxmhfg.Enabled = False
Labelvalid.Visible = False
Labelinvalid.Visible = False
Label2.Visible = False
End Sub
Private Sub ButtonINTERPOLASI_Click(sender As Object, e As EventArgs) Handles
tombolinterpolasit.Click
Dim Y(3) As Double 'mendeklarasikan Y untuk Vf, Vg, dan hfg sebagai tipe
data double'
Dim X As Double = textboxT.Text
Dim A As Double

K E L O M P O K 0 4 | 105
Dim B(3) As Double
Dim C As Double
Dim D(3) As Double
Dim ID_Count As Integer
Dim ID_Max As Integer =
_TabelA4vishnu_1_DataSet.Tables("TabelA4").Rows.Count

For ID_Count = 1 To ID_Max


TabelA4BindingSource.Filter = "(ID = " & ID_Count & ")" 'untuk batas
atas nilai input'

textboxT.DataBindings.Add("Text", TabelA4BindingSource, "T")


textboxT.DataBindings.Clear()
TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf")
TextBoxvf.DataBindings.Clear()
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()
B(0) = TextBoxvf.Text
B(1) = TextBoxvg.Text
B(2) = TextBoxhfg.Text

A = textboxT.Text

TabelA4BindingSource.Filter = "(ID = " & ID_Count + 1 & ")" 'untuk batas


bawah nilai input'

textboxT.DataBindings.Add("Text", TabelA4BindingSource, "T")


textboxT.DataBindings.Clear()
TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf")
TextBoxvf.DataBindings.Clear()
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()

D(0) = TextBoxvf.Text
D(1) = TextBoxvg.Text
D(2) = TextBoxhfg.Text

C = textboxT.Text

K E L O M P O K 0 4 | 106
If A <= X And C >= X Then
For i = 0 To 2
Y(i) = B(i) + (((D(i) * X) - (D(i) * A) - (B(i) * X) + (B(i) *
A)) / (C - A)) 'rumus interpolasi'
Next
TextBoxvf.Text = Y(0)
TextBoxvg.Text = Y(1)
TextBoxhfg.Text = Y(2)
textboxT.Text = X
Exit For
End If
Next
tombolinterpolasit.Enabled = False
tombolhitungt.Enabled = True

If X >= 0.01 And X <= 373.95 Then 'untuk memberi batas nilai input sesuai
range dalam database'
Labelvalid.Visible = True
Labelinvalid.Visible = False
Else
Labelinvalid.Visible = True
Labelvalid.Visible = False
TextBoxvf.Text = ""
TextBoxvg.Text = ""
TextBoxhfg.Text = ""
textboxT.Enabled = True
textboxT.Clear() 'untuk mengosongkan textbox'
textboxT.Focus() 'untuk menempatkan kursor langsung di textbox'
tombolcekt.Enabled = True
Labelvalidt.Visible = False
End If
End Sub
Private Sub tombolcekt_Click(sender As Object, e As EventArgs) Handles
tombolcekt.Click
Dim check As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer
LabelInvalidt.Visible = False
Labelvalidt.Visible = False
check = IsNumeric(textboxT.Text) 'nilai input harus berupa numerik'

K E L O M P O K 0 4 | 107
titik = 0

For x = 1 To Len(textboxT.Text) 'untuk karakter 1 sampai karakter terakhir


pada textbox'
karakter = Mid(textboxT.Text, x, 1) 'mengambil x karakter yang berada di
tengah-tengah kriteria dimulai dari karakter 1'
If karakter = "." Then 'agar setelah tanda "." adalah angka 0'
titik += 1
If karakter = "," Then 'jika nilai input mengandung tanda "," maka
nilai input salah'
check = False
End If

End If
Next
karakter = Mid(textboxT.Text, 1, 1)
karakterselanjutnya = Mid(textboxT.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then 'jika nilai input pertama adalah 0
maka yang selanjutnya harus tanda "."'
check = True
Else
check = False
End If
End If
If karakter = "." Then 'jika nilai input karakter pertamanya adalah tanda
"." tanpa diawali angka 0 maka nilai input salah'
check = False
End If
If check = True Then
textboxT.Enabled = False
tombolcekt.Enabled = False
tombolcari.Enabled = True
Labelvalidt.Visible = True
Labelinvalid.Visible = False
Else
LabelInvalidt.Visible = True
textboxT.Text = ""
textboxT.Focus()
Labelinvalid.Visible = False
End If
End Sub

K E L O M P O K 0 4 | 108
Private Sub tombolcari_Click(sender As Object, e As EventArgs) Handles
tombolcari.Click
Me.TabelA4TableAdapter.Fill(Me._TabelA4vishnu_1_DataSet.TabelA4)
TabelA4BindingSource.Filter = "(T = '" & textboxT.Text & "')" 'untuk mencari
nilai temperature di database'

TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf") 'untuk


menginput data dari database'
TextBoxvf.DataBindings.Clear()
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()

If TextBoxvf.Text = "" Then


tombolinterpolasit.Enabled = True
tombolcari.Enabled = False
Labelinvalid.Visible = True
Labelvalid.Visible = False
Else
tombolhitungt.Enabled = True
tombolcari.Enabled = False
Labelvalid.Visible = True
Labelinvalid.Visible = False

End If

End Sub
Private Sub tombolcekm_Click(sender As Object, e As EventArgs) Handles
tombolcekm.Click
Dim check As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer
Labelinvalidm.Visible = False
Labelvalidm.Visible = False
check = IsNumeric(TextBoxm.Text)
titik = 0

For x = 1 To Len(TextBoxm.Text)
karakter = Mid(TextBoxm.Text, x, 1)
If karakter = "." Then

K E L O M P O K 0 4 | 109
titik += 1
End If
If karakter = "," Then
check = False
End If
If karakter = "-" Then 'jika nilai input mengandung tanda "-" maka nilai
input salah'
check = False
End If

Next
karakter = Mid(TextBoxm.Text, 1, 1)
karakterselanjutnya = Mid(TextBoxm.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then
check = True
Else
check = False
End If

End If
If check = True Then
TextBoxm.Enabled = False
tombolcekm.Enabled = False
Labelvalidm.Visible = True
tombolhitungm.Enabled = True
Else
Labelinvalidm.Visible = True
TextBoxm.Text = ""
TextBoxm.Focus()
tombolhitungm.Enabled = False
End If

End Sub
Private Sub tombolhitungt_Click(sender As Object, e As EventArgs) Handles
tombolhitungt.Click
TextBoxvfg.Text = (TextBoxvg.Text - TextBoxvf.Text) 'operasi pengurangan'

TextBoxm.Enabled = True
tombolcekm.Enabled = True
tombolhitungt.Enabled = False
Label2.Visible = True

K E L O M P O K 0 4 | 110
TextBoxm.Focus()
End Sub
Private Sub tombolhitungm_Click(sender As Object, e As EventArgs) Handles
tombolhitungm.Click
TextBoxdv.Text = TextBoxm.Text * TextBoxvfg.Text 'operasi perkalian'
TextBoxmhfg.Text = TextBoxm.Text * TextBoxhfg.Text
Labelpertanyaan.Visible = True
ya.Visible = True
tidak.Visible = True
tombolhitungm.Enabled = False
End Sub
Private Sub ya_Click(sender As Object, e As EventArgs) Handles ya.Click
textboxT.Text = "" 'untuk mengosongkan textbox'
TextBoxvf.Text = ""
TextBoxvg.Text = ""
TextBoxhfg.Text = ""
TextBoxvfg.Text = ""
TextBoxm.Text = ""
TextBoxdv.Text = ""
TextBoxmhfg.Text = ""
Labelvalidt.Visible = False
Labelvalidm.Visible = False
ya.Visible = False
tidak.Visible = False
Labelpertanyaan.Visible = False
Labelvalid.Visible = False
Labelinvalid.Visible = False
Label2.Visible = False
textboxT.Enabled = True
textboxT.Focus()
tombolcekt.Enabled = True
End Sub
Private Sub tidak_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
home.Show() 'untuk memunculkan form home'
End Sub
End Class

K E L O M P O K 0 4 | 111
2.8.3.3 Program Pressure
Public Class Form2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'TabelA52DataSet.Sheet1' table.
You can move, or remove it, as needed.
Me.Sheet1TableAdapter.Fill(Me.TabelA52DataSet.Sheet1)
carip.Enabled = False 'untuk menonaktifkan tombol'
textboxvf.Enabled = False
textboxvg.Enabled = False
textboxhfg.Enabled = False
konversip.Enabled = False
hitungvfg.Enabled = False
cekp.Enabled = False
textboxkonvp.Enabled = False
textboxvfg.Enabled = False
textboxm.Enabled = False
cekm.Enabled = False
konversim.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
textboxkonvm.Enabled = False
textboxv.Enabled = False
textboxmhfg.Enabled = False
tidakp.Visible = False 'untuk menghilangkan label'D:\project 1\T\
validp.Visible = False
tidakm.Visible = False
validm.Visible = False
Label3.Visible = False
ya.Visible = False
tidak.Visible = False
Label4.Visible = False
Label20.Visible = False
End Sub

Private Sub cekp_Click(sender As Object, e As EventArgs) Handles cekp.Click


Dim cek As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer

cek = IsNumeric(textboxp.Text) 'nilai input harus berupa numerik'


titik = 0

K E L O M P O K 0 4 | 112
For x = 1 To Len(textboxp.Text) 'untuk karakter 1 sampai karakter terakhir
pada textbox'
karakter = Mid(textboxp.Text, x, 1) 'mengambil x karakter yang berada di
tengah-tengah kriteria dimulai dari karakter 1'
If karakter = "." Then 'agar setelah tanda "." adalah angka 0'
titik += 1
End If
If karakter = "," Then 'jika nilai input mengandung tanda "," maka nilai
input salah'
cek = False
End If
If karakter = "-" Then 'jika nilai input mengandung tanda "-" maka nilai
input salah'
cek = False
End If
If karakter = "e" Then 'nilai input mengandung huruf "e" maka nilai
input salah karena e memiliki nilai'
cek = False
End If
If karakter = "E" Then 'nilai input mengandung huruf "E" maka nilai
input salah karena E memiliki nilai'
cek = False
End If
Next
karakter = Mid(textboxp.Text, 1, 1)
karakterselanjutnya = Mid(textboxp.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then 'jika nilai input pertama adalah 0
maka yang selanjutnya harus tanda "."'
cek = True
Else
cek = False
End If
End If
If karakter = "." Then 'jika nilai input karakter pertamanya adalah tanda
"." tanpa diawali angka 0 maka nilai input salah'
cek = False
End If
If cek = True Then
textboxkonvp.Text = textboxp.Text
textboxp.Enabled = False
cekp.Enabled = False
carip.Enabled = True

K E L O M P O K 0 4 | 113
validp.Visible = True
tidakp.Visible = False
carip.Select() 'untuk menyarankan tombol yang selanjutnya diklik'
Else
tidakp.Visible = True
textboxp.Enabled = False
cekp.Enabled = False
konversip.Enabled = True
konversip.Select()
End If
Label4.Visible = False
End Sub

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


textboxp.TextChanged
cekp.Enabled = True
End Sub
Private Sub konversip_Click(sender As Object, e As EventArgs) Handles
konversip.Click
Dim karakter As String
Dim karakterselanjutnya As String
Dim konversi As String

konversi = ""

For X = 1 To Len(textboxp.Text)
karakter = Mid(textboxp.Text, X, 1)
karakterselanjutnya = Mid(textboxp.Text, X + 1, 1) 'untuk mengambil
karakter setelah karakter 1'
If (Asc(karakter)) >= 48 And (Asc(karakter)) <= 57 Then 'nilai input
harus angka 0-9'

If Not (karakter = "." And konversi.Contains(".")) Then 'untuk


menyeleksi simbol yang digunakan untuk pengecualian saat konversi'
If Not karakter = "-" Then
If karakter = "0" And konversi = "" Then
If karakterselanjutnya = "." Then
konversi += karakter
End If
Else
konversi += karakter
End If

K E L O M P O K 0 4 | 114
End If
End If
End If

Next
If konversi = "." Then
konversi = "0"
End If
For x = 1 To Len(textboxp.Text)
karakter = Mid(textboxp.Text, x, 1)
karakterselanjutnya = Mid(textboxp.Text, x + 1, 1)
If (Asc(karakter)) >= 48 And Asc(karakter) <= 57 Then

If konversi.StartsWith(".") Then 'jika nilai input diawali tanda "."


maka diganti dengan 0'
konversi = karakter.Replace(".", "0") + konversi
End If
End If
Next

textboxkonvp.Text = konversi

If textboxp.Text = "" Then


textboxkonvp.Text = "0"
End If
validp.Visible = True
konversip.Enabled = False
carip.Enabled = True
hitungvfg.Enabled = False
tidakp.Visible = False
If carip.Enabled = True Then
hitungvfg.Enabled = True
hitungvfg.Select()
End If
hitungvfg.Enabled = False
End Sub
Private Sub carip_Click(sender As Object, e As EventArgs) Handles carip.Click
Me.Sheet1TableAdapter.Fill(Me.TabelA52DataSet.Sheet1)
Sheet1BindingSource.Filter = "(P = '" & textboxkonvp.Text & "')" 'untuk
mencari nilai pressure di database'

K E L O M P O K 0 4 | 115
textboxvf.DataBindings.Add("text", Sheet1BindingSource, "Vf") 'untuk
menginput data dari database'
textboxvf.DataBindings.Clear()
textboxvg.DataBindings.Add("text", Sheet1BindingSource, "Vg")
textboxvg.DataBindings.Clear()
textboxhfg.DataBindings.Add("text", Sheet1BindingSource, "hfg")
textboxhfg.DataBindings.Clear()
hitungvfg.Enabled = False
textboxvf.Visible = True
textboxvg.Visible = True
textboxhfg.Visible = True
textboxkonvp.Visible = True
hitungvfg.Enabled = True
If textboxvf.Text = "" Then
textboxp.Text = ""
hitungvfg.Enabled = False
cekp.Enabled = False
textboxp.Enabled = True
Label4.Visible = True
tidakp.Visible = False
textboxkonvp.Text = ""
End If
carip.Enabled = False
End Sub
Private Sub hitungvfg_Click(sender As Object, e As EventArgs) Handles
hitungvfg.Click
Dim vg, vf, hasil As Double
vg = textboxvg.Text
vf = textboxvf.Text
hasil = vg – vf 'operasi pengurangan'
textboxvfg.Text = hasil
konversip.Enabled = False
hitungvfg.Enabled = False
carip.Enabled = False
textboxm.Focus() 'untuk menempatkan kursor langsung di textbox'
Label20.Visible = True
End Sub
Private Sub cekm_Click(sender As Object, e As EventArgs) Handles cekm.Click
Dim cek As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer

K E L O M P O K 0 4 | 116
cek = IsNumeric(textboxm.Text)
titik = 0
For x = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, x, 1)
If karakter = "." Then
titik += 1
End If
If karakter = "," Then
cek = False
End If
If karakter = "-" Then
cek = False
End If
If karakter = "e" Then
cek = False
End If
If karakter = "E" Then
cek = False
End If
Next
karakter = Mid(textboxm.Text, 1, 1)
karakterselanjutnya = Mid(textboxm.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then
cek = True
Else
cek = False
End If
End If
If karakter = "." Then
cek = False
End If
If cek = True Then
textboxkonvm.Text = textboxm.Text
textboxp.Enabled = False
cekm.Enabled = False
validm.Visible = True
Else
tidakm.Visible = True
textboxm.Enabled = False
cekm.Enabled = False

K E L O M P O K 0 4 | 117
konversim.Enabled = True
End If
End Sub
Private Sub textboxvfg_TextChanged(sender As Object, e As EventArgs) Handles
textboxvfg.TextChanged
textboxm.Enabled = True
cekm.Enabled = True
End Sub
Private Sub konversim_Click(sender As Object, e As EventArgs) Handles
konversim.Click
Dim karakter As String
Dim karakterselanjutnya As String
Dim konversi As String

konversi = ""

For X = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, X, 1)
karakterselanjutnya = Mid(textboxm.Text, X + 1, 1)
If (Asc(karakter)) >= 48 And (Asc(karakter)) <= 57 Then

If Not (karakter = "." And konversi.Contains(".")) Then


If Not karakter = "-" Then
If karakter = "0" And konversi = "" Then
If karakterselanjutnya = "." Then
konversi += karakter
End If
Else
konversi += karakter
End If
End If
End If
End If

Next
If konversi = "." Then
konversi = "0"
End If
For x = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, x, 1)
karakterselanjutnya = Mid(textboxm.Text, x + 1, 1)

K E L O M P O K 0 4 | 118
If (Asc(karakter)) >= 48 And Asc(karakter) <= 57 Then

If konversi.StartsWith(".") Then
konversi = karakter.Replace(".", "0") + konversi
End If
End If

Next

textboxkonvm.Text = konversi

If textboxm.Text = "" Then


textboxkonvm.Text = "0"
End If
validm.Visible = True
konversim.Enabled = False
tidakm.Visible = False
If textboxkonvm.Enabled = True Then
hitungv.Enabled = True
hitungv.Select()
End If

End Sub
Private Sub textboxkonvm_TextChanged(sender As Object, e As EventArgs) Handles
textboxkonvm.TextChanged
hitungv.Enabled = True
textboxv.Enabled = True
End Sub
Private Sub hitungv_Click(sender As Object, e As EventArgs) Handles
hitungv.Click
textboxm.Text = textboxkonvm.Text
Dim m, vfg, hasil As Double
m = textboxm.Text
vfg = textboxvfg.Text
hasil = m * vfg 'operasi perkalian
textboxv.Text = hasil
konversim.Enabled = False
hitungv.Enabled = False
textboxv.Enabled = False
End Sub

K E L O M P O K 0 4 | 119
Private Sub textboxv_TextChanged(sender As Object, e As EventArgs) Handles
textboxv.TextChanged
hitungmhfg.Enabled = True
textboxmhfg.Enabled = True
End Sub
Private Sub hitungmhfg_Click(sender As Object, e As EventArgs) Handles
hitungmhfg.Click
textboxm.Text = textboxkonvm.Text
Dim m, hfg, hasil As Double
m = textboxm.Text
hfg = textboxhfg.Text
hasil = m * hfg
textboxmhfg.Text = hasil
konversim.Enabled = False
hitungmhfg.Enabled = False
textboxmhfg.Enabled = False
Label3.Visible = True
ya.Visible = True
tidak.Visible = True
textboxm.Enabled = False
End Sub
Private Sub ya_Click(sender As Object, e As EventArgs) Handles ya.Click
textboxp.Text = "" 'untuk mengosongkan textbox'
carip.Enabled = False
textboxvf.Text = ""
textboxvg.Text = ""
textboxhfg.Text = ""
konversip.Enabled = False
hitungvfg.Enabled = False
cekp.Enabled = False
textboxkonvp.Text = ""
textboxvfg.Text = ""
textboxm.Text = ""
cekm.Enabled = False
konversim.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
textboxkonvm.Text = ""
textboxv.Text = ""
textboxmhfg.Text = ""
tidakp.Visible = False
validp.Visible = False

K E L O M P O K 0 4 | 120
tidakm.Visible = False
validm.Visible = False
textboxv.Enabled = False
textboxm.Enabled = False
textboxmhfg.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
Label20.Visible = False
textboxp.Enabled = True
textboxp.Focus()
Label3.Visible = False
ya.Visible = False
tidak.Visible = False

End Sub
Private Sub tidak_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
home.Show() 'untuk memunculkan form home'
End Sub
End Class

K E L O M P O K 0 4 | 121
K E L O M P O K 0 4 | 122
Database Program Temperature

K E L O M P O K 0 4 | 123
K E L O M P O K 0 4 | 124
Database Program Pressure

K E L O M P O K 0 4 | 125
K E L O M P O K 0 4 | 126
3.4.2 Flowchart
3.4.2.1 Main Menu

K E L O M P O K 0 4 | 127
3.4.2.2 Program Temperature

K E L O M P O K 0 4 | 128
K E L O M P O K 0 4 | 129
K E L O M P O K 0 4 | 130
3.4.2.3 Program Pressure

K E L O M P O K 0 4 | 131
K E L O M P O K 0 4 | 132
3.4.3 Program Code
3.4.3.1 Main Menu
Public Class home
Private Sub home_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Temp.Enabled = True
Press.Enabled = False 'untuk menonaktifkan tombol'
yat.Visible = False 'untuk menghilangkan label'
tidakt.Visible = False
yap.Visible = False
tidakp.Visible = False
ya.Visible = False
tidak.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
Temp.Select() 'untuk menyarankan tombol yang selanjutnya diklik'
End Sub

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


Temp.Click
Label1.Visible = True
yat.Visible = True
tidakt.Visible = True
yat.Select()
Temp.Enabled = False
End Sub

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


Temp.Enabled = False
Label1.Visible = False
yat.Visible = False
tidakt.Visible = False
Press.Enabled = True
Press.Select()
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Press.Click


Label2.Visible = True
yap.Visible = True
tidakp.Visible = True
yap.Select()

K E L O M P O K 0 4 | 133
Press.Enabled = False
End Sub

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles yap.Click


Me.Hide() 'untuk menghilangkan form ini'
Form2.Show() 'untuk memunculkan form2'
Press.Enabled = False
Label2.Visible = False
yap.Visible = False
tidakp.Visible = False
Label3.Visible = True
ya.Visible = True
tidak.Visible = True
End Sub

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles tidakp.Click


Label3.Visible = True
ya.Visible = True
tidak.Visible = True
Label2.Visible = False
yap.Visible = False
tidakp.Visible = False

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles yat.Click


Me.Hide()
Form1.Show()
Temp.Enabled = False
Press.Enabled = True
Label1.Visible = False
yat.Visible = False
tidakt.Visible = False
Press.Select()
End Sub

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles ya.Click


Temp.Enabled = True
Label3.Visible = False
ya.Visible = False
tidak.Visible = False
End Sub

K E L O M P O K 0 4 | 134
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
End Sub
End Class

3.4.3.2 Program Temperature


Imports System.IO.Ports 'untuk import dari device manager'
Imports System
Public Class Form1
Dim w As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False 'untuk
meniadakan perizinan komunikasi dari luar (serial port) yang masuk ke visual basic'
baudrate.Text = "9600" 'baudrate pada arduino, kecepatan pengolahan per
detik'
Try
For Each port As String In SerialPort.GetPortNames() 'untuk mendeteksi
koneksi arduino ke VB, di device manager'
portname.Items.Add(port)
Next
Catch ex As Exception
Label5.Visible = True 'ketika error code ini dijalankan'
End Try
'TODO: This line of code loads data into the
'_TabelA4vishnu_1_DataSet.TabelA4' table. You can move, or remove it, as needed.
Me.TabelA4TableAdapter.Fill(Me._TabelA4vishnu_1_DataSet.TabelA4)
tombolcari.Enabled = False 'untuk menonaktifkan tombol'
tombolinterpolasit.Enabled = False
TextBoxvf.Enabled = False
TextBoxvg.Enabled = False
TextBoxhfg.Enabled = False
TextBoxvfg.Enabled = False
Labelvalidt.Visible = False 'untuk menghilangkan label'
LabelInvalidt.Visible = False
Labelvalidm.Visible = False
Labelinvalidm.Visible = False
tombolhitungt.Enabled = False
tombolhitungm.Enabled = False
Labelpertanyaan.Visible = False
ya.Visible = False

K E L O M P O K 0 4 | 135
tidak.Visible = False
TextBoxm.Enabled = False
tombolcekm.Enabled = False
TextBoxdv.Enabled = False
TextBoxmhfg.Enabled = False
Labelvalid.Visible = False
Labelinvalid.Visible = False
Label2.Visible = False
tavg.Enabled = False
tombolcekt.Enabled = False
baudrate.Enabled = False
interval.Enabled = False
duration.Enabled = False
tombolstart.Enabled = False
data.Enabled = False
tmax.Enabled = False
tmin.Enabled = False
Label5.Visible = False
Label7.Visible = False
tombolconnect.Enabled = False
End Sub
Private Sub portname_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles portname.SelectedIndexChanged
tombolconnect.Enabled = True 'tombol connect hanya aktif jika portname sudah
dipilih'
End Sub

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


tombolconnect.Click
Try
SerialPort1.BaudRate = Val(baudrate.Text) 'membaca baudrate pada
textbox'
SerialPort1.PortName = portname.SelectedItem 'membaca portname pada
textbox'
SerialPort1.Open() 'serialport terbuka'
Label6.Text = "Connected" 'maka muncul label'
tombolconnect.Enabled = False
duration.Enabled = True
Label7.Visible = True
Catch ex As Exception
Label5.Visible = True 'ketika error code ini dijalankan'
tombolconnect.Enabled = True

K E L O M P O K 0 4 | 136
portname.Enabled = True
End Try
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'untuk pembacaan data setiap perubahan'
w += 1 'tiap tick menambah satu ke variabel'
data.Text = w 'textbox data mengikuti perubahan variabel w, menunjukkan
perubahan banyaknya data yang terdeteksi'
Dim I = SerialPort1.ReadLine 'membaca setiap barisnya'
Try
Dim B
Dim intervl = interval.SelectedItem
Dim time = duration.SelectedItem
Dim X 'menyatakan banyaknya data yang seharusnya bisa dideteksi oleh
sensor di arduino (data teoritis)'
Dim progress
Dim now
now = w
X = (time) / (intervl / 1000) 'data teoritis'
progress = ((now) / X) * 1000
B = I.ToString 'mengonversi hasil deteksi suhu menjadi tipe data string'
Chart1.ChartAreas(0).AxisY.Maximum = 100 'untuk mengatur sumbu Y pada
diagram dengan besar maksimal 100'
Chart1.Series("Series1").Points.AddY(B) 'memasukkan titik ke sumbu Y
sesuai dengan perubahan suhu di serial monitor arduino'
If Chart1.Series(0).Points.Count = X Then 'ketika titik sudah sama
dengan data teoritis, maka'
Chart1.Series(0).Points.RemoveAt(0) 'data pertama dihilangkan karena
untuk menghindari lonjakan data'
ListBox1.Sorted = True 'untuk mengurutkan data dari terkecil ke
terbesar'
Timer1.Enabled = False 'timer1 distop'
End If
If Not I = "" Then 'selama masih ada data yang terbaca, maka'
ListBox1.Items.Add(B) 'listbox1 ditambahkan perubahan data sesuai
dengan "B"'
End If

Catch ex As Exception
End Try
End Sub

K E L O M P O K 0 4 | 137
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
'timer2 untuk menyeleksi suhu minimal, suhu maksimal, dan suhu rata-rata'
ListBox1.Sorted = True
Dim min As Integer = ListBox1.Items.Item(0) 'data pertama (terkecil) sebagai
suhu minimal'
Dim max As Integer = ListBox1.Items.Item(ListBox1.Items.Count - 1) 'data
terakhir (terbesar) sebagai suhu maksimal'
Dim max1 = ListBox1.Items.Count - 1 'data terakhir (terbesar)'
For I = 0 To max1 'dari data pertama sampai data terakhir'
If ListBox1.Items.Item(I) > max Then 'jika data yang masuk lebih besar
dari data terakhir yang sudah ada, maka'
max = ListBox1.Items.Item(I) 'data tersebut masuk sebagai suhu
maksimal'
End If
If ListBox1.Items.Item(I) < min Then 'jika data yang masuk lebih kecil
dari data pertama yang sudah ada, maka'
min = ListBox1.Items.Item(I) 'data tersebut masuk sebagai suhu
minimal'
End If
Next
Dim total As Double
For Each item In ListBox1.Items
total += CDbl(item) 'mengonversi tipe data menjadi double
Next
tavg.Text = CStr(total / ListBox1.Items.Count) 'mengonversi tipe data
menjadi string dan suhu rata-rata didapat dari penjumlahan seluruh data dibagi
jumlah data pada listbox1'
tavg.Text = FormatNumber(tavg.Text, 2) 'untuk membatasi angka di belakang
koma menjadi 2 angka di belakang koma'
tmin.Text = min 'suhu minimal diletakkan pada textbox tmin'
tmin.Text = FormatNumber(tmin.Text, 2)
tmax.Text = max 'suhu maksimal diletakkan pada textbox tmax'
tmax.Text = FormatNumber(tmax.Text, 2)
Timer1.Enabled = False
Timer2.Enabled = False
tombolcekt.Enabled = True
End Sub
Private Sub duration_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles duration.SelectedIndexChanged
interval.Enabled = True
End Sub

K E L O M P O K 0 4 | 138
Private Sub interval_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles interval.SelectedIndexChanged
tombolstart.Enabled = True
tombolstart.Select() 'untuk menyarankan tombol yang selanjutnya diklik'
End Sub
Private Sub Tombolstart_Click(sender As Object, e As EventArgs) Handles
tombolstart.Click
tombolstart.Enabled = False
Try
tombolstart.Enabled = False
Timer1.Interval = Val(interval.SelectedItem) 'nilai interval yang
dipilih'
Timer2.Interval = (Val(duration.SelectedItem) * 1000) 'nilai durasi yang
dipilih (dikali 1000 karena timer pada vb satuannya mili second'
Timer1.Enabled = True
Timer2.Enabled = True
tmax.Visible = True
tmin.Visible = True
Labelvalid.Visible = False
Labelinvalid.Visible = False
Labelinvalid.Visible = False
Labelvalidt.Visible = False
Label7.Visible = False
Catch ex As Exception
End Try
End Sub

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


tombolinterpolasit.Click
Dim Y(3) As Double 'mendeklarasikan Y untuk Vf, Vg, dan hfg sebagai tipe
data double'
Dim X As Double = textboxT.Text
Dim A As Double
Dim B(3) As Double
Dim C As Double
Dim D(3) As Double
Dim ID_Count As Integer
Dim ID_Max As Integer =
_TabelA4vishnu_1_DataSet.Tables("TabelA4").Rows.Count

For ID_Count = 1 To ID_Max

K E L O M P O K 0 4 | 139
TabelA4BindingSource.Filter = "(ID = " & ID_Count & ")" 'untuk batas
atas nilai input'

textboxT.DataBindings.Add("Text", TabelA4BindingSource, "T")


textboxT.DataBindings.Clear()
TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf")
TextBoxvf.DataBindings.Clear()
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()
B(0) = TextBoxvf.Text
B(1) = TextBoxvg.Text
B(2) = TextBoxhfg.Text

A = textboxT.Text

TabelA4BindingSource.Filter = "(ID = " & ID_Count + 1 & ")" 'untuk batas


bawah nilai input'

textboxT.DataBindings.Add("Text", TabelA4BindingSource, "T")


textboxT.DataBindings.Clear()
TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf")
TextBoxvf.DataBindings.Clear()
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()

D(0) = TextBoxvf.Text
D(1) = TextBoxvg.Text
D(2) = TextBoxhfg.Text

C = textboxT.Text

If A <= X And C >= X Then


For i = 0 To 2
Y(i) = B(i) + (((D(i) * X) - (D(i) * A) - (B(i) * X) + (B(i) *
A)) / (C - A)) 'rumus interpolasi'
Next
TextBoxvf.Text = Y(0)
TextBoxvg.Text = Y(1)

K E L O M P O K 0 4 | 140
TextBoxhfg.Text = Y(2)
textboxT.Text = X
Exit For
End If
Next
tombolinterpolasit.Enabled = False
tombolhitungt.Enabled = True

If X >= 0.01 And X <= 373.95 Then 'untuk memberi batas nilai input sesuai
range dalam database'
Labelvalid.Visible = True
Labelinvalid.Visible = False
Else
Labelinvalid.Visible = True
Labelvalid.Visible = False
TextBoxvf.Text = ""
TextBoxvg.Text = ""
TextBoxhfg.Text = ""
textboxT.Enabled = True
textboxT.Clear() 'untuk mengosongkan textbox'
textboxT.Focus() 'untuk menempatkan kursor langsung di textbox'
tombolcekt.Enabled = True
Labelvalidt.Visible = False
End If
End Sub
Private Sub tombolcekt_Click(sender As Object, e As EventArgs) Handles
tombolcekt.Click
Dim check As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer
LabelInvalidt.Visible = False
Labelvalidt.Visible = False
check = IsNumeric(textboxT.Text) 'nilai input harus berupa numerik'
titik = 0

For x = 1 To Len(textboxT.Text) 'untuk karakter 1 sampai karakter terakhir


pada textbox'
karakter = Mid(textboxT.Text, x, 1) 'mengambil x karakter yang berada di
tengah-tengah kriteria dimulai dari karakter 1'
If karakter = "." Then 'agar setelah tanda "." adalah angka 0'
titik += 1

K E L O M P O K 0 4 | 141
If karakter = "," Then 'jika nilai input mengandung tanda "," maka
nilai input salah'
check = False
End If

End If
Next
karakter = Mid(textboxT.Text, 1, 1)
karakterselanjutnya = Mid(textboxT.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then 'jika nilai input pertama adalah 0
maka yang selanjutnya harus tanda "."'
check = True
Else
check = False
End If
End If
If karakter = "." Then 'jika nilai input karakter pertamanya adalah tanda
"." tanpa diawali angka 0 maka nilai input salah'
check = False
End If
If check = True Then
textboxT.Enabled = False
tombolcekt.Enabled = False
tombolcari.Enabled = True
Labelvalidt.Visible = True
Labelinvalid.Visible = False
Else
LabelInvalidt.Visible = True
textboxT.Text = ""
textboxT.Focus()
Labelinvalid.Visible = False
End If
End Sub
Private Sub tombolcari_Click(sender As Object, e As EventArgs) Handles
tombolcari.Click
Me.TabelA4TableAdapter.Fill(Me._TabelA4vishnu_1_DataSet.TabelA4)
TabelA4BindingSource.Filter = "(T = '" & textboxT.Text & "')" 'untuk mencari
nilai temperature di database'

TextBoxvf.DataBindings.Add("text", TabelA4BindingSource, "vf") 'untuk


menginput data dari database'
TextBoxvf.DataBindings.Clear()

K E L O M P O K 0 4 | 142
TextBoxvg.DataBindings.Add("text", TabelA4BindingSource, "vg")
TextBoxvg.DataBindings.Clear()
TextBoxhfg.DataBindings.Add("text", TabelA4BindingSource, "hfg")
TextBoxhfg.DataBindings.Clear()

If TextBoxvf.Text = "" Then


tombolinterpolasit.Enabled = True
tombolcari.Enabled = False
Labelinvalid.Visible = True
Labelvalid.Visible = False
Else
tombolhitungt.Enabled = True
tombolcari.Enabled = False
Labelvalid.Visible = True
Labelinvalid.Visible = False

End If

End Sub
Private Sub tombolcekm_Click(sender As Object, e As EventArgs) Handles
tombolcekm.Click
Dim check As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer
Labelinvalidm.Visible = False
Labelvalidm.Visible = False
check = IsNumeric(TextBoxm.Text)
titik = 0

For x = 1 To Len(TextBoxm.Text)
karakter = Mid(TextBoxm.Text, x, 1)
If karakter = "." Then
titik += 1
End If
If karakter = "," Then
check = False
End If
If karakter = "-" Then 'jika nilai input mengandung tanda "-" maka nilai
input salah'
check = False
End If

K E L O M P O K 0 4 | 143
Next
karakter = Mid(TextBoxm.Text, 1, 1)
karakterselanjutnya = Mid(TextBoxm.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then
check = True
Else
check = False
End If

End If
If check = True Then
TextBoxm.Enabled = False
tombolcekm.Enabled = False
Labelvalidm.Visible = True
tombolhitungm.Enabled = True
Else
Labelinvalidm.Visible = True
TextBoxm.Text = ""
TextBoxm.Focus()
tombolhitungm.Enabled = False
End If

End Sub
Private Sub tombolhitungt_Click(sender As Object, e As EventArgs) Handles
tombolhitungt.Click
TextBoxvfg.Text = (TextBoxvg.Text - TextBoxvf.Text) 'operasi pengurangan'

TextBoxm.Enabled = True
tombolcekm.Enabled = True
tombolhitungt.Enabled = False
Label2.Visible = True
TextBoxm.Focus()
End Sub
Private Sub tombolhitungm_Click(sender As Object, e As EventArgs) Handles
tombolhitungm.Click
TextBoxdv.Text = TextBoxm.Text * TextBoxvfg.Text 'operasi perkalian'
TextBoxmhfg.Text = TextBoxm.Text * TextBoxhfg.Text
Labelpertanyaan.Visible = True
ya.Visible = True
tidak.Visible = True

K E L O M P O K 0 4 | 144
tombolhitungm.Enabled = False
End Sub
Private Sub ya_Click(sender As Object, e As EventArgs) Handles ya.Click
textboxT.Text = "" 'untuk mengosongkan textbox'
TextBoxvf.Text = ""
TextBoxvg.Text = ""
TextBoxhfg.Text = ""
TextBoxvfg.Text = ""
TextBoxm.Text = ""
TextBoxdv.Text = ""
TextBoxmhfg.Text = ""
Labelvalidt.Visible = False
Labelvalidm.Visible = False
ya.Visible = False
tidak.Visible = False
Labelpertanyaan.Visible = False
Labelvalid.Visible = False
Labelinvalid.Visible = False
Label2.Visible = False
textboxT.Enabled = True
textboxT.Focus()
tombolcekt.Enabled = True
End Sub
Private Sub tidak_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
home.Show() 'untuk memunculkan form home'
End Sub
End Class

K E L O M P O K 0 4 | 145
3.4.3.3 Program Pressure
Public Class Form2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'TabelA52DataSet.Sheet1' table.
You can move, or remove it, as needed.
Me.Sheet1TableAdapter.Fill(Me.TabelA52DataSet.Sheet1)
carip.Enabled = False 'untuk menonaktifkan tombol'
textboxvf.Enabled = False
textboxvg.Enabled = False
textboxhfg.Enabled = False
konversip.Enabled = False
hitungvfg.Enabled = False
cekp.Enabled = False
textboxkonvp.Enabled = False
textboxvfg.Enabled = False
textboxm.Enabled = False
cekm.Enabled = False
konversim.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
textboxkonvm.Enabled = False
textboxv.Enabled = False
textboxmhfg.Enabled = False
tidakp.Visible = False 'untuk menghilangkan label'D:\project 1\T\
validp.Visible = False
tidakm.Visible = False
validm.Visible = False
Label3.Visible = False
ya.Visible = False
tidak.Visible = False
Label4.Visible = False
Label20.Visible = False
End Sub

Private Sub cekp_Click(sender As Object, e As EventArgs) Handles cekp.Click


Dim cek As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer

cek = IsNumeric(textboxp.Text) 'nilai input harus berupa numerik'


titik = 0

K E L O M P O K 0 4 | 146
For x = 1 To Len(textboxp.Text) 'untuk karakter 1 sampai karakter terakhir
pada textbox'
karakter = Mid(textboxp.Text, x, 1) 'mengambil x karakter yang berada di
tengah-tengah kriteria dimulai dari karakter 1'
If karakter = "." Then 'agar setelah tanda "." adalah angka 0'
titik += 1
End If
If karakter = "," Then 'jika nilai input mengandung tanda "," maka nilai
input salah'
cek = False
End If
If karakter = "-" Then 'jika nilai input mengandung tanda "-" maka nilai
input salah'
cek = False
End If
If karakter = "e" Then 'nilai input mengandung huruf "e" maka nilai
input salah karena e memiliki nilai'
cek = False
End If
If karakter = "E" Then 'nilai input mengandung huruf "E" maka nilai
input salah karena E memiliki nilai'
cek = False
End If
Next
karakter = Mid(textboxp.Text, 1, 1)
karakterselanjutnya = Mid(textboxp.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then 'jika nilai input pertama adalah 0
maka yang selanjutnya harus tanda "."'
cek = True
Else
cek = False
End If
End If
If karakter = "." Then 'jika nilai input karakter pertamanya adalah tanda
"." tanpa diawali angka 0 maka nilai input salah'
cek = False
End If
If cek = True Then
textboxkonvp.Text = textboxp.Text
textboxp.Enabled = False
cekp.Enabled = False
carip.Enabled = True

K E L O M P O K 0 4 | 147
validp.Visible = True
tidakp.Visible = False
carip.Select() 'untuk menyarankan tombol yang selanjutnya diklik'
Else
tidakp.Visible = True
textboxp.Enabled = False
cekp.Enabled = False
konversip.Enabled = True
konversip.Select()
End If
Label4.Visible = False
End Sub

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


textboxp.TextChanged
cekp.Enabled = True
End Sub
Private Sub konversip_Click(sender As Object, e As EventArgs) Handles
konversip.Click
Dim karakter As String
Dim karakterselanjutnya As String
Dim konversi As String

konversi = ""

For X = 1 To Len(textboxp.Text)
karakter = Mid(textboxp.Text, X, 1)
karakterselanjutnya = Mid(textboxp.Text, X + 1, 1) 'untuk mengambil
karakter setelah karakter 1'
If (Asc(karakter)) >= 48 And (Asc(karakter)) <= 57 Then 'nilai input
harus angka 0-9'

If Not (karakter = "." And konversi.Contains(".")) Then 'untuk


menyeleksi simbol yang digunakan untuk pengecualian saat konversi'
If Not karakter = "-" Then
If karakter = "0" And konversi = "" Then
If karakterselanjutnya = "." Then
konversi += karakter
End If
Else
konversi += karakter
End If

K E L O M P O K 0 4 | 148
End If
End If
End If

Next
If konversi = "." Then
konversi = "0"
End If
For x = 1 To Len(textboxp.Text)
karakter = Mid(textboxp.Text, x, 1)
karakterselanjutnya = Mid(textboxp.Text, x + 1, 1)
If (Asc(karakter)) >= 48 And Asc(karakter) <= 57 Then

If konversi.StartsWith(".") Then 'jika nilai input diawali tanda "."


maka diganti dengan 0'
konversi = karakter.Replace(".", "0") + konversi
End If
End If
Next

textboxkonvp.Text = konversi

If textboxp.Text = "" Then


textboxkonvp.Text = "0"
End If
validp.Visible = True
konversip.Enabled = False
carip.Enabled = True
hitungvfg.Enabled = False
tidakp.Visible = False
If carip.Enabled = True Then
hitungvfg.Enabled = True
hitungvfg.Select()
End If
hitungvfg.Enabled = False
End Sub
Private Sub carip_Click(sender As Object, e As EventArgs) Handles carip.Click
Me.Sheet1TableAdapter.Fill(Me.TabelA52DataSet.Sheet1)
Sheet1BindingSource.Filter = "(P = '" & textboxkonvp.Text & "')" 'untuk
mencari nilai pressure di database'

K E L O M P O K 0 4 | 149
textboxvf.DataBindings.Add("text", Sheet1BindingSource, "Vf") 'untuk
menginput data dari database'
textboxvf.DataBindings.Clear()
textboxvg.DataBindings.Add("text", Sheet1BindingSource, "Vg")
textboxvg.DataBindings.Clear()
textboxhfg.DataBindings.Add("text", Sheet1BindingSource, "hfg")
textboxhfg.DataBindings.Clear()
hitungvfg.Enabled = False
textboxvf.Visible = True
textboxvg.Visible = True
textboxhfg.Visible = True
textboxkonvp.Visible = True
hitungvfg.Enabled = True
If textboxvf.Text = "" Then
textboxp.Text = ""
hitungvfg.Enabled = False
cekp.Enabled = False
textboxp.Enabled = True
Label4.Visible = True
tidakp.Visible = False
textboxkonvp.Text = ""
End If
carip.Enabled = False
End Sub
Private Sub hitungvfg_Click(sender As Object, e As EventArgs) Handles
hitungvfg.Click
Dim vg, vf, hasil As Double
vg = textboxvg.Text
vf = textboxvf.Text
hasil = vg – vf 'operasi pengurangan'
textboxvfg.Text = hasil
konversip.Enabled = False
hitungvfg.Enabled = False
carip.Enabled = False
textboxm.Focus() 'untuk menempatkan kursor langsung di textbox'
Label20.Visible = True
End Sub
Private Sub cekm_Click(sender As Object, e As EventArgs) Handles cekm.Click
Dim cek As Boolean
Dim karakter As Char
Dim karakterselanjutnya As Char
Dim titik As Integer

K E L O M P O K 0 4 | 150
cek = IsNumeric(textboxm.Text)
titik = 0
For x = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, x, 1)
If karakter = "." Then
titik += 1
End If
If karakter = "," Then
cek = False
End If
If karakter = "-" Then
cek = False
End If
If karakter = "e" Then
cek = False
End If
If karakter = "E" Then
cek = False
End If
Next
karakter = Mid(textboxm.Text, 1, 1)
karakterselanjutnya = Mid(textboxm.Text, 2, 1)
If karakter = "0" Then
If karakterselanjutnya = "." Then
cek = True
Else
cek = False
End If
End If
If karakter = "." Then
cek = False
End If
If cek = True Then
textboxkonvm.Text = textboxm.Text
textboxp.Enabled = False
cekm.Enabled = False
validm.Visible = True
Else
tidakm.Visible = True
textboxm.Enabled = False
cekm.Enabled = False

K E L O M P O K 0 4 | 151
konversim.Enabled = True
End If
End Sub
Private Sub textboxvfg_TextChanged(sender As Object, e As EventArgs) Handles
textboxvfg.TextChanged
textboxm.Enabled = True
cekm.Enabled = True
End Sub
Private Sub konversim_Click(sender As Object, e As EventArgs) Handles
konversim.Click
Dim karakter As String
Dim karakterselanjutnya As String
Dim konversi As String

konversi = ""

For X = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, X, 1)
karakterselanjutnya = Mid(textboxm.Text, X + 1, 1)
If (Asc(karakter)) >= 48 And (Asc(karakter)) <= 57 Then

If Not (karakter = "." And konversi.Contains(".")) Then


If Not karakter = "-" Then
If karakter = "0" And konversi = "" Then
If karakterselanjutnya = "." Then
konversi += karakter
End If
Else
konversi += karakter
End If
End If
End If
End If

Next
If konversi = "." Then
konversi = "0"
End If
For x = 1 To Len(textboxm.Text)
karakter = Mid(textboxm.Text, x, 1)
karakterselanjutnya = Mid(textboxm.Text, x + 1, 1)

K E L O M P O K 0 4 | 152
If (Asc(karakter)) >= 48 And Asc(karakter) <= 57 Then

If konversi.StartsWith(".") Then
konversi = karakter.Replace(".", "0") + konversi
End If
End If

Next

textboxkonvm.Text = konversi

If textboxm.Text = "" Then


textboxkonvm.Text = "0"
End If
validm.Visible = True
konversim.Enabled = False
tidakm.Visible = False
If textboxkonvm.Enabled = True Then
hitungv.Enabled = True
hitungv.Select()
End If

End Sub
Private Sub textboxkonvm_TextChanged(sender As Object, e As EventArgs) Handles
textboxkonvm.TextChanged
hitungv.Enabled = True
textboxv.Enabled = True
End Sub
Private Sub hitungv_Click(sender As Object, e As EventArgs) Handles
hitungv.Click
textboxm.Text = textboxkonvm.Text
Dim m, vfg, hasil As Double
m = textboxm.Text
vfg = textboxvfg.Text
hasil = m * vfg 'operasi perkalian
textboxv.Text = hasil
konversim.Enabled = False
hitungv.Enabled = False
textboxv.Enabled = False
End Sub

K E L O M P O K 0 4 | 153
Private Sub textboxv_TextChanged(sender As Object, e As EventArgs) Handles
textboxv.TextChanged
hitungmhfg.Enabled = True
textboxmhfg.Enabled = True
End Sub
Private Sub hitungmhfg_Click(sender As Object, e As EventArgs) Handles
hitungmhfg.Click
textboxm.Text = textboxkonvm.Text
Dim m, hfg, hasil As Double
m = textboxm.Text
hfg = textboxhfg.Text
hasil = m * hfg
textboxmhfg.Text = hasil
konversim.Enabled = False
hitungmhfg.Enabled = False
textboxmhfg.Enabled = False
Label3.Visible = True
ya.Visible = True
tidak.Visible = True
textboxm.Enabled = False
End Sub
Private Sub ya_Click(sender As Object, e As EventArgs) Handles ya.Click
textboxp.Text = "" 'untuk mengosongkan textbox'
carip.Enabled = False
textboxvf.Text = ""
textboxvg.Text = ""
textboxhfg.Text = ""
konversip.Enabled = False
hitungvfg.Enabled = False
cekp.Enabled = False
textboxkonvp.Text = ""
textboxvfg.Text = ""
textboxm.Text = ""
cekm.Enabled = False
konversim.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
textboxkonvm.Text = ""
textboxv.Text = ""
textboxmhfg.Text = ""
tidakp.Visible = False
validp.Visible = False

K E L O M P O K 0 4 | 154
tidakm.Visible = False
validm.Visible = False
textboxv.Enabled = False
textboxm.Enabled = False
textboxmhfg.Enabled = False
hitungv.Enabled = False
hitungmhfg.Enabled = False
Label20.Visible = False
textboxp.Enabled = True
textboxp.Focus()
Label3.Visible = False
ya.Visible = False
tidak.Visible = False

End Sub
Private Sub tidak_Click(sender As Object, e As EventArgs) Handles tidak.Click
Me.Close() 'untuk menutup form ini'
home.Show() 'untuk memunculkan form home'
End Sub
End Class

3.4.3.4 Arduino
int sensor = A1;
int led1 = 10;
int led2 = 11;
const int buzzer = 7;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(sensor,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(buzzer,OUTPUT);
analogReference(INTERNAL);
}

void loop() {

K E L O M P O K 0 4 | 155
// put your main code here, to run repeatedly:
int sensorValue = analogRead(A1);
float voltage = (sensorValue/9.309);
Serial.println(voltage);
if (voltage<=50)
{
noTone(buzzer);
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
delay(1000);
}
else if (voltage>=50)
{
tone(buzzer,200,500);
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
delay(1000);
}
}

K E L O M P O K 0 4 | 156
Scan Kartu Asistensi

Type text here


K E L O M P O K 0 4 | 157
K E L O M P O K 0 4 | 158
Type text here

K E L O M P O K 0 4 | 159
K E L O M P O K 0 4 | 160
K E L O M P O K 0 4 | 161
Type te

K E L O M P O K 0 4 | 162
K E L O M P O K 0 4 | 163
K E L O M P O K 0 4 | 164

Anda mungkin juga menyukai