Selamat siang semua, akhirnya bisa ngepost, mana keyboard rusak jadi susah mau ngetik jadinya, ribet juga karna gak ada modem. Jadi kagak bisa mau ngetik panjang panjang, lagi lagi pemrograman, semoga nakama kagak bosan yaw ...
Sekarang tentang Pointer pada Dev C++ dapat dari teman sejawat ane yang beda sekolah :)
Lansung saja ke TKP =
TKP :
C++
Perhitungan Aritmatika
Berikut adalah program Perhitungan Aritmatika dengan menggunakan bahasa
C++.
Pertama kita deklarasikan variabel-variabel dengan menggunakan tipe datanya
masing-masing diantaranya tipe data integer dan char. Kemudian kita tampilkan
menu-menu pilihan yang akan user input. Setelah itu, akan muncul pilihan menu
yang user pilih. User diminta untuk meng-input-kan 2 nilai yang kemudian akan
diproses dengan mengpergunakan simbol operator aritmatika (+), (-), (*) dan (/)
sehingga menghasilkan operan dari operator aritmatika tersebut.
a. Tampilan output
b. Listing Program
#include
<iostream>
using
namespace std;
int main()
{
int angka1, angka2, hasil, pilih;
char status;
menu :
cout << "\n\t ==================== Perhitungan Aritmatika
==================== \n\n\n";
cout << "\t\t 1. Aritmatik Penjumlahan \n";
cout << "\t\t 2. Aritmatik Pengurangan \n";
cout << "\t\t 3. Aritmatik Perkalian \n";
cout << "\t\t 4. Aritmatik Pembagian \n";
cout << "\n";
cout << "\t\t Menu yang anda pilih adalah no : ";
cin >> pilih;
cout << "\n\n";
if(pilih==1)
{
penjumlahan :
cout << "\t\t\t - Aritmatik Penjumlahan - \n\n";
cout << "\t\t Masukan Angka pertama : ";
cin >> angka1;
cout << "\t\t Masukan Angka kedua : ";
cin >> angka2;
cout << "\n";
hasil = angka1 + angka2;
cout << "\t\t " << angka1 << " + "
<< angka2 << " = " << hasil;
cout << "\n\n";
status1 :
cout << "\t Apakah anda ingin mencobanya lagi ?(m=menu
utama/y=ya/t=tidak) ";
cin >> status;
if(status=='m' || status=='M')
goto menu;
else if(status=='y' || status=='Y')
goto penjumlahan;
else if(status=='t' || status=='T')
goto end;
else
{
cout << "\t Silahkan cek kembali huruf yang anda input !
\n\n";
goto status1;
}
cout << "\n\n";
}
else if(pilih==2)
{
pengurangan :
cout << "\t\t\t - Aritmatik Pengurangan - \n\n";
cout << "\t\t Masukan Angka pertama : ";
cin >> angka1;
cout << "\t\t Masukan Angka kedua : ";
cin >> angka2;
cout << "\n";
hasil = angka1 - angka2;
cout << "\t\t " << angka1 << " - "
<< angka2 << " = " << hasil;
cout << "\n\n";
status2 :
cout << "\t Apakah anda ingin mencobanya lagi ?(m=menu
utama/y=ya/t=tidak) ";
cin >> status;
if(status=='m' || status=='M')
goto menu;
else if(status=='y' || status=='Y')
goto pengurangan;
else if(status=='t' || status=='T')
goto end;
else
{
cout << "\t Silahkan cek kembali huruf yang anda input
!\n\n";
goto status2;
}
cout << "\n\n";
}
else if(pilih==3)
{
perkalian :
cout << "\t\t\t - Aritmatik Perkalian - \n\n";
cout << "\t\t Masukan Angka pertama : ";
cin >> angka1;
cout << "\t\t Masukan Angka kedua : ";
cin >> angka2;
cout << "\n";
hasil = angka1 * angka2;
cout << "\t\t " << angka1 << " * "
<< angka2 << " = " << hasil;
cout << "\n\n";
status3 :
cout << "\t Apakah anda ingin mencobanya lagi ?(m=menu
utama/y=ya/t=tidak) ";
cin >> status;
if(status=='m' || status=='M')
goto menu;
else if(status=='y' || status=='Y')
goto perkalian;
else if(status=='t' || status=='T')
goto end;
else
{
cout << "\t Silahkan cek kembali huruf yang anda input
!\n\n";
goto status3;
}
cout << "\n\n";
}
else if(pilih==4)
{
pembagian :
cout << "\t\t\t - Aritmatik Pembagian - \n\n";
cout << "\t\t Masukan Angka pertama : ";
cin >> angka1;
cout << "\t\t Masukan Angka kedua : ";
cin >> angka2;
cout << "\n";
hasil = angka1 / angka2;
cout << "\t\t " << angka1 << " / "
<< angka2 << " = " << hasil;
cout << "\n\n";
status4 :
cout << "\t Apakah anda ingin mencobanya lagi ?(m=menu
utama/y=ya/t=tidak) ";
cin >> status;
if(status=='m' || status=='M')
goto menu;
else if(status=='y' || status=='Y')
goto pembagian;
else if(status=='t' || status=='T')
goto end;
else
{
cout << "\t Silahkan cek kembali huruf yang anda input
!\n\n";
goto status3;
}
cout << "\n\n";
}
else
{
goto menu;
}
end :
cout << "\n\n\t\tTerima Kasih Telah Menggunakan Program Aritmatik
ini\n";
cout << "\t\t\t by : Fahmi Maulani Fauziah \n";
cout << "\t\t\t Politekni TEDC Bandung\n";
cout << "\n\t========================= Sampai Jumpa
==========================\n\n\n" ;
cout << "\n";
return 0;
}
|
CONTOH PROGRAM & SOURCE CODE "LINKED LIST" DI C++
1.Program Linked List 1
#include<stdio.h>//deklarasi file header c
#include<stdlib.h>
#include<malloc.h>
#include<conio.h>// deklarasi file header untuk tampilan pada c++
typedef struct nod
//definisi type adalah struct nod
{
int data;
struct nod *next;
//deklarasi variable bertipe integer dan struct
}
NOD, *NODPTR;
void CreateSenarai (NODPTR *s)
//deklarasi untuk membuat Seranai kosong yang baru
{
*s = NULL;
//mendeklarasikan bahwa Seranai baru masih kosong
}
NODPTR NodBaru(int m)
//membuat Nod baru bertipe integer dengan variabel m.
{
NODPTR n;
n= (NODPTR) malloc(sizeof(NOD));
if (n !=NULL)
/*kondisi jika n tidak sama dengan NULL
maka program akan menjalankan pernyataan pada kurung kurawal dibawah ini*/
{
n-> data = m;
n-> next = NULL;
}
return n;
//mendeklarasikan program untuk kembali ke n.
}
void InsertSenarai (NODPTR *s, NODPTR t, NODPTR p)
//deklarasi untuk menyisipkan data kedalam seranai
{
if (p==NULL)
/*kondisi jika p sama dengan NULL
maka pernyataan dalam kurung kurawal diawah ini akan dijalankan,
jika lainnya maka pernyataan dalam kurung kurawal dibawah else
yang akan dijalankan.*/
{
t -> next = *s;
*s = t;
}
else
{
t -> next = p -> next;
p -> next = t;
}
}
void DisplaySenarai(NODPTR s)
//deklarasi untuk menampilkan Seranai
{
NODPTR ps;
for (ps = s; ps != NULL; ps = ps -> next)
printf("%d --> ",ps -> data);
printf("NULL\n");
getch();
/*deklarasi untuk ps=s; ps!=NULL; ps=ps-> next
kemudian program akan menampilkan nilai ps data diikuti NULL pada akhir data*/
}
int main()
{
//deklarasi menghapus layar
NODPTR pel;
NODPTR n;
int i,k, nilai;
//deklarasi variabel bertipe integer
CreateSenarai(&pel);
printf("=================================\n");
printf("====== Program Linked List ======\n");
printf("=================================\n");
printf(" Masukan banyak data Seranai : ");
scanf ("%d", &k);
//deklarasi untuk menginput data seranai
printf("\n=================================\n\n");
for(i=1;i<=k;i++)
//deklarasi untuk i=1; i lebih kecil sama dengan k; kemudian i melakukan penambahan 1
{
printf ("Masukan data senarai ke- %d : ",i);
scanf ("%d", &nilai);
//deklarasi untuk menginput data seranai
n = NodBaru (nilai);
InsertSenarai (&pel, n, NULL);
//deklarasi untuk menyisipkan sebuah seranai
}
printf("=================================\n");
DisplaySenarai (pel);
//deklarasi untuk mencetak seranai yang telah dibuat tadi
return 0;
//deklarasi untuk kembali pada fungsi 0.
}
2.Program
Linked List 2
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
//#include <alloc.h>
using namespace std;
int pil;
void pilih();
void buat_baru();
void tambah_belakang();
void tambah_depan();
void hapus_belakang();
void hapus_depan();
void tampil();
struct simpul
{
char nim[8], nama
[20];
int umur;
struct simpul
*next;
} mhs, *baru, *awal=NULL,
*akhir=NULL,*hapus,*bantu;
void clrscr()
{
system("cls");
}
int main()
{
do
{
clrscr();
cout<<"MENU SINGLE LINKEDLIST"<<endl;
cout<<"1. Tambah Depan"<<endl;
cout<<"2. Tambah Belakang"<<endl;
cout<<"3. Hapus Depan"<<endl;
cout<<"4. Hapus Belakang"<<endl;
cout<<"5. Tampilkan"<<endl;
cout<<"6. Selesai"<<endl;
cout<<"Pilihan Anda : ";
cin>>pil;
pilih();
} while(pil!=6);
return 0;
}
void pilih()
{
if(pil==1)
tambah_depan();
else if(pil==2)
tambah_belakang();
else if(pil==3)
hapus_depan();
else if(pil==4)
hapus_belakang();
else
if(pil==5)
tampil();
else
cout<<"selesai";
}
void buat_baru()
{
baru=(simpul*)malloc(sizeof(struct simpul));
cout<<"input nim : ";cin>>baru->nim;
cout<<"input nama : ";cin>>baru->nama;
cout<<"input umur : ";cin>>baru->umur;
baru->next=NULL;
}
void tambah_belakang()
{
buat_baru();
if(awal==NULL)
{
awal=baru;
}
else
{
akhir->next=baru;
}
akhir=baru;
akhir->next=NULL;
cout<<endl<<endl;
tampil();
}
void tambah_depan()
{
buat_baru();
if(awal==NULL)
{
awal=baru;
akhir=baru;
akhir->next=NULL;
}
else
{
baru->next=awal;
awal=baru;
}
cout<<endl<<endl;
tampil();
}
void hapus_depan()
{
if (awal==NULL)
cout<<"Kosong";
else
{
hapus=awal;
awal=awal->next;
free(hapus);
}
cout<<endl<<endl;
tampil();
}
void hapus_belakang()
{
if (awal==NULL)
cout<<"Kosong";
else
if(awal==akhir)
{
hapus=awal;
awal=awal->next;
free(hapus);
}
else
{
hapus=awal;
while(hapus->next!=akhir)
hapus=hapus->next;
akhir=hapus;
hapus=akhir->next;
akhir->next=NULL;
free(hapus);
}
cout<<endl<<endl;
tampil();
}
void tampil()
{
if (awal==NULL)
cout<<"Kosong";
else
{
bantu=awal;
while(bantu!=NULL)
{
cout<<"nim : "<<bantu->nim;
cout<<" nama : "<<bantu->nama;
cout<<" umur : "<<bantu->umur<<endl;
bantu=bantu->next;
}
}
getch();
}
VARIABEL, TIPE DATA DAN EKSPRESI PADA
C++ IDENTIFIER
Indentifier adalah nama yang diberikan untuk
nama objek, nama fungsi, nama
variable, dll ( sifatnya ‘case sensitive’). Identifier pada C++ terdiri dari :
1. huruf ‘A’ sampai ‘Z’
2. huruf ‘a’ sampai ‘z’
3. underscore ( _ )
4. bilangan antara ‘0’ sampai ‘9’
Ketentuan dalam memberi nama identifier dalah C++ adalah :
1. karakter pertama harus huruf atau underscore
2. untuk compiler Borland, panjang maksimum 32 karakter
3. identifier harus tidak sama dengan keyword yang ada di C++
contoh identifier :
– Yang benar : nilai, Nilai_nama, No8
– Yang salah : 1Buah, nomor-data, if
variable, dll ( sifatnya ‘case sensitive’). Identifier pada C++ terdiri dari :
1. huruf ‘A’ sampai ‘Z’
2. huruf ‘a’ sampai ‘z’
3. underscore ( _ )
4. bilangan antara ‘0’ sampai ‘9’
Ketentuan dalam memberi nama identifier dalah C++ adalah :
1. karakter pertama harus huruf atau underscore
2. untuk compiler Borland, panjang maksimum 32 karakter
3. identifier harus tidak sama dengan keyword yang ada di C++
contoh identifier :
– Yang benar : nilai, Nilai_nama, No8
– Yang salah : 1Buah, nomor-data, if
TIPE DATA DI
C++
Tipe data diklasifikasikan berdasarkan bagaimana keadaan data disimpan
dalam memori, dan jenis operasi yang dapat dilakukan.
Tipe data diklasifikasikan berdasarkan bagaimana keadaan data disimpan
dalam memori, dan jenis operasi yang dapat dilakukan.
CHAR
Adalah sembarang huruf, angka, tanda baca tunggal. Ada 2 (dua) macam
char, yaitu :
1. signed
mendeklarasikan char bertanda, digunakan untuk nilai negative.
Rentang nilai mulai -128 sampai 127
2. unsigned
mendeklarasikan char tidak bertanda, untuk nilai positif. Rentang nilai
mulai 0 sampai 255
Adalah sembarang huruf, angka, tanda baca tunggal. Ada 2 (dua) macam
char, yaitu :
1. signed
mendeklarasikan char bertanda, digunakan untuk nilai negative.
Rentang nilai mulai -128 sampai 127
2. unsigned
mendeklarasikan char tidak bertanda, untuk nilai positif. Rentang nilai
mulai 0 sampai 255
contoh deklarasi char :
char letter = ‘A’ ;
unsigned char number = 245 ;
signed char value = -71 ;
char letter = ‘A’ ;
unsigned char number = 245 ;
signed char value = -71 ;
SHORT, INT,
LONG
Digunakan untuk menyatakan bilangan bulat. Seperti pada char, perubah tipe
signed dan unsigned dapat ditambahkan.
Rentang nilai short int mulai -32.768 sampai 32.767
Rentang nilai long / int mulai -2.147.483.648 sampai 2.147.483.647
Contoh deklarasi int :
Int nilai, total ; atau
Int nilai = 90 ;
Digunakan untuk menyatakan bilangan bulat. Seperti pada char, perubah tipe
signed dan unsigned dapat ditambahkan.
Rentang nilai short int mulai -32.768 sampai 32.767
Rentang nilai long / int mulai -2.147.483.648 sampai 2.147.483.647
Contoh deklarasi int :
Int nilai, total ; atau
Int nilai = 90 ;
FLOAT,
DOUBLE
Menyatakan bilangan pecahan/real, maupun eksponensial. Dalam keadaan
default, bilang floting point dianggap bertipe double.
Rentang nilai float mulai 3,4 E -38 sampai 3,4 E +38
Rentang nilai double mulai 1,7 E -308 sampai 1,7 E +308
Menyatakan bilangan pecahan/real, maupun eksponensial. Dalam keadaan
default, bilang floting point dianggap bertipe double.
Rentang nilai float mulai 3,4 E -38 sampai 3,4 E +38
Rentang nilai double mulai 1,7 E -308 sampai 1,7 E +308
ENUMERATION
/ ENUM
Adalah serangkaian symbol berurutan yang menspesifikasikan konstanta
bertipe integer. Dalam C++ tidak terdapat tipe Bolean, sehingga untuk
merepresentasikan TRUE dengan nilai integer bukan nol ( 1, 2, dst ),
sedangkan FALSE dengan nilai nol ( 0 )
Contoh deklarasi enum :
Enum BOOLEAN { False, True } ; atau
Enum BOOLEAN { Benar = 3, Salah = 0 } ;
Adalah serangkaian symbol berurutan yang menspesifikasikan konstanta
bertipe integer. Dalam C++ tidak terdapat tipe Bolean, sehingga untuk
merepresentasikan TRUE dengan nilai integer bukan nol ( 1, 2, dst ),
sedangkan FALSE dengan nilai nol ( 0 )
Contoh deklarasi enum :
Enum BOOLEAN { False, True } ; atau
Enum BOOLEAN { Benar = 3, Salah = 0 } ;
VOID
Menyatakan tipe kosong untuk :
1. mendeklarasikan fungsi yang tidak mengembalikan nilai apapun.
2. mendeklarasikan fungsi yang tidak menerima parameter apapun.
3. bila diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.
Menyatakan tipe kosong untuk :
1. mendeklarasikan fungsi yang tidak mengembalikan nilai apapun.
2. mendeklarasikan fungsi yang tidak menerima parameter apapun.
3. bila diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.
Contoh deklarasi void :
Void cctrputs (char*, int ) ; atau
Main (void) ; atau
Void* action ;
Int ivalue = 100 ;
Action = &ivalue ;
Void cctrputs (char*, int ) ; atau
Main (void) ; atau
Void* action ;
Int ivalue = 100 ;
Action = &ivalue ;
PENUNJUK /
POINTER
Adalah variable yang berisi nilai alamat suatu lokasi memori tertentu.
Deklarasi penunjuk dilakukan dengan menspesifikasikan *, sebelum nama
varabel / konstanta.
Adalah variable yang berisi nilai alamat suatu lokasi memori tertentu.
Deklarasi penunjuk dilakukan dengan menspesifikasikan *, sebelum nama
varabel / konstanta.
PENUNJUK / POINTER
Adalah sekelompok data bertipe sama yang menduduki lokasi memori yang
berurutan. Jumlah elemen array dinyatakan dengan cara mengapit jumlah
yang di maksud dengan tanda ‘ [ … ] ‘
Bentuk umum : tipe namaArray [ jumlahelemen ] ;
Untuk menyatakan array berdimensi lebih dari 1 (satu), tambahkan tanda
‘[ … ]’ sebanyak dimensi yang diinginkan.
Contoh deklarasi array 2 dimensi :
Int matrix [2][3] ;
Adalah sekelompok data bertipe sama yang menduduki lokasi memori yang
berurutan. Jumlah elemen array dinyatakan dengan cara mengapit jumlah
yang di maksud dengan tanda ‘ [ … ] ‘
Bentuk umum : tipe namaArray [ jumlahelemen ] ;
Untuk menyatakan array berdimensi lebih dari 1 (satu), tambahkan tanda
‘[ … ]’ sebanyak dimensi yang diinginkan.
Contoh deklarasi array 2 dimensi :
Int matrix [2][3] ;
STRING
Deretan karakter yang diakhiri dengan sebuah karakter kosong. String ditulis
dengan mengapit string dengan tanda petik dua ( “ …….” )
Contoh deklarasi string :
Char text [ ] = “ C++ “ ;
Puts (text) ;
Deretan karakter yang diakhiri dengan sebuah karakter kosong. String ditulis
dengan mengapit string dengan tanda petik dua ( “ …….” )
Contoh deklarasi string :
Char text [ ] = “ C++ “ ;
Puts (text) ;
STRUCT, UNION
Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang
berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union :
elemennya ada dilokasi memori yang sama.
Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang
berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union :
elemennya ada dilokasi memori yang sama.
Bentuk umum :
Struct tipestruktur
{
Tipeanggota1 namaAnggota1 ;
Tipeanggota2 namaAnggota2 ;
………….
}
namaStruktur ;
Struct tipestruktur
{
Tipeanggota1 namaAnggota1 ;
Tipeanggota2 namaAnggota2 ;
………….
}
namaStruktur ;
DATA OBJEK
Data objek adalah bagian dari memori yang digunakan untuk menampung
nilai dari variable. Variable umumnya digunakan untuk data objek yang
nilainya dapat diubah selama pemrosesan berlangsung.
Contoh deklarasi variable :
Int nilai ; atau int nilai = 80 ;
Dalam C++ pendeklarasian termasuk statemen, sehingga pendeklarasian
dapat diletakkan pada sembarang tempat dalam program.
Konstanta data objek adalah : variable yang nilainya tidak dapat diubah
selama pemrosesan berlangsung.
Contoh deklarasi konstanta :
Const double pi = 3.14 ;
Data objek adalah bagian dari memori yang digunakan untuk menampung
nilai dari variable. Variable umumnya digunakan untuk data objek yang
nilainya dapat diubah selama pemrosesan berlangsung.
Contoh deklarasi variable :
Int nilai ; atau int nilai = 80 ;
Dalam C++ pendeklarasian termasuk statemen, sehingga pendeklarasian
dapat diletakkan pada sembarang tempat dalam program.
Konstanta data objek adalah : variable yang nilainya tidak dapat diubah
selama pemrosesan berlangsung.
Contoh deklarasi konstanta :
Const double pi = 3.14 ;
SCOPE
IDENTIFIER
Ruang lingkup / scope adalah bagian mana dari program, identifier tersebut
dapat diakses. Scope dari suatu identifier dimulai dari pendeklarasian sampai
dengan akhir dari suatu blok. Scope identifier ada 2, yaitu :
1. local identifier
dideklarasikan di dalam blok ‘ { … } ‘
2. global identifier
dideklarasikan di luar dari blok
Scope relolution operator ( :: ) dapat digunakan untuk mengakses variable
global secara langsung.
Ruang lingkup / scope adalah bagian mana dari program, identifier tersebut
dapat diakses. Scope dari suatu identifier dimulai dari pendeklarasian sampai
dengan akhir dari suatu blok. Scope identifier ada 2, yaitu :
1. local identifier
dideklarasikan di dalam blok ‘ { … } ‘
2. global identifier
dideklarasikan di luar dari blok
Scope relolution operator ( :: ) dapat digunakan untuk mengakses variable
global secara langsung.
Contoh variable global :
Int x ;
F ( )
{
int x ;
:: x = 4 ; // pemberian nilai untuk variable global x
}
Int x ;
F ( )
{
int x ;
:: x = 4 ; // pemberian nilai untuk variable global x
}
OPERATOR DAN
EKSPRESI
Ekspresi adalah rangkaian dari operator, operand, dan punctuator ( ; )
contoh :
3 + 4 * 1 ;
Ekspresi adalah rangkaian dari operator, operand, dan punctuator ( ; )
contoh :
3 + 4 * 1 ;
OPERATOR
ARITMATIKA
Terdiri dari :
– penjumlahan ( + )
– pengurangan ( – )
– sisa bagi / hanya untuk tipe data integer ( % )
– perkalian ( * )
– pembagian ( / )
Jika operator bagi ( / ) diterapkan pada tipe integer, akan menghasilkan
bilangan integer dengan decimal yang dihilangkan.
Terdiri dari :
– penjumlahan ( + )
– pengurangan ( – )
– sisa bagi / hanya untuk tipe data integer ( % )
– perkalian ( * )
– pembagian ( / )
Jika operator bagi ( / ) diterapkan pada tipe integer, akan menghasilkan
bilangan integer dengan decimal yang dihilangkan.
ASSIGNMENT OPERATOR ( = )
Berfungsi untuk memberi nilai pada variable.
Table kombinasi assignment :
NO. PENYINGKATAN ARTI
1 X += Y X = X + Y
2 X -= Y X = X – Y
3 X *= Y X = X * Y
4 X /= Y X = X / Y
5 X %= Y X = X % Y
Bagikan Artikel ini :
Berfungsi untuk memberi nilai pada variable.
Table kombinasi assignment :
NO. PENYINGKATAN ARTI
1 X += Y X = X + Y
2 X -= Y X = X – Y
3 X *= Y X = X * Y
4 X /= Y X = X / Y
5 X %= Y X = X % Y
Jangan lupa commont. share, terus like nya yaw ???
Sumber : file:///E:/My%20Document/X%20IT%202/%E2%86%92%20HTML/full%20percobaan/pointer-c++.html
KEEP CALM AND LOVE HER
#23
Pelajaran yang melelahkan ini gan (p)
ReplyDeletehoho, cukup menikmati pelajarannya dan agan akan terbiasa :-d
DeleteMantap gan
ReplyDeleteTerimakasih gan :)
DeleteTerimakasih sudah berkunjung gan :)
ReplyDeleteahh auah,, bagus juga
ReplyDeletehaha, pusing ya gan? :-?
DeletePelajaran nya kerenlah gan, nice - nice :D
ReplyDeleteTerimakasih atas kunjungannya kawan :)
Deletekeren min
ReplyDelete