Photobucket

good

Photobucket

WAKTU KITA


assalamualaikum teman2 semua moga semua sehat selalu amin

06 Februari 2011

Visual Basic


DASAR VISUAL BASIC

a. dasar visual basic

Nah disini kita akan membahas tentang bagaimana agar form-form yang ada diproject visual basic 6.0 agar terkoneksi dengan M.acces 2003 caranya sbb :

1. Menbuka Visual Basic

Nah disini pastikan dulu bahwa dikomputer anda telah terinstal program Visual Basic 6.0,dan apa bila sudah terinstal dengan benar Visual basic 6.0. maka klik visual basicnya dan pilih open setelah itu akan muncul gambar seperti dibawah ini


2. Langkah Pembuatan Form


a. sekarang kita akan mengisi sebuah form
b. sebelum mengisi sebuah form terlebih dahulu buat nama formnya
c. adapun cara pembuatan nama klik dahulu form,label,textbox,dan juga command perlu dingat, nama tidak boleh mengunakan spasi contoh :
- data_pegawai = salah
- datapegawai = benar

- lalu isi caption, kalau di caption nama boleh memakai spasi ( free )
-
d. atur dahulu font yang akan digunakan caranya sbb :
- klik form
- pilih di properties form
- lalu pilih font
- setelah itu lalu klik tombol yang ada disebelah nya
- tentukan huruf,jenis huruf,serta besar fontnya
e. setelah anda menentukan font lalu isilah form tersebut dengan label, textbox, dan juga command.
f. caranya pilih untuk simbol ( label ) yang ada di tool general
g. lalu pilih untuk simbol ( textbox ) juga di tool general
h. pilih untuk simbol ( command ) nah,setelah semua perintah dimasukkan ke form akan tampil gambar sbb

i. lalu buatlah nama masing-masing label,textbox, commad di name dan juga di caption sesuai perintah yang ada di poin c dan d
j. tetapi untuk textbox bukan mengunakan caption tetapi text yang ada di tombol properties juga seperti gambar sbb
k. lalu di save. Perlu di ingat,ketika meng save, project dan form tersebut tidak bisa terpisah harus di folder yang sama. Karna pada saat membukanya yang dibuka adalah projectnya bukan form,sedangkan formnya berada di dalam project.



3. Pembuatan Program Penjumlahan

adapun langkah pembuatan program penjumlahan di Visual Basic 6.0 sama dengan yang diatas. tetapi didalam pembuatan program ini kita harus mamasukkan rumus penjumlahan yaitu simbol ( + ).di view codenya Sbb

a. buka form baru isi objet seperti gambar sbb


b. disini yang ingin kita tampilkan nilai, nilai dari jumlah
c. dan diingat nama dari masing-masing textbox yang sudah dibuat. Karna nama-nama tersebut adalah code yang akan kita tuliskan di view code nantinya.
d. Dan setelah itu kita akan tampilkan nilai dari jumlah caranya sbb
- double click textbox jumlah dan akan muncul view code sbb


e. lalu ketik syntax sbb :
- syntax : nama text.text=val ( nama text yang akan dijumlahkankan.text) + val ( nama text yang dijumlahkan.text )
- contoh : bil3.text = val (bil1.text ) + val (bil2.text )
- sedangkan val singkatan dari values yaitu nilai yang akan ditampilkan
f. setelah itu, kita ingin nilai tersebut langsung terlihat ketika nilai kita ketikkan di bil 2 ( textbox )
- caranya double click bil 2 ( textbox ) atau langsung pilih dari bil 2, agar anda tidak repot copy bil3.text = val (bil1.text ) + val (bil2.text ) lalu pastekan di private sub bil 2
g. lalu jalankan F5
h. begitu juga dengan program perkalian hanya merubah simbol ( + ) menjadi simbol ( * ) dan juga simbol ( -, / ) di view codenya.
i. setelah kita memasukkan data lalu kita ingin menghapus tanpa mengulang ( meng stop program ) caranya dengan membuat tombol command di form kita dan double klik akan muncul view code dan
- isikan syntax command hapus sbb
bil1.Text = " "
bil2.Text = " "
bil3.Text = " "
j. ketika menjalankan program,lalu kita isi data bil1,bil2 & bil3 dan tekan tombol hapus secara otomatis akan terhapus data yang kita isikan tersebut.
k. Begitu juga dengan command keluar tambahkan command ke object form lalu double klik akan muncul view code dan ketikkan
- isikan syntak command keluar sbb
end



