Laporan Project 2

download Laporan Project 2

of 20

description

prokom bab2

Transcript of Laporan Project 2

LaporanPraktikumPemrograman KomputerSemester Genap 2014/2015

3.2 Project 23.2.1 Definisi MasalahSecara umum, dapat diketahui bahwa di dalam komputer terdapat banyak komponen-komponen yang dapat membantu untuk menyelesaikan pekerjaan manusia dengan lebih cepat, khususnya pekerjaan manusia yang berhubungan dengan pemecahan masalah perhitungan dan pengontrolan yang dapat diselesaikan dengan menggunakan program Microsoft Visual Basic 8.0.Dalam permasalahan ini, komputer diharapkan dapat membantu manusia dalam kecepatan dan ketepatan penyelesaian program. Komputer mampu menyelesaikan segalanya karena memiliki beberapa fasilitas diantaranya input output yang dapat digunakan untuk menghubungkan komputer dengan alat di luar komputer. Fasilitas tersebut adalah USB Port dan Parallel Port. Gambaran interface ini diaplikasikan pada lampu LED yang dipasang secara seri dalam sebuah rangkaian sederhana. Rangkaian ini hanya dibatasi sebanyak 4 buah lampu LED dimana agar LED tersebut dapat digunakan dengan dihubungkan melalui port parallel yang bernama DB-25. Property 8 byte data pada DP adalah bilangannya dicacah sampai 8, yaitu ada 8 jalur data (8 byte yang berhubungan dengan bilangan biner). Satu jalur data pada DP mempunyai 2 jalur data bias 0 atau 1. Jika lampu LED menyala, berarti logika tinggi (bernilai 1). Jika lampu LED mati, berarti logika rendah (bernilai 0). Karena Visual Basic 8.0 tidak dapat mengakses hardware secara langsung dalam sistem konfigurasi windows, maka permintaaan pengaksesan hardware harus melalui windows. Oleh karena itu, kita harus menggunakan program external untuk melakukan pengaksesan hardware secara langsung. Pada program ini, maka harus memakai sebuah file .dll (Dynamic Link Library) yang diberi hanya inpout32.dll. untuk dapat menggunakannya, file .dll harus diletakkan dalam direktori windows/system atau diikuti dalam satu folder program yang kita buat.

3.2.2 Algoritmaa. Algoritma lampu LED yang menyala manual1. Mulai2. Klik button 13. ihandle04. lampu 1 menyala5. Ingin Matikan lampu 1? Jika ya, non aktifkan ihandle0 Jika tidak lanjut langkah 66. klik button 27. ihandle18. lampu 2 menyala9.Ingin Matikan lampu 2? Jika ya, non aktifkan ihandle1 Jika tidak lanjut langkah 1010. klik button 311. ihandle212. lampu 3 menyala13. Ingin Matikan lampu 3? Jika ya, non aktifkan ihandle2 Jika tidak lanjut langkah 1414. klik button 415. ihandle316. lampu 4 menyala17. Ingin Matikan lampu 4? Jika ya, non aktifkan ihandle3 Jika tidak lanjut langkah 1818. Apakah ingin mengulang ? Jika ya ,kembali ke langkah 2 Jika tidak,lanjut ke langkah 1918. Selesai.

b. Algoritma nyala lampu LED yang dikombinasikan dengan project 1 ( penghitungan usaha)1. Mulai.2. Inisiasi rumus F(X) = X5 + X4 + X3 + X2 + X.3. Input nilai X.4. Verifikasi Input.5. Apakah input berupa angka ? Jika Ya Muncul messagebox Input hanya berupa Angka. Jika Tidak lanjut ke langkah 9.6. Apakah input berupa karakter ? Jika Ya muncul messagebox Input hanya berupa Karakter. Jika Tidak lanjut ke langkah 7.7. Input adalah berupa Angka dan Karakter.8. Pisahkan angka & karakter. Angka di misalkan a Karakter dimisalkan b.9. Hitung dengan rumus F(X).10. Output hasil F(X).11. Apakah ingin keluar. Jika Ya anda keluar dari program. Jika Tidak ke langkah 12.12. Apakah anda ingin menghitung ulang? Jika Ya kembali ke langkah 3. Jika Tidak kembali ke langkah 10.

3.2.3 Flowcharta.Flowchart nyala lampu LED manualAlampu 1 menyalaIhandle,0Klik button 1Mulai

Matikan lampu 3?

Klik button 2

Klik button 4

Ihandle,3Matikan lampu 1?

Klik button 2

Lampu 4 menyala

Ihandle,1Klik button 2Matikan lampu 4?Klik button 2

SelesaiApakah ingin mengulang ?Klik button 2Klik button 3Matikan lampu 2?Lampu 3 menyalaAIhandle,2Lampu 2 menyala

b.Flowchart nyala lampu LED yang dihubungkan dengan project 1 ( penghitungan fungsi polinomial)

Mulai

F(X) = X5 + X4 + X3 + X2 + X

INPUTKAN NILAI X

VERIFIKASI

ANGKA & KARAKTERANGKA SAJA?KARAKTER SAJA

Message Box : Input Hanya Berupa karakterMessage Box : Input Hanya Berupa AngkaMessage Box : Input berupa angka & karakter.

Ihandle,1Ihandle,0

Ihandle,2 & 3

Lampu 3 & 4 nyalaLampu 2 nyalaLampu 1 nyala

Hitung F(X)Pisahkan angka & karakter

