0% menganggap dokumen ini bermanfaat (0 suara)
500 tayangan22 halaman

MODUL Pemrograman Desktop

Dokumen tersebut membahas tentang pengenalan Visual Studio .NET 2008 sebagai IDE untuk pemrograman desktop, termasuk cara membuat project, menambahkan kontrol, menulis kode program, dan menjalankan program.

Diunggah oleh

feryupdi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
500 tayangan22 halaman

MODUL Pemrograman Desktop

Dokumen tersebut membahas tentang pengenalan Visual Studio .NET 2008 sebagai IDE untuk pemrograman desktop, termasuk cara membuat project, menambahkan kontrol, menulis kode program, dan menjalankan program.

Diunggah oleh

feryupdi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

Pemrograman Desktop

Kelas X Semester 2

Sekilas Visual Studio.NET 2008


Pokok Bahasan :
Mengenal IDE Visual Studio .NET 2008
Pembuatan Project
Pengenalan kontrol yang sering digunakan
Menulis kode program dan menjalankan program

1. Mengenal Visual Studio.NET 2008


Visual Studio .NET 2008 merupakan salah satu produk pengembangan aplikasi yang
diproduksi oleh Microsoft.
Visual Studio .NET 2008 dapat digunakan untuk pengembangan aplikasi web ASP
.NET, XML Web Service, aplikasi desktop dan juga aplikasi mobile.
Visual Basic .NET 2008 banyak sekali fasilitas wizard yang disediakan untuk
memudahkan para pengembang aplikasi. Dengan fasilitas ini, pengembangan aplikasi
dapat dilakukan dengan cepat.

2. IDE ( Integrated Development Environment)

1
3. Pembuatan Project
Untuk membuat sebuah project baru menggunakan Visual Studio .NET 2008, klik
menu File | New | Project.

Setelah itu akan muncul kotak dialog New Project. Pada kotak dialog New Project
terdapat beberapa pilihan tool untuk pengembangan aplikasi, seperti 3 Visual Basic,
Visual C# dan Visual C++. Pilih Visual Basic kemudian pilih Windows Form
Application. Beri nama project yang akan dibuat pada bagian Name dan direktori
tempat menyimpan project pada bagian Location.

Klik OK pada kotak dialog New Project tersebut. Selanjutnya muncul Visual Basic IDE
tempat untuk membangun aplikasi Visual Basic .NET 2008.

2
4. Tampilan IDE Visual Studio 2008

Gambar IDE Visual Studio .NET 2008

Pada project Visual Basic untuk Windows Application secara default telah terdapat sebuah
form. Form tersebut bernama Form1. Pada form inilah tempat untuk meletakkan kontrol-
kontrol atau komponen-komponen untuk membuat sebuah aplikasi windows. Form dan
kontrol-kontrol dari program aplikasi inilah yang biasanya disebut dengan GUI (Graphical
User Interface) atau antar muka dari program. Jadi user akan berinteraksi dengan sebuah
program aplikasi melalui GUI. Pada IDE Visual Basic .NET 2008 terdapat Menu, Toolbar,
Toolbox, Server Explorer, Solution Explorer dan Properties Window.

Menu
Menu adalah bagian dari IDE yang terdiri dari perintah-perintah untuk mengatur IDE,
mengembangkan, memelihara dan mengeksekusi program. Di dalam menu, perintah-
perintah dikelompokkan ke dalam beberapa bagian sesuai jenis perintah tersebut. Menu
pada Visual Basic.

Toolbar
Toolbar fungsinya sama seperti fungsi dari menu, hanya saja pada toolbar pilihan-pilihan
berbentuk icon. Untuk memilih suatu proses yang akan dilakukan, Anda tinggal mengklik
icon yang sesuai dengan proses yang Anda inginkan.

3
Toolbox
Toolbox adalah tempat dimana kontrol-kontrol dan komponen-komponen diletakkan.
Kontrol dan komponen yang terdapat pada toolbox dipakai dalam pembuatan program
aplikasi. Untuk membuat objek kontrol dan komponen pada form program aplikasi diambil
dari kontrol-kontrol yang ada pada toolbox. Untuk menampilkan windows toolbox, klik pada
tombol toolbox yang terdapat pada toolbar.