4. Pembuatan Jam & Tanggal Pada Object Form

Adapun cara pembuatan jam & tanggal pada object form tersebut, kita harus menambahkan label beserta timer ke form yang akan diibuat sbb :

a. setelah membuat form,lalu kita tambahkan lagi label untuk jam dan tanggal ke object form. buat namanya letakkan sesuka anda.lalu pilih simbol timer yang ada pada tool general . setelah itu tambahkan juga ke object form,setelah ditambahkan,pilih simbol timer ubah intervalnya menjadi 100 agar sesuai dengan tanggal & jam sekarang
- contoh :

b. double klik label yang mau dijadikan tanggal dan jam lalu akan muncul view code, dan isikan
- contoh syntax tanggal
Label4.Caption = Format(Date, dd, mm, yy)
- atau juga bisa dengan menambahkan simbol Dtpicker di tool general apabila tidak ada ikuti petunjuk pembuatan Updown dan masukkan ke form yang kita buat

- contoh syntax jam
Label5.Caption = Format(time, hh, mm, ss)
c. lalu jalankan F5



5. Pembuatan ComboBox

Kita masih tetap pada object form, perintah ComboBox dimana perintah ini akan membantu kita pada saat memasukkan text,number,yang banyak, sehingga kita hanya tinggal memilih saja sbb :

a. masukkan pada object form simbol ComboBox yang terdapat pada tool general,dan tambahkan juga label
b. nah apabila anda tidak ingin repot-repot dalam memasukkan simbol label,textbox,command,ComboBox dan juga simbol lainnya, caranya langsung di copy saja simbol apa yang ingin anda copy
c. lalu pastekan dan pada saat pengcopyan kita akan diarahkan pada perintah,apakah kamu siap untuk mengcopy misal label1 apakah kamu setuju, lalu ada pilihan yes, no, dan help, dan anda pilih saja no. Karna pada saat kita memilih no, label yang tadinya label1 akan berubah menjadi label2 dan apabila yes akan tetap label1.
d. jangan lupa setiap simbol yang kita masukkan ke object form telebih dahulu membuat namanya agar memudahkan kita dalam pembuatan rumus di view code nantinya
e. dan bouble klik simbol ComboBox dan akan muncul view code
- syntax ComBox

cagama.AddItem "islam"
cagama.AddItem "kristen"
cagama.AddItem "protestan"
cagama.AddItem "hindu"

f. jalankan F5 dan pilihlah agama mu dan hasilnya sbb :



6. Pembuatan Updown

sekarang kita akan menambahkan simbol Updown, dimana fungsinya untuk menambahkan nomor sebanyak-banyaknya tanpa harus mengetiknya cukup dipilih saja caranya sbb :

a. pertama anda harus mencari simbol Updown yang ada pada tool general
b. dan apabila tidak ada klik kanan pada tool general lalu pilih components



c. setelah muncul tampilan diatas ceklis microsoft windows comman controls-2 6.0 pilih oke
d. lalu masukkan simbol Updown tersebut ke form object
e. apabila sudah tampil Updownnya sekarang anda atur min-max di properties form

f. tentukan dimana Updown yang akan anda letakkan
g. lalu pembuatan syntax untuk Updown sbb :
- bil2 = Updown1.value
h. lalu jalankan F5 klik tombol updown tentukan nilai yang ingin anda masukkan






MENGHUBUNGKAN VISUAL BASIC DENGAN M.ACCES



1. Penghubung Vb & M.Acces ( Database )

Perlu anda ketahui M.Acces itu adalah sebuah database Pada pembahasan berikut ini kita akan membahas tentang bagaimana agar suatu data,seperti data diatas agar terhubung dengan M.Acces. adapun caranya sbb

a. pertama apabila anda sudah membuat form dan mengisinya dengan berbagai simbol-simbol seperti yang diatas
b. lalu kita berpindah dahulu ke M.Acces buatlah dahulu data kita buat diatas atau yang ada diproject yang kita buat.dan masukkan ke M.Acces sbb :