Hasil Perhitungan

Angka = a

Ingin Menghitung Ulang ?KELUAR

Karakter = b

Hitung dengan rumus

Selesai

3.2.4 Listing Programa. Listing program nyala lampu LED secara manualOption Explicit OnImports Microsoft.Win32.SafeHandlesImports System.Runtime.InteropServicesImports HID_IOConverter_NETPublic Class Form1 Dim iHandle As SafeFileHandle Dim HiDi As New HID_IOConverter_NET.HID_IOConverter_Function Dim returns As Long

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load iHandle = HiDi.Hid_OpenDevice If Not iHandle.IsInvalid Then returns = HiDi.GPIO_DDR_Out(iHandle, &HFF) returns = HiDi.GPIO_Port_Out(iHandle, &H0) Else Label5.Text = "USB HiDClassIOConverter terlebih dahulu,kemudian buka kembali program ini..." End If TextBox1.Visible = False TextBox2.Visible = False TextBox3.Visible = False TextBox4.Visible = False TextBox1.Enabled = False TextBox2.Enabled = False TextBox3.Enabled = False TextBox4.Enabled = False Button2.Enabled = False Button3.Enabled = False Button4.Enabled = False HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0) HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1) HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2) HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3) End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Visible = True TextBox1.BackColor = Color.Red HiDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0) Button5.Visible = True Button2.Enabled = True Button1.Enabled = False Button5.Enabled = True End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Button6.Enabled = True Button2.Enabled = True TextBox2.Visible = True TextBox2.BackColor = Color.Blue HiDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1) Button6.Visible = True Button2.Enabled = False TextBox3.Enabled = True Button3.Enabled = True End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox3.Enabled = False TextBox2.Visible = True Button3.Enabled = True TextBox3.Visible = True Button7.Visible = True Button7.Enabled = True Button3.Enabled = False TextBox3.BackColor = Color.Green HiDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2) Button4.Enabled = True End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Button9.Enabled = True Button9.Visible = True Button4.Enabled = False TextBox4.Visible = True Button8.Visible = True Button8.Enabled = True Button4.Enabled = False TextBox4.BackColor = Color.Snow HiDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3) End Sub

Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click TextBox1.Visible = False Button5.Enabled = False HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0) End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click TextBox2.Visible = False Button6.Enabled = False HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1) End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click TextBox3.Visible = False Button7.Enabled = False HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2) End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click TextBox4.Visible = False Button8.Enabled = False HiDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3) End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click Dim x As Integer x = MsgBox("Apakah ingin mengulang?", vbInformation + vbYesNo, "perhatian") If x = vbNo Then Me.Close() ElseIf x = vbYes Then Button1.Enabled = True TextBox1.Visible = False TextBox2.Visible = False TextBox3.Visible = False TextBox4.Visible = False TextBox1.Enabled = False TextBox2.Enabled = False TextBox3.Enabled = False TextBox4.Enabled = False Button2.Enabled = False Button3.Enabled = False Button4.Enabled = False Button5.Enabled = False Button6.Enabled = False Button7.Enabled = False Button8.Enabled = False

End If End SubEnd Class

b.Listing program nyala lampu LED yang dihubungkan dengan project 1 ( perhitungan usaha)

Option Explicit OnImports Microsoft.Win32.SafeHandlesImports System.Runtime.InteropServicesImports HID_IOConverter_NET

Public Class Form1 Dim iHandle As SafeFileHandle Dim HiDi As New HID_IOConverter_NET.HID_IOConverter_Function Dim returns As Long Private Sub Btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnkeluar.Click If MsgBox("Yakin Ingin Keluar?", MsgBoxStyle.YesNo, "Question") = MsgBoxResult.Yes Then Me.Close() ElseIf MsgBox("Apakah Anda Ingin Menghitung Ulang?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then Btnkeluar.Enabled = False Txtnilaix.Text = "" Txtnilaix.Enabled = True lblhasil.Visible = False ListBox1.Visible = False Txtangka.Visible = False Txtkarakter.Visible = False Label6.Visible = False Label5.Visible = False TextBox7.BackColor = Color.White TextBox8.BackColor = Color.White TextBox9.BackColor = Color.White btnpisahkan.Enabled = False HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0) HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1) HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2) HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3) End If End Sub Private Sub Txtnilaix_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtnilaix.TextChanged

Btnverifikasi.Enabled = True If Txtnilaix.Text = "" Then Txtangka.Text = "" Txtnilaix.Text = "" ListBox1.Items.Clear() Btnverifikasi.Enabled = False btnghitungfx.Enabled = False End If End Sub

Private Sub Btnverifikasi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnverifikasi.Click Txtnilaix.Enabled = False Btnverifikasi.Enabled = False If Txtnilaix.Text "" Then Txtangka.Text = "" Txtkarakter.Text = "" Dim jml As Integer = Len(Txtnilaix.Text) Dim i As Integer = 1 For i = 1 To jml Dim kiri As String = (Microsoft.VisualBasic.Left(Txtnilaix.Text, i)) Dim kanan As String = (Microsoft.VisualBasic.Left(Txtnilaix.Text, i - 1)) Dim huruf As String = Replace(kiri, kanan, "") Dim ascii As Integer = Asc(huruf) If (ascii >= 48 And ascii = 33 And ascii = 58 And ascii = 48 And ascii = 33 And ascii = 58 And ascii = 48 And ascii = 33 And ascii = 58 And ascii