Server Explorer
Server Explorer adalah bagian tempat untuk mengatur hal-hal yang berhubungan dengan
server dan database server.

Solution Explorer
Solution Explorer memberikan tampilan daftar file-file project yang sedang dibuat sehingga dapat
diakses langsung. Pada windows solution explorer terdapat beberapa tombol pada toolbar dan tree
yang berisi daftar file-file yang digunakan dalam project.

4
Properties Window
Properties windows adalah tempat untuk daftar properti setiap objek kontrol dan
komponen. Properties window juga dipakai untuk mengatur properti objek kontrol dan
komponen yang dipakai. Dengan properties window, Anda dapat mengubah properti yang
nantinya akan dipakai sebagai default objek kontrol dan komponen pada waktu pertama kali
program dieksekusi.

Form
Form adalah tempat Anda membuat tampilan (user interface) untuk program aplikasi Anda.
Pada form, Anda dapat meletakkan atau menambahkan objek kontrol maupun komponen.

5
Kode Editor
Kode editor adalah tempat dimana Anda meletakkan atau menuliskan kode program dari
program aplikasi Anda. Pada kode editor juga terdapat bagian objek dan event dari kontrol.

Pada bagian objek terdapat semua objek yang digunakan pada project. Sedangkan pada
event terdapat semua event setiap objek.

6
5. Membuat Aplikasi Visual Basic .NET 2008
Untuk membuat sebuah program aplikasi dengan Visual Basic .NET 2008, yang harus Anda
lakukan adalah membuat sebuah project, menambah form ke dalam project apabila
program aplikasi Anda membutuhkan lebih dari satu form, meletakkan atau menambahkan
objek kontrol pada form, menulis kode program dan mengeksekusi atau menjalankan
program tersebut untuk melihat hasilnya. Berikut ini adalah cara-cara untuk membangun
sebuah aplikasi pada Visual Basic .NET 2008.

Membuat Sebuah Project


Pada Visual Basic .NET 2008 Anda akan bekerja dengan project. Project yang akan dipakai
disini adalah project Windows Application. Pada waktu sebuah project dibuat maka secara
default telah terdapat sebuah form yaitu Form1 di dalam project tersebut. Untuk membuat
sebuah project adalah sebagai berikut:
1. Pada Start Page klik tombol menu File | New | Project.
2. Pada kotak dialog New Project bagian Project Type pilih Visual Basic, Templates pilih
Windows Application. Isi nama project pada bagian Name. Pilih direktori yang ingin
Anda pakai untuk menyimpan project pada bagian Location.

3. Klik OK pada kotak dialog New Project tersebut.

Menambah Kontrol pada Form


Untuk mengatur tampilan form, maka Anda perlu untuk menambahkan objek kontrol pada
form tersebut. Untuk menambahkan objek kontrol pada form, dapat Anda lakukan dengan

7
klik ganda kontrol pada toolbox atau klik pada kontrol lalu klik pada form tempat Anda mau
meletakkan objek kontrol. Contoh form yang ditambahkan objek kontrol adalah seperti
pada gambar dibawah.

Menulis Kode Program


Untuk membangun suatu aplikasi selain merancang tampilan dari form adalah menulis kode
program. Untuk menulis kode program dilakukan pada bagian kode editor. Untuk
memunculkan kode editor, klik pada menu icon View Code pada bagian Solution Explorer.

Menjalankan Program Aplikasi


Untuk menjalankan program aplikasi terlebih dahulu program aplikasi tersebut harus
dikompilasi. Untuk mengkompilasi program aplikasi dapat dilakukan dengan cara sebagai
berikut pilih menu Build kemudian klik Build Solution atau dengan menekan tombol
Ctrl+Shift+B pada keyboard. Apabila terjadi error atau kesalahan, maka akan ditampilkan
pada window Error List.