c. apabila telah tampil M.Acces pilih create a new file yang ada dipojok M.Acces setelah anda creat
d. lalu anda pilih blank database


f. setelah anda pilih blank database, lalu buat nama,dan anda harus ingat nama tersebut, lalu anda harus menyimpan database yang anda buat tadi, harus satu folder dengan data project visual basic yang anda buat tadi.
g. Setelah itu pilih creat akan muncul gambar sbb :



h. lalu pilih table dan buat nama table lalu design dan selanjutnya Dan buat nama tablenya
i. Lalu buat nama data yang ada pada data form, ke field database.

j. Berikan tanda primery key agar saat pemanggilan data tidak semua data yang dipanggil cukup yang diberi tanda primery key saja yang dipanggil. Dan tentukan field sizenya,ini berfungsi untuk mengatur banyaknya data yang kita ketikkan pada saat menjalankan project data visual basic
k. Sekarang anda keluar dari M.Acces kembali ke visual basic,tentunya masih di form data ( project ) yang anda buat tadi.
l. Lalu tambahkan lagi simbol ADODC dan Datagrid ke object form yang anda buat,agar data yang kita buat di M.Acces dapat kita lihat langsung hasilnya di form data.sedangkan ADODC hanya untuk penghubung antara M.Acces dan Datagrid,apabilaADODC dan Datagrid tidak ada di tool general, klik kanan pada tool general klik component, ikuti petunjuk gambar dibawah ini



m. setelah itu dipilih dan di ceklis lalu oke
n. lalu kita buat sebuah modul dimana modul inilah yang akan menjadi penghubung antara Visual Basic dan M.Acces ( database ) caranya
- pada form ( project ) kita
-
- pilih menu project,add project,dan klik open
- lalu ketikkan dimodul tersebut syntak sbb :

Public konek As New ADODB.Connection

Sub opendb()
Set rspegawai = New ADODB.Recordset
konek.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db1.mdb"
End Sub
- konek itulah adalah public nama kita juga bisa membuat nama selain dari konek juga opendb juga bisa diganti sesuai dengan yang kita inginkan,dan juga rspegawai ,
- sedangkan konek.Open "provider=microsoft.jet.oledb.4.0; ini adalah rumus provider M.Acces itulah syntak, yang harus anda hapal karna kita memakai M.office 2003 maka extensienya sbb
- 3.51 = extensi untuk 2000
- 4.0 = extensi untuk 2003
- 12.0 = extensi untuk 2007
- data source=" & App.Path & "\db1.mdb"sedangkan ini juga perlu dihapal ,syntak alamat letak data M.Acces yang anda buat tadi.

o. lalu kita akan menambahkan rumus ADODC dan juga Datagrid,agar kita dapat melihat data yang kita masukkan di M.Acces dan muncul diform data yang kita buat.
p. Sekarang double klik form, lalu setelah muncul perintah view code,pastikan dahulu form kita itu berada pada form yang activate


q. lalu kita ketikkan syntak sbb :
-Call opendb
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db1.mdb"
Adodc1.RecordSource = "[data kiki]"
Adodc1.Refresh

Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
- call opendb karna dimodul kita membuat namanya opendb jadi pada saat menjalankan program nanti yang dipanggil hanya opendb saja, sedangkan opendb itu isinya data yang kita ketikkan di M.Acces penghubungnya adalah ADODC. Sedangkan connectionstring adalah penghubung data provider
- dan ADODC recordsource adalah isi tabel M.acces yang kita buat dan nama tabelya saya membuat disini tabel kiki ,karna nama tabel mempunyai spasi jadi kita mengunakan tanda [ ]
- sedangkan untuk ADODC.refresh agar pada saat melakukan perubahan disuatu data program,adodc tetap saja mengikuti perintah yang kita buat
- dan Set DataGrid1.DataSource = Adodc1, data-data yang kita ketikkan di M.Acces agar tampil dengan benar
- sedangkan DataGrid1.Refresh juga sama dengan ADODC.refresh agar pada saat melakukan perubahan data yang tampil di datagrid juga akan berubah


2. Pembuatan Menu Editor

Masih tetap pada form yang kita buat,sekarang kita akan membuat Menu Editor pada form kita agar kita dapat menentukan menu yang akan kita buka dan kita tampilkan adapun langkah-langkahnya sbb :

