Download - Laporan Project 2 Prokom 2015
1
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
BAB IIIPEMBUATAN PROGRAM
3.1 Project 1
3.1.1 DefinisiMasalah
Program Visual Basic merupakan program yang khususnya mempermudah
pekerjaan manusia yang berhubungan dengan pemecahan masalah perhitungan dan
pengontrolan. Visual Basic dapat memaksimalkan fungsi dari sebuah komputer.
.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. Gambaran interface
ini diaplikasikan pada pengontrolan nyala lampu LED melalui USB Port. Dalam
pengontrolan rangkaian 4 buah lampu LED ini dibutuhkan konverter yang berfungsi
sebagai penerjemah protokol serial USB menjadi logika high low yang dapat dengan
mudah kita mengerti. Salah satu jenis keonverter tersebut adalah USB HID IO
Converter.
USB HID IO Converter merupakan konverter USB ke 8 bit IO, I2C, SPI dan
ADC. USB konverter ini adalah USB kelas HID (Human Interface Device) sehingga
tidak memerlukan instalasi driver USB baik di sistem operasi Windows. Sistem operasi
tersebut sudah menyediakan drivernya yang tentunya memudahkan kita dalam
menggunakannya. Sistem operasi lain seperti Macintosh, Android dan Linux pun juga
sudah menyediakan driver untuk USB kelas HID sehingga USB HID IO Converter ini
juga bisa digunakan pada sistem operasi tersebut.
Fungsi dari lampu LED dapat dimaksimalkan dengan menghubungkannya pada
program yang dibuat di visual basic. Pada project kali ini lampu LED tersebut
dihubungkan dengan program menghitung tegangan/beda potensial (V=I*R). Lampu
LED menyala bersesuain dengan jenis inputan yang dimasukan pada program sehingga
memudahkan pengguna mengetahui jenis inputan yang telah dimasukan.
3.1.2 Algoritma
a. MDI Form
1. Mulai2. Start3. Apakah anda ingin membuka program 1 ?
Jika iya maka akan menuju ke langkah 4
2
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
Jika tidak maka akan kembali ke langkah 24. Program 1 terbuka5. Apakah anda ingin membuka program 2 ?
Jika iya maka akan menuju ke langkah 6 Jika tidak maka akan kembali ke langkah 2
6. Program 2 terbuka7. selesai
b. Program 1
1. Mulai.
2. Inisiasi rumus F(X) = X7+X6 + X5 + X4 + X3+X2+X.
3. Input nilai X.
4. Cek 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
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
c. Program 2
1. Mulai2. Klik Button 13. Messagebox “Lampu 1 menyala”dan Lampu LED 1 menyala4. Klik Button 25. Messagebox “Lampu 2 menyala”dan Lampu LED 2 menyala6. Klik Button 37. Messagebox “Lampu 3 menyala”dan Lampu LED 3 menyala8. Klik Button 49. Messagebox “Lampu 4 menyala”dan Lampu LED 4 menyala10. Matikan lampu11. Semua lampu LED mati12. Selesai
4
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
3.1.3 Flowchart
a.MDI Form
5
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
b. Program 1
Pisahkan angka & karakter
Hitung F(X)
Hasil Perhitungan Angka = “a”
Karakter = “b”
Hitung dengan rumus
Selesai
Ingin Menghitung
Ulang ?
KELUAR
“Input berupa angka & karakter.” “Input Hanya Berupa
Karakter “
“Input Hanya Berupa Angka”
ANGKA & KARAKTER
F(X)=X6+X5+X4+X3+X2+X
CEK
MULAI
INPUTKAN NILAI
KARAKTER SAJA?
ANGKA SAJA?
Y
T
Y
T
Y
Y
T
T
Lampu 1 menyala Lampu 2 menyala Lampu 3 menyala
6
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
c. Program 2
7
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
3.1.4 Listing Program
a. MDI FormPublicClass MDIParent1
PrivateSub Program1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Program1ToolStripMenuItem.Click
Dim c AsInteger = Messagebox.Show("Apakah anda ingin membuka program 1?", "peringatan", MessageboxButtons.YesNo)If c = DialogResult.Yes Then
Form1.Show()Form2.Close()
EndIfEndSubEndClass
b. Program 1
Option Explicit OnImports Microsoft.Win32.SafeHandlesImports System.Runtime.InteropServicesImports HID_IOConverter_NET
Public Class Form1Dim iHandle As SafeFileHandleDim HIDi As New HID_IOConverter_NET.HID_IOConverter_FunctionDim Returns As Long
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.Click
Label10.Visible = TrueListBox1.Visible = TrueButton1.Enabled = FalseButton3.Enabled = FalseButton4.Enabled = TrueTextBox1.Enabled = False
Dim a, b, c, d, k, f As StringDim u As StringDim j As Stringa = ("^7")b = ("^6")c = ("^5")d = ("^4")k = ("^3")f = ("^2")u = ("+")j = (TextBox1.Text)
If TextBox1.Text <> "" ThenTextBox3.Text = ""TextBox4.Text = ""
Dim jml As Integer = Len(TextBox1.Text)Dim i As Integer = 1
For i = 1 To jmlDim kiri As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i))Dim kanan As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i - 1))Dim huruf As String = Replace(kiri, kanan, "")Dim Ascii As Integer = Asc(huruf)
Menampilkan Messagebox untuk memulai program 1
Pilihan ya akan membuka program 1 pilihan tidak akan mengembalikan MDI Form ke tampilan awal
Untuk mengimpor refrensi “
HID_IOConverter_NET.dll untuk
dimasukan ke dalam program LampuLed
Pendeklarasian variable untuk
menyalakan lampu
8
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
If (Ascii >= 48 And Ascii <= 57) ThenTextBox3.Text += Chr(Ascii)ElseIf (Ascii >= 33 And Ascii <= 47) Or (Ascii >= 58 And Ascii <= 126) ThenTextBox4.Text += Chr(Ascii)End IfNext
If Len(TextBox3.Text) = Len(TextBox1.Text) ThenDim hasil As Double = Val(TextBox1.Text) ^ 7 + Val(TextBox1.Text) ^ 6 + Val(TextBox1.Text) ^ 5 + Val(TextBox1.Text) ^ 4 + Val(TextBox1.Text) ^ 3 + Val(TextBox1.Text) ^ 2 + Val(TextBox1.Text)ListBox1.Items.Add(hasil)
ElseIf Len(TextBox4.Text) = Len(TextBox1.Text) ThenDim hasil As String = j & a & u & j & b & u & j & c & u & j & d & u & j & k & u & j & f & u & jListBox1.Items.Add(hasil)
ElseDim v As Stringv = TextBox4.Text
Dim hasil7 As String = Val(TextBox1.Text) ^ 7 & v & a & uDim hasil6 As String = Val(TextBox1.Text) ^ 6 & v & b & uDim hasil5 As String = Val(TextBox1.Text) ^ 5 & v & c & uDim hasil4 As String = Val(TextBox1.Text) ^ 4 & v & d & uDim hasil3 As String = Val(TextBox1.Text) ^ 3 & v & k & uDim hasil2 As String = Val(TextBox1.Text) ^ 2 & v & f & uDim hasil1 As String = Val(TextBox1.Text) & vDim hasil As String = hasil7 + hasil6 + hasil5 + hasil4 + hasil3 + hasil2 + hasil1
ListBox1.Items.Add(hasil)End IfEnd IfEnd Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.LoadiHandle = HIDi.Hid_OpenDevice
If Not iHandle.IsInvalid ThenReturns = HIDi.GPIO_DDR_Out(iHandle, &HFF)Returns = HIDi.GPIO_Port_Out(iHandle, &H0)MsgBox("Device terdeteksi.", MsgBoxStyle.OkOnly, "Peringatan")
ElseLabel8.Text = "USB HIDClass<->IOConvertertidak terkoneksi..." _ & "Koneksikan USB MIDClass<->IOConverter terlebihdahulu." _ & "Kemudian buka kembaliprogram ini..."
End IfLabel10.Visible = FalseTextBox3.Visible = FalseEnd Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.ClickTextBox1.Enabled = False
If TextBox1.Text <> "" ThenTextBox3.Text = ""TextBox4.Text = ""Dim jml As Integer = Len(TextBox1.Text)Dim i As Integer = 1
Berfungsi untuk mendeteksi device lampu dan memberikan output label “Device terdeteksi.” Apabila device terhubung dan memberikan output messagebox
USB HIDClass<->IOConverter tidak terkoneksi apabila device tidak terhubung
9
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
For i = 1 To jmlDim kiri As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i))Dim kanan As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i - 1))Dim huruf As String = Replace(kiri, kanan, "")Dim Ascii As Integer = Asc(huruf)
If (Ascii >= 48 And Ascii <= 57) ThenTextBox3.Text += Chr(Ascii)ElseIf (Ascii >= 48 And Ascii <= 57) Or (Ascii >= 58 And Ascii <= 126) ThenTextBox4.Text += Chr(Ascii)End If
NextIf Len(TextBox3.Text) = Len(TextBox1.Text) ThenMsgBox("Inputan hanya berupa angka")MsgBox("Lampu 1 menyala", MsgBoxStyle.OkOnly, "Peringatan")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)Button1.Enabled = FalseButton3.Enabled = TrueHIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
ElseIf Len(TextBox4.Text) = Len(TextBox1.Text) ThenMsgBox("Inputan hanya berupa karakter")MsgBox("Lampu 2 menyala", MsgBoxStyle.OkOnly, "Peringatan")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1)Button1.Enabled = FalseButton3.Enabled = TrueHIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1)
ElseMsgBox("Inputan berupa angka dan karakter")MsgBox("Lampu 3 menyala", MsgBoxStyle.OkOnly, "Peringatan")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2)Button1.Enabled = FalseButton2.Enabled = TrueHIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2)
End IfEnd IfEnd Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles TextBox1.TextChangedButton1.Enabled = True
If TextBox1.Text = "" ThenTextBox3.Text = ""TextBox1.Text = ""ListBox1.Items.Clear()Button1.Enabled = FalseButton3.Enabled = FalseEnd IfEnd Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click
Button1.Enabled = FalseButton3.Enabled = TrueButton2.Enabled = FalseLabel11.Visible = TrueLabel12.Visible = TrueTextBox3.Visible = TrueTextBox4.Visible = TrueTextBox3.Enabled = FalseTextBox4.Enabled = False
If TextBox1.Text <> "" ThenTextBox3.Text = ""TextBox4.Text = ""
Dim jml As Integer = Len(TextBox1.Text)
Lampu 1 akan menyala jika inputan berupa angka
Lampu 2 akan menyala jika inputan berupa huruf
Lampu 3 akan menyala jika inputan berupa angka dan huruf
10
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
Dim i As Integer = 1
For i = 1 To jmlDim kiri As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i))Dim kanan As String = (Microsoft.VisualBasic.Left(TextBox1.Text, i - 1))Dim huruf As String = Replace(kiri, kanan, "")Dim Ascii As Integer = Asc(huruf)
If (Ascii >= 48 And Ascii <= 57) ThenTextBox3.Text += Chr(Ascii)ElseIf (Ascii >= 33 And Ascii <= 47) ThenTextBox4.Text += Chr(Ascii)ElseIf (Ascii >= 58 And Ascii <= 126) ThenTextBox4.Text += Chr(Ascii)End If
NextEnd IfEnd Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click
If MsgBox("yakin ingin keluar?", MsgBoxStyle.YesNo,"Question") = MsgBoxResult.Yes ThenMsgBox("Lampu 4 menyala", MsgBoxStyle.OkOnly,"Peringatan")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3)HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3)Me.Close()
ElseIf MsgBox("Apakah ingin menghitung again?",MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1)HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2)HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3)
MsgBox("Ok")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)
Button2.Enabled = FalseButton4.Enabled = False
TextBox1.Text = ""TextBox1.Enabled = TrueTextBox3.Visible = FalseTextBox4.Visible = False
Label10.Visible = FalseLabel11.Visible = FalseLabel12.Visible = False
ListBox1.Visible = FalseEnd IfEnd SubEnd Class
Mematikan semua lampu
Memberikan pilihan “apakah ingin mengulang program?”
Pilihan ya akan menghapus seluruh textbox dan memberikan tampilan awal program
Pilihan tidak akan mengeluarkan program
11
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
c. Program 2
OptionExplicitOnImports Microsoft.Win32.SafeHandlesImports System.Runtime.InteropServicesImports HID_IOConverter_NET
PublicClass Form2Dim iHandle As SafeFileHandleDim HIDi AsNew HID_IOConverter_NET.HID_IOConverter_FunctionDim Returns AsLong
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)HandlesMyBase.Load
iHandle = HIDi.Hid_OpenDevice
IfNot iHandle.IsInvalid ThenReturns = HIDi.GPIO_DDR_Out(iHandle, &HFF)Returns = HIDi.GPIO_Port_Out(iHandle, &H0)MsgBox("Device terdeteksi.", MsgBoxStyle.OkOnly, "Peringatan")
ElseLabel1.Text = "USB HIDClass<->IOConverter tidakterkoneksi..." _ &"Koneksikan USB MIDClass<->IOConverter terlebih dahulu." _ &"Kemudian buka kembaliprogram ini..."
EndIf
Button2.Enabled = FalseButton3.Enabled = FalseButton4.Enabled = FalseButton5.Enabled = FalseEndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Messagebox.Show("Lampu 1 menyala", "Perhatian")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
Button1.Enabled = FalseButton2.Enabled = TrueButton3.Enabled = FalseButton4.Enabled = FalseButton5.Enabled = FalseEndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Messagebox.Show("Lampu 2 menyala", "Perhatian")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port1)
Button1.Enabled = FalseButton2.Enabled = FalseButton3.Enabled = TrueButton4.Enabled = FalseButton5.Enabled = FalseEndSub
Untuk mengimpor refrensi “
HID_IOConverter_NET.dll untuk
dimasukan ke dalam program LampuLed
Pendeklarasian
variable untuk
menyalakan lampu
Berfungsi untuk mendeteksi device lampu dan memberikan output label “Device terdeteksi.” Apabila device terhubung dan memberikan output messagebox
USB HIDClass<->IOConverter tidak terkoneksi apabila device tidak terhubung
Memberikan output messagebox "Lampu 2 menyala” dan menyalakan lampu 2 apabila button 2 ditekan
Memberikan output messagebox "Lampu 1 menyala” dan menyalakan lampu 1 apabila button 1 ditekan
12
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Messagebox.Show("Lampu 3 menyala", "Perhatian")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port2)
Button1.Enabled = FalseButton2.Enabled = FalseButton3.Enabled = FalseButton4.Enabled = TrueButton5.Enabled = FalseEndSub
PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click
Messagebox.Show("Lampu 4 menyala", "Perhatian")HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port3)
Button1.Enabled = FalseButton2.Enabled = FalseButton3.Enabled = FalseButton4.Enabled = FalseButton5.Enabled = TrueEndSub
PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button5.Click
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)MDIParent1.Close()
EndSubEndClass
3.1.4 Cara Penggunaan Program
a.MDI Form
1. Bukaaplikasidenganklik shortcut program visual basic
2. Klik start untukmemulai program
3. KeluarMessagebox“apakahinginmembuka program 1 ?“. klik “Ya”
untukmemulai program 1, klik “Tidak” kembalike menu start
4. Apabilaklik “Ya” program akanberjalanhinggaselesaikemudianlajut program
berikutnya
5. KeluarMessagebox “apakahinginmembuka program 1 ?“. klik “Ya”
untukmemulai program 2, klik “Tidak” untukkembalike menu start
6. Apabilaklik “Ya” program akanberjalanhinggaselesai program
Memberikan output messagebox "Lampu 3 menyala” dan menyalakan lampu 3 apabila button 3 ditekan
Memberikan output messagebox "Lampu 4 menyala” dan menyalakan lampu 4 apabila button 4 ditekan
Mematikan semua lampu dari lampu 1 sampai lampu 4 kemudian mengakhiri semua program
13
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
b.Program 1
1. Interface Program Polinomial Orde 7
Gambar 3.4: Tampilan awal program 1Sumber : Print Out Visual Basic 2008
2. Isikan kolom nilai x dengan angka, karakter atau angka dan karakter
3. Klik “verifikasi nilai x” untuk mengecheck apakah inputan berupa angka, karakter
atau angka dan karakter. Jika Inputan nilai X berupa angka maka lampu 1 menyala, jika
inputan nilai X berupa karakter maka lampu 2 menyala dan jika inputan nilai X berupa
angka dan karakter maka lampu 3 menyala.
Gambar 3.5 Messagebox yang muncul jika inputan hanya berupa angka.Sumber : Print layout Interface pada program Menghitung Fungsi Polinomial Orde 7.
14
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
Gambar 3.2 Lampu 1 menyalaSumber : Dokumentasi pribadi
Gambar 3.3 Messagebox yang muncul jika inputan diisi karakter saja.Sumber : Print layout Interface pada program Menghitung Fungsi Polinomial Orde 7.
Gambar 3.3 Lampu 2 menyalaSumber : Dokumentasi Pribadi
15
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
Gambar 3.4 Messagebox yang muncul jika inputan berupa angka & karakter.Sumber : Print layout Interface pada program Menghitung Fungsi Polinomial Orde 7.
Gambar 3.4 Lampu 3 menyalaSumber : Dokumentasi pribadi
4. Klik “ Hitung “ mengetahui hasil dari perhitungan polinomial.
5. Setelah hasil keluar maka keempat lampu akan menyala bersamaan
6. Klik “ keluar” sehingga semua lampu akan padam dan muncul message box “apakah
anda ingin menghitung ulang?” dan Jika iya maka inputan akan terhapus dan kembali ke
program awal dan jika tidak maka program 1 akan keluar dan program 2 akan muncul
16
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
Gambar 4.2 Messagebox yang muncul saat mengklik button No.Sumber : Interface penggunaan button Keluar
Gambar 3.5 Lampu 4 menyalaSumber : Dokumentasi pribadi
17
Laporan PraktikumPemrograman Komputer
Semester Genap 2014/2015
c.Program 2
1. Klik Button 1
2. Setelah di klik maka akan keluar Messagebox “Lampu 1 menyala”dan
Lampu LED 1 menyala
3. Klik Button 2
4. Setelah di klik maka akan keluarMessagebox “Lampu 2 menyala”dan Lampu
LED 2 menyala
5. Klik Button 3
6. Setelah di klik maka akan keluarMessagebox “Lampu 3 menyala”dan Lampu
LED 3 menyala
7. Klik Button 4
8. Setelah di klik maka akan keluarMessagebox “Lampu 4 menyala”dan Lampu
LED 4 menyala
9. KlikMatikan lampu, makaSemua lampu LED mati
10. Selesai