8
Setelah program aplikasi dikompilasi, selanjutnya adalah menjalankan program tersebut.
Untuk menjalankan program aplikasi dapat dilakukan dengan memilih menu Debug | Start
Debugging atau dengan menekan tombol F5 pada keyboard. Atau juga dengan mengklik
menu icon Start Debugging yang terdapat pada toolbar.

Praktikum 1.

9
Variabel dan Tipe Data
Pokok Bahasan :
Deklarasi Variabel
Tipe Data
Konversi Implisit dan Eksplisit
Konstanta
Operator

1. Variabel
Variabel adalah nama atau simbol yang digunakan untuk mewakili suatu nilai.
Suatu variabel mempunyai nama dan menyimpan tipe data yang merupakan jenis data
variabel.
Aturan penamaan variabel adalah sebagai berikut:
Harus dimulai dengan sebuah huruf
Tidak lebih dari 255 karakter
Tidak boleh sama dengan nama statement, fungsi, metode, objek, dan sebagainya
yang merupakan bahasa dari Visual BASIC.
Tidak boleh ada spasi, tanda titik(.), tanda seru(!), atau karakter @, &, $, dan #.

Deklarasi variabel dapat dituliskan dengan urutan sebagai berikut:


Dim namavariable as tipedata

Contoh :
Dim Nama As String
Dim tm as Integer
Dim mid as Integer
Dim final as Integer
Dim NA as Single

2. Tipe Data
Tipe data adalah jenis data yang disimpan dalam variabel.
Macam-macam tipe data dalam Visual Basic .NET
Tipe Data .NET Class Keterangan
Byte System.Byte (Structure) Tipe data ini berkisar antara 0-255.
Berukuran 1 byte.
Short System.Int16 (Structure) Tipe data ini dapat menampung
bilangan bulat antara -32,768 hingga
32,767. Tipe data ini berukuran 2 byte.
Integer System.Int32 (Structure) Tipe data ini dapat menampung
bilangan bulat antara -2,147,483,648
hingga 2,147,483,647. TIpe data ini
berukuran 4 byte.
Long System.Int64 (Structure) Tipe data ini dapat menampung
bilangan bulat antara -
9,223,372,036,854,775,808 hingga
10
9,223,372,036,854,775,807
Single System.Single (Structure) Tipe data ini dapat menampung
bilangan real antara -3.4028235E+38
hingga -1.401298E-45 untuk nilai
negative, sedangkan untuk nilai positif
antara 1.401298E-45 hingga
3.4028235E+38
Double Systm.Double (Structure) Tipe data ini dapat menampung
bilangan real antara
-1.79769313486231570E+308 hingga
-4.94065645841246544E-324
sedangkan untuk nilai positif antara
4.94065645841246544E-324 hingga
1.79769313486231570E+308
Decimal System.Decimal Tipe data ini dapat menampung
(Structure) bilangan decimal dengan jumlah digit 0
sampai 28.
Boolean System.Boolean Tipe data ini hanya dapat menampung
(Structure) 2 jenis nilai, yaitu true dan false. Jika
direpresentasikan dengan angka nilai
false dinyatakan dengan 0 dan nilai
true dinyatakan dengan nilai selain 0.
Date System.DateTime Tipe data ini dikhususkan untuk
(Structure) menampung nilai yang berupa tanggal
dan waktu. Dengan memanfaatkan tipe
data ini kita dapat mengolah data
tanggal dengan memakai fungsi-fungsi
tertentu.
Char System.Char (Structure) Tipe data ini hanya dapat menampung
satu buah karakter. Jika diisi lebih dari
satu karakter maka secara otomatis
akan dipotong menjadi satu.
String System.String ( Class ) Tipe data ini digunakan untuk
menampung rangkaian karakter atau
kata. Jumlah memory yang dipakai
sesuai dengan jumlah karakter.

3. Konversi Implisit dan Eksplisit

11
Pada program di atas terjadi konversi antar tipe data secara implisit. Kita juga dapat
melakukan konversi secara eksplisit.

4. Fungsi-fungsi konversi antar tipe data