a. buat dahulu form ke 2 sebagai isi menu,caranya. klik project. Pilih add form pilih open buat namanya contoh beserta isikan objectnya seperti gambar di bawah ini


b. pilih menu tools pada project anda lalu, pilih Menu Editor akan tampil gambar

c. lalu isi menurut menu yang akan anda buat
d. juga perlu anda pahami, pada saat pembuatan caption nama boleh bebas mau memakai spasi atau tidak, ( free ), tetapi lain halnya dengan name, sedangkan name bisa bebas tetapi tidak bisa mengunakan spasi
e. dan buat sub menu 1,dengan cara mengklik tanda panah kanan untuk sub menu 1,apabila anda ingin menambah sub anak menu yang ke 2,klik lagi tanda panah.apabila anda tidak ingin menambah anak sub klik tanda panah kiri
f. dan apabila anda ingin membuat sub menu ke 2 klik next
g. contoh menu editor gambar sbb :





3. Menampilkan Form 2 Di Form 1 Pada Saat Dijalankan Program

kita ingin pada saat dijalankan program form1 ( sub menu ) dan form2 ( anak sub menu )bisa bersamaan tampil.caranya :
a. setelah kita buat menu editor beserta sub-subnya,lalu pada form2 ( anak sub menu ) klik form2 ( anak sub menu ) lalu ketikkan syntax :
- biodata.show
- dimana biodata itu nama form2 ( anak sub menu ) yang kita buat sedangkan show itu rumus untuk menyatakan tampil.
- Jalankan F5 lalu piliih menu sub dan klik



4. Menyimpan, Edit, Hapus, Exit, dan juga perintah Cari di data di Form

sekarang kita akan membuat perintah simpan dimana data yang sudah kita ketik di form yang.dan ketika kita jalankan program kita dapat menyimpannya di form caranya sbb :

A. perintah simpan

a. kita double klik form lalu jalankan perintah syntax sbb

Function caripegawai()
Call OpenDb
rsPegawai.Open "select * from [data pegawai] where Nip=' " & Text1.Text & " ' ", DP
End Function

b. pertama kita tambahkan simbol command di form kitaberikan nama
c. double klik ketikkan syntak berikut

- Private Sub Command2_Click()
Call caripegawai
If rsPegawai.EOF Then
SP = "insert into [data pegawai] (Nip,[nama pegawai],[tempat lahir],[tanggal lahir],[jenis kelamin],agama,[no hp],status,[jumlah anak],[pendidikan Terakhir],golongan,jabatan) values ('" & Text1 & "','" & Text2 & "','" & Text3 & "','" & DTPicker1 & "','" & vjk & "','" & vagama & "','" & Text5 & "','" & vstatus & "','" & Text6 & "','" & vtamat & "','" & vGOL & "','" & vjabat & "')"
DP.Execute SP
Form_Activate
Else
MsgBox (" data tidak ada")
End If
End Sub

d. jalankan F5 isi data anda lalu simpan dengan tombol simpan, yang anda buat tadi

B. perintah edit
a. tambah juga simbol command lalu double klik
b. jalankan syntax berikut

Private Sub Command4_Click()
Call caripegawai
If Not rsPegawai.EOF Then
ed = "update [data pegawai] set [nama pegawai]='" & Text2 & "',[tempat lahir]='" & Text3 & "',[tanggal lahir]='" & DTPicker1 & "',[jenis kelamin]='" & vjk & "',agama='" & vagam & "',[no hp]='" & Text5 & "',status='" & vstatus & "',[jumlah anak]='" & Text6 & "',[pendidikan Terakhir]='" & vtamat & "',golongan='" & vGOL & "',jabatan='" & vjabat & "' where nip ='" & Text1 & "'"
DP.Execute ed
Form_Activate
End If
End Sub

c. jalankan F5

d. Perintah hapus

kita ingin apabila pada saat ada data yang salah atau mengalami perubahan kita ingin menggantinya, nah sekarang tambahkan symbol command dan beri nama double klik ,ikuti perintah syntax dibawah ini

Private Sub Command3_Click()
Dim Command3 As String
Call caripegawai
If Not rsPegawai.EOF Then
Command3 = "delete from [data pegawai] where nip='" & Text1 & "'"
DP.Execute Command3
Form_Activate
Else
MsgBox ("Data Tidak Ada")
End If

End Sub

E. Perintah Exit

sama juga dengan yang edit,hapus,simpan tapi syntaxnya berbeda adapun syntaxnya sbb :
syntax : end

F. Perintah Cari

sekarang, setelah kita buat semua perintah simpan,edit,hapus,exit, dan kita akan membuat perintah cari, dimana apabila kita ketikkan satu data, dapat memanggil atau mencari langsung data yang sudah kita simpan diform dan langsung tampil pada saat program dijalankan caranya, sama juga dengan perintah simpan,edit, dan juga hapus tetapi syntaxnya berbeda, adapun syntaxnya sbb :

- buat dahulu sebuah nama sub tampildi form aktif caranya
- double klik form ketiikan syntax sbb
Sub tampildata()
With rsPegawai
Text2 = ![nama pegawai]
Text3 = ![tempat lahir]
DTPicker1 = ![tanggal lahir]
vjk = ![jenis kelamin]
vagama = !agama
Text5 = ![no hp]
vstatus = !Status
Text6 = ![jumlah anak]
vtamat = ![pendidikan terakhir]
vGOL = !golongan
vjabat = !jabatan
End With
End Sub


- dan buat juga sub kosong, caranya double klik form ketikkan syntax sbb :

Sub kosong()

Text2 = ![nama pegawai]
Text3 = ![tempat lahir]
DTPicker1 = ![tanggal lahir]
vjk = ![jenis kelamin]
vagama = ![agama]
Text5 = ![no hp]
vstatus = !Status
Text6 = ![jumlah anak]
vtamat = ![pendidikan terakhir]
vGOL = !golongan
vjabat = !jabatan
End Sub

- nah lalu kita setelah kita tambahkan simbol command ke form beri nama cari
- sekarang double klik ketikkan syntax berikut ini

Private Sub Command1_Click()
Call caripegawai
If rsPegawai.EOF Then
MsgBox ("DATA TIDAK ADA")
Text2 = ""
Text3 = ""
vjk = ""
DTPicker1 = ""
vagama = ""
Text5 = ""
vstatus = ""
Text6 = ""
vtamat = ""
vGOL = ""
vjabat = ""
Else
MsgBox ("DATA ADA")
Call tampildata
End If
End Sub

- lalu jalankan ketik nipnya sesuai data yang kita simpan lalu klik perintah cari

G. Perintah Enter

perintah enter,disini kita akan membahas,apabila kita ketik salah satu berdasarkan nip maka data kita simpan akan tampil secara otomatis caranya

- karna yang akan kita munculkan yang bukan ter primeri key maka kita akan menuliskan syntax sbb
syntax : Private Sub NIP_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call caridataP
If Not rspegawai.EOF Then
Call tampil
Else
Call kosong
End If
End If
End Sub

- 13 adalah kode ascii enter

h. Perintah Otomatis
Syntax
Private Sub st_Click()
If st.Text = "belum menikah" Then
ja = 0
ja.Enabled = False
Else
ja.Enabled = True
ja.Text = ""
ja.SetFocus
End If
End Sub

i. Perintah Golongan

Secara otomatis pangkat dan gaji pokok akan terisi secara otomatis
Syntax : Call caridataP
rsgolongan.Open "select * from [data golongan] where golongan='" & gol & "'", dp
If Not rsgolongan.EOF Then
Label14 = rsgolongan![gaji pokok]
Label15 = rsgolongan!pangkat
Else
Label14 = ""
Label15 = ""
End If
End Sub

J. Perintah Jabatan
Begitu juga dengan tunjangan jabatan akan terisi secara otomatis
Private Sub jab_Click()
Syntax : Call caridataP
rsjabatan.Open "select * from [data jabatan] where jabatan='" & jab & "'", dp
If Not rsjabatan.EOF Then
Label18 = rsjabatan![tunjangan jabatan]
Else
Label18 = ""
End If

End Sub



DATA REPORT