Nama Fungsi Keterangan
CBool() Untuk mengkonversi suatu nilai menjadi tipe Boolean
CDbl() Untuk mengkonversi suatu nilai menjadi tipe Double
CObj() Untuk mengkonversi suatu nilai menjadi tipe Object
CByte() Untuk mengkonversi suatu nilai menjadi tipe Byte
CDec() Untuk mengkonversi suatu nilai menjadi tipe Decimal
CShort() Untuk mengkonversi suatu nilai menjadi tipe Short
CChar() Untuk mengkonversi suatu nilai menjadi tipe Char
CInt() Untuk mengkonversi suatu nilai menjadi tipe Integer
CSng() Untuk mengkonversi suatu nilai menjadi tipe Single
CDate() Untuk mengkonversi suatu nilai menjadi tipe Date
CLng() Untuk mengkonversi suatu nilai menjadi tipe Long
CStr() Untuk mengkonversi suatu nilai menjadi tipe String

Selain dari fungsi-fungsi di atas kita dapat menggunakan CType() untuk mengkonversi ke
tipe data apa saja.

Dim n As Integer = 10
Dim s As String

s = CType(n,String)

Konversi eksplisit juga bisa dilakukan dengan menggunakan fungsi Convert.


Dim n As Single = 2.54
Dim s As String

s = Covert.ToString(n)

Meskipun konversi implisit bisa dilakukan compiler usahakan tetap menggunakan fungsi-
fungsi type casting untuk mempercepat kinerja dari aplikasi.

12
Kemudian untuk membuat validasi kita bisa menggunakan Event KeyPress

Dengan coding di atas maka txtTM sudah divalidasi, sedangkan untuk txtMid dan txtFinal
dapat dengan cara menambahkan pada header function di bagian belakangnya dengan
menggunakan event-eventnya yaitu txtMid.KeyPress an txtfinal.KeyPress.

Bagian ini dapat ditemukan di bagian belakang subnya.

5. Konstanta
Konstanta adalah suatu nilai konstan yang tidak berubah. Seperti halnya variabel, konstanta
dapat diberi nama dimana aturan penamaannya sama dengan variabel.

Contoh:
Const A = 10

6. Operator
Operator Pemberi Nilai
Deklarasi pemberian nilai pada Visual BASIC = Bahasa BASIC yaitu menggunakan operator
sama dengan ( = ).

Contoh :
a = 24
nama = Yudha Noviandi

Operator Arimatika
Operator Operasi
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
\ Pembagian dengan hasil bilangan
bulat
Mod Sisa Pembagian (Modulus)

Operator Boolean
Operator Operasi
Not Negasi
And Logika and
Or Logika or
13
Xor Logika xor

Operator Pembanding
Operator Operasi
= Sama dengan
<> Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari atau sama dengan
>= Lebih dari atau sama dengan

Derajat Operator
Operator Derajat
Not Tertinggi
* / \ mod and
+ - or xor
= <> <= >= Terendah

Latihan Praktikum
Rancanglah formnya sebagai berikut, dan berilah penamaan pada masing-masing
controlnya.
Program Aritmatika Sederhana

Kode program :
Public Class FrmLat3
Private Sub BtnBagi_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles BtnBagi.Click
Dim bil1 As Double
Dim bil2 As Double
Dim hasil As Double

bil1 = Val(txtBil1.Text)
bil2 = Val(txtBil2.Text)
14
hasil = bil1 / bil2
txtHasil.Text = hasil
End Sub

Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles BtnKeluar.Click
End
End Sub

Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles BtnTambah.Click
Dim bil1 As Double
Dim bil2 As Double
Dim hasil As Double

bil1 = Val(txtBil1.Text)
bil2 = Val(txtBil2.Text)
hasil = bil1 + bil2
txtHasil.Text = hasil
End Sub
End Class

Catatan :
Untuk kode program BtnKali, BtnKurang anda tinggal menyalin (copy>Paste) dari
BtnTambah lalu tinggal mengganti pada kode hasil = bil1 * bil2

15
Percabangan
Pokok Bahasan :
Statemen If...Then
Statemen Select Case

Pada beberapa kasus terkadang kita menginginkan komputer melakukan suatu pernyataan
tertentu bila suatu kondisi terpenuhi. Dalam Visual Basic .NET perintah
percabangan/pemilihan keputusan dapat dilakukan dengan statemen If...Then dan Select
Case.

1. Statemen If...Then
Statemen ini digunakan untuk melakukan aksi setelah melakukan pengujian terhadap
suatu kondisi. Pernyataan dalam blok statemen hanya akan dilaksanakan ketika kondisi
pengetesan/pengujian bernilai benar.
Statement If...Then memiliki beberapa sintaks/cara penulisan sesuai dengan jumlah
pernyataan yang akan dieksekusi.

a. If...Then dengan Kondisi dan Pernyataan Tunggal

If <kondisi> Then <Pernyataan>

Contoh :
If Nilai >= 60 Then Keterangan = Lulus

b. If...Then dengan Pernyataan Jamak

If <Kondisi> Then
<Pernyataan_1>
<Pernyataan_2>
..
<Pernyataan_n>
End If

Contoh :
If Nilai >= 60 Then
Keterangan = Lulus
Ucapan = Selamat
End If

16
c. If...Then dengan 2 kondisi.

If <Kondisi> Then
<Pernyataan_Jika_Kondisi_Benar>
Else
<Pernyataan_Jika_Kondisi_Salah>
End If

Contoh:
If Nilai >= 60 Then
Keterangan = Lulus
Ucapan = Selamat
Else
Keterangan = Tidak Lulus
Ucapan = Jangan Bersedih
End If

d. If...Then dengan kondisi jamak.

If <Kondisi_1> Then
<Pernyataan>
ElseIf <Kondisi_2> Then
<Pernyataan>
...
ElseIf <Kondisi_n> Then
<Pernyataan>
Else
<Pernyataan>
End If

Contoh:
If Nilai >= 85 Then
Keterangan = Lulus, Sangat Memuaskan
ElseIf Nilai >= 70 Then
Keterangan = Lulus, Memuaskan
ElseIf Nilai >=60 Then
Keterangan = Lulus, Cukup Memuaskan
Else
Keterangan = Tidak Lulus, Silahkan Mengulang
End If

2. Statemen Select Case


Sama halnya seperti statemen If...Then, Select Case juga mengerjakan suatu blok
statemen berdasarkan uji nilai ekspresi. Perbedaannya adalah pada tata cara penulisan
dan pengelompokan nilai dari variabel/kondisi.
Sintaks :

17
Select Case <Variabel penguji>
Case <Nilai_1>
<Pernyataan_1>
Case <Nilai_2>
<Pernyataan_2>
Case Else
<Pernyataan_n>
End Select

Contoh:
Select Case Nilai
Case A
Keterangan = Sangat Memuaskan
Case B
Keterangan = Memuaskan
Case C
Keterangan = Cukup
Case Else
Keterangan = Kurang
End Select

Latihan Praktikum
Program Belanja Sederhana
Buatlah sebuah project dan form baru pada Visual BASIC .NET, desain tampilan form
sehingga didapat tampilan seperti pada gambar

Kode Program :
18
Public Class FrmLat4
Private Sub btnUlang_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnUlang.Click
'Membersihkan isi Textbox
txtNama.Text = ""
txtHarga.Text = ""
txtJumlah.Text = ""
txtTotal.Text = ""
txtDiskon.Text = ""
txtBayar.Text = ""
txtBonus.Text = ""
txtNama.Focus()
End Sub
Private Sub btnHitung_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnHitung.Click
'Deklarasi Variabel
Dim Harga, Jumlah As Integer
Dim Total, Diskon, Bayar As Double
Dim Bonus As String
'Deklarasi Input Harga dan Jumlah
Harga = txtHarga.Text
Jumlah = txtJumlah.Text
'Perhitungan Total Harga
Total = Harga * Jumlah
'Penentuan Diskon dan Bonus
If Total >= 500000 Then
Diskon = 0.2 * Total
Bonus = "Tas Pinggang"
ElseIf Total >= 200000 Then
Diskon = 0.15 * Total
Bonus = "Payung"
ElseIf Total >= 100000 Then
Diskon = 0.1 * Total
Bonus = "Kaos"
ElseIf Total >= 50000 Then
Diskon = 0.05 * Total
Bonus = "Pena"
Else
Diskon = 0
Bonus = "Tidak Ada"
End If
'Perhitungan Total Bayar
Bayar = Total - Diskon
'Deklarasi Keluaran Total Harga, Diskon, Total Bayar, dan Bonus
txtTotal.Text = Total
txtDiskon.Text = Diskon
txtBayar.Text = Bayar
txtBonus.Text = Bonus
End Sub

Private Sub btnKeluar_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles btnKeluar.Click
End
End Sub
End Class

19
Perulangan
Pokok Bahasan :
For Next
Do Loop

Proses perulangan dalam pemrograman dilakukan untuk mengerjakan suatu proses operasi
secara bertahap demi tahap dengan nilai variabel yang menaik atau menurun.
Dalam Visual Basic .NET proses perulangan dapat dilakukan dengan beberapa statemen,
diantaranya adalah statemen For...Next dan Do...Loop.
1. For...Next
Statemen ini akan mengulangi suatu blok pernyataan sebanyak jumlah yang ditentukan.
Statemen ini digunakan jika banyaknya jumlah perulangan sudah diketahui.
Sintaks:

For <Variabel_Pengulang> = NilaiAwal To NilaiAkhir [Step Tingkat]


<Pernyataan_1>
...
<Pernyataan_n>
Next <Variabel_Pengulang>

Statemen ini digunakan untuk kondisi yang mempunyai nilai berurutan dan variable
yang mempunyai nilai numerik.
Default untuk Step adalah 1, jadi untuk perulangan dengan urutan menaik 1, nilai step
tidak perlu ditulis. Sedangkan untuk perulangan menurun (Nilai awal > Nilai Akhir), nilai
step diawali dengan tanda minus(-).
Misalnya : For i = 10 To 1 Step -1.
Contoh:
Untuk mencetak angka 1 sampai 10 secara berurutan pada objek ListBox dapat
dilakukan dengan memberi listing program sebagai berikut:

For i = 1 To 10
List1.Additem i
Next i

2. Do...Loop
Statemen ini mengulang blok statemen bila kondisi benar atau sampai kondisi menjadi
benar. Bila tidak ada perintah keluar, proses perulangan (loop) akan terus berlangsung.
Statemen ini digunakan untuk kondisi yang mempunyai nilai tidak pasti dan tidak
berurutan.
Statemen ini memiliki dua buah bentuk logika.
a. Statemen Do...Loop...While
Statemen ini akan mengerjakan pernyataan dalam blok statemen ketika kondisi
bernilai benar, dan akan berhenti ketika kondisi sudah bernilai salah.
Sintaks:

20
Do While <Kondisi> Do
<Pernyataan_1> <Pernyataan_1>
... atau ...
<Pernyataan_n> <Pernyataan_n>
Loop Loop While <Kondisi>

Contoh:
Untuk mencetak angka 1 sampai 10 secara berurutan pada objek ListBox dapat
dilakukan dengan memberi listing program sebagai berikut:

i = 1
Do While i <= 10
List1.Additem i
i = i + 1
Loop

b. Statemen Do...Loop...Until
Statemen ini akan mengerjakan pernyataan dalam blok statemen ketika kondisi
bernilai salah, dan akan berhenti ketika kondisi mencapai nilai benar.
Sintaks:
Do Until <Kondisi> Do
<Pernyataan_1> <Pernyataan_1>
... atau ...
<Pernyataan_n> <Pernyataan_n>
Loop Loop Until <Kondisi>

Contoh:
Untuk mencetak angka 1 sampai 10 secara berurutan pada objek ListBox dapat
dilakukan dengan memberi listing program sebagai berikut:

i = 1
Do
List1.Additem i
i = i + 1
Loop Until i > 10

Latihan Praktikum
Program Perulangan Teks
Buatlah sebuah project dan form baru pada Visual Basic .NET, desain tampilan form
sehingga didapat tampilan seperti pada gambar

21
22

Anda mungkin juga menyukai