Dalam pembuatan data report, pembuatannya agak sedikit berbeda dengan data-data sebelumnya,kalau data-data sevbelumnya kita hanya diarahkan dengan rumus tetapi di data report kita hanya membuat, bagaimana cara membuat surat laporan dengan Visual Basic ada pun cara pembuatan data report sbb :

a. tambahkan form beserta anak subnya dan beri nama
b. setelah itu showkan caranya
- setelah kita tambah form buat di menu editor diform yang ingin kita buat menu
c. siapkan dahulu data report dan data environment sbb :
- klik kanan pada tool general
- lalu pilih komponen
- pilih tab designer
- dan pilih data environment dan data report dari menu project, pilih data environment dan tab designer akan muncul di poroject anda beserta data environmentnya

d. lalu pada data environment
- klik kanan pada data environment
- pilih properties
- pada tab provider pilih lalu pilih next
- dan pada tab connection, pada pilihan pertama, tentukan dimana data M.Acces anda, anda simpan
- setelah anda masukkan data M.Acces anda
- test connection nya menandakan data M.Acces anda sudah terhubung dengan data project Visual Basic
- pilih oke
e. setelah tersambung kita akan membuat sebuah perintah dimana tabel yang akan anda koneksikan akan dapat dilihat di data report caranya
- klik kanan pada connenction
- pilih add command
- pada add command klik kanan dan pilih properties
- dan akan muncul sbb
-
- pada tab general pilih database object pilih tabel
- dan pada object name pilih tabel mana yang akan dikonekkan
- pilih oke
f. lalu sekarang kita akan menambahkan data report dalam project juga
- pilih menu project
- pilih add data report
- akan bertambah data report secara otomatis
e. setelah itu pada properties
- pilih data source pilih data environment
- sedangkan pada data member pilih ccommand


- masukkan data environment ke data report
- jalan

nah kalo pengen lihat contoh-contoh program lainnya  klik aja LINK brikut

11 komentar:

  1. BOS q kn bkin daftar Barang..
    menu cmd button q ada: first,next,previous,last,add,edit delete dan keluar..
    tapi q blm tau rumus edit sob..??
    kasih tau rumus'x..hhe.
    d tunggu..

    BalasHapus
  2. Nanya donk.. sesama pengguna vb neh,,,..
    tau syntax tambah otomatis gak.. COntoh kasus..
    Faktur Penjualan kodenya F001.. Saat kita tekan tombol add.. Field faktur misal di text1.text..
    nah saat kita add otomatis text1.text menjadi.. F002, add lagi jadi F003... Jadi gak usah input manual....
    Kasih tau yah buat Skripsi neh..hehehe

    BalasHapus
  3. bisa nggak contoh program VB diatas di upload untuk di dowload,,, supaya pembelajarannya gak rumit,,, thanks ....

    BalasHapus
  4. kalo di upload untuk di download kayaknya ngak bisa.alnya lagi sem 5 jadi belum ada waktu kosong untuk itu nanti kalo ada waktu insyaallah ya

    BalasHapus
  5. gan klo edit gmn ga ngarti ane

    BalasHapus
  6. ikuti listing edit diatas aja best...kistingnya kan ada tu diatas

    BalasHapus
  7. =IF(AND(S2>=50%*I2;S2<100%*I2);((S2/I2*100));"-")
    bagaimana rumus Excel ini kalau di jdikan dalam coding Visual basic 6.0.....soalnya lagi ada tugas

    BalasHapus
  8. bkn gitu...soalnya kami ada diberi tgs dari data excel....coding perkaliannya seperti yang saya kirim....jdi ndak tau untuk masukkan nya ke koding vb...

    BalasHapus
  9. gimana caranya lw kita mw menjumlahkan nilai dari tex form1 dengan text pada form 2..
    mhon bntuan na lh..
    lg nyusun nii.
    thx..

    BalasHapus
  10. Mohon bantuannya saya punya pertanyaan bisa tidak jika ada 4 textbox namun salah satu texboxnya tidak diisi apa di textbox hasil masih bisa di hitung secara otomatis mohon bantuannya
    sebelumnya terimakasih

    BalasHapus
  11. mohon bantuanya gan.. gimana cara agar form bisa close sendiri dalam waktu misalnya 5detik. dan kembali kembali ke menu awal.. program vb10

    BalasHapus

jangan yang sulit2 y yang memberi masukkan yayayayay