taufik adi sanjaya pengenalan bascom
TRANSCRIPT
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
1
Pengenalan Mikrokontroller AVR , Bascom AVR dan Khazama Downloader
Taufik Adi SanjayaWebsite penulis : http://embeddedsystem.itstoshare.com/
PENGENALAN MIKROKONTROLLER
a. Apakah mikrokontroller itu?
Seperti halnya sebuah komputer, mikrokontroller merupakan sebuah chip
dengan harga yang murah dan dapat diprogram untuk bekerja sesuai dengan
yang diharapkan programmer. Contohnya tulisan berjalan atau yang sering
disebut "running text" yang sering kita jumpai di toko-toko, penggerak otamatis
pada sistem robotika dan sistem industri.
b. AVR mikrokontroller
Ada 2 jenis mikrokontroller yang berkembang saat ini, yaitu tipe CISC dan
RISC. Hal ini didasarkan pada arsitektur processor dan set intruksinya. Sebagai
contoh MCS51 (AT89S51/52) merupakan tipe CISC yang memerlukan 12 siklus
clock untuk melaksanakan satu siklus instruksi. Tipe AVR (Alf and Vegard's Risc
processor) yang merupakan jenis RISC, hanya perlu 1 siklus saja, sehingga jelas
lebih cepat waktu eksekusinya.
Mikrokontroller AVR dikelompokkan menjadi 4 group : keluarga AT90SXX, keluarga
ATmega, keluarga ATtiny dan keluarga AT89RFXX. Tidak ada perbedaan mendasar pada
Lisensi Dokumen:Copyright © 2003-2007 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
2
keempatnya, baik arsitektur maupun instruksinya. Kapasitas memori, peripheral, dan
fungsi adalah yang menjadikan masing-masing keluarga AVR memiliki keunikan sendiri.
c. Fitur Dasar ATmega16
Salah satu perusahaan mikroelektronika, ATMEL telah memproduksi
mikrokontroller AVR yaitu ATmega16 dengan fitur-fitur sebagai berikut :
a. Port I/O 32 jalur (Port A,B,C,D masing-masing 8 bit)
b.ADC (Analog Digital Converter)
c. Timer / counter
d. Osilator
e. Flash PEROM
f. EEPROM
g. SRAM
h. Interupsi Eksternal dan Internal
i. Port USART untuk komunikasi serial
Fitur-fitur diatas merupakan gambaran kecil dari ATmega16, jika ingin lebih jelas
untuk fitur-fitur ATmega16 bisa kunjungi situs resmi dari atmel di
(http://www.atmel.com).
Mikrokontroller tipe ATmega16 tergolong relative murah. Dengan banyaknya fitur-
fitur yang ada didalam ATmega16 menyebabkan ATmega16 ini dijadikan salah satu IC
yang sangat banyak dicari konsumen dipasaran.
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
3
d. Konfigurasi Hardware
Gambar 1. Konfigurasi pin ATmega16
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
4
Mikrokontroller ATmega16 terdiri dari 40 pin, masing-masing pin mempunyai fungsi sebagai
berikut :
Tabel 1. Deskripsi Pin ATmega16
No. Pin Nama Fungsi
1 PB0(XCK/T0) Port B.0/Counter 0/clock eksternal untuk USART (XCK)
2 PB1 (T1) Port B.1/Counter 1
3 PB2 (INT2/AIN0) Port B.2/Input (+) Analog Komparator (AIN0) dan interupsieksternal 2 (INT2)
4 PB3 (0C0/AIN1) Port B.3/Input (-)Analog Komparator (AIN1) dan output PWM 0
5 PB4 (SS) Port B.4/ SPI Slave Select Input (SS)
6 PB5 (MOSI) Port B.5/ SPI bus Master Out Slave Input
7 PB6 (MISO) Port B.6/ SPI bus Master Input Slave Output
8 PB7 (SCK) Port B.7/ sinyal clock serial SPI
9 RESET Me-reset mikrokontroller
10 VCC Catu daya (+)
11 GND Sinyal Ground terhadap Catu daya
12-13 XTAL 1-XTAL 2 Sinyal input Clock eksternal (kristal)
14 PD0 (RXD) Port D.0/ Penerima data serial
15 PD1 (TXD) Port D.l/ Pengirim data serial
16 PD2 (INT0) Port D.2/ Interupsi eksternal 0
17 PD3 (INT1) Port D.3/ interupsi eksternal 1
18 PD4 (0C1B) Port D.4/ Pembanding timer-counter 1
19 PD5 (0C1A) Port D.5/ Output PWM 1A
20 PD6 (ICP1) Port D.6/ Timer-counter 1 input
21 PD7 (0C2) Port D.7/ Output PWM 2
22 PC0 (SCL) Port C.0/ Serial bus clock line
23 PC1 (SDA) Port C.1/ Serial bus data input-output
24-27 PC2-PC5 Port C.2 - C.5
28 PC6 (T0SC1) Port C.6/ Timer osilator 1
29 PC7 (T0SC2) Port C.7/ Timer osilator 2
30 AVCC Tegangan ADC
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
5
31 GND Sinyal ground ADC
32 AREFF Tegangan referensi ADC
33-40 PA0(ADC0)-PA7(ADC7)
Port A.0 - A.7 dan input untuk ADC (8 chanel : ADC0 - ADC 7)
e. Struktur Memori
AVR ATmega16 mempunyai ruang memori data dan memori program
yang terpisah. Memori data terdiri 3 bagian :
a. 32 buah General Purpose Register (GPR)/ register umum.
b. 64 buah register l/O
c. 512 byte SRAM Internal
Memori program sebesar 16 Kb dalam Flash EPROM dengan alamat 000HFFFH
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
6
f. Port I/OPort A, B, C , D
Merupakan port Input Output (I/O) 8 bit (8 pin) bi-directional. Dalam pemanfaatan port ini (dalam hal ini port A) terdapat 3 buah memori yaitu :
Pada ketiga port yang lain (Port B,C dan D) mempunyai konfigurasi
yang sama. Seluruh Port I/O dapat difungsikan sebagai input atau output
dengan keluaran 1 atau 0, baik input pull-up maupun floating. Setting
konfigurasi untuk Port I/O :
DDR bit = 1 DDR bit = 0
Port bit = 1 Output = 1 Input Pull-Up
Port bit = 0 Output = 0 Input Floating
Sebagai contoh, jika diinginkan Port A sebagai output low, maka
DDRA=1 dan PORT A = 0. Untuk register Pin A, ini merupakan pin-pin fisik
pada hardware, jadi hanya dapat dibaca. Kondisi logika di pin masing-
masing port dibaca melalui Pin A, Pin B dan seterusnya.
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
7
g. Pemrograman Mikrokontroller
Proses pemograman mikrokontroller diawali dengan menulis
program sumber (source code) baik dalam bahasa assembly, C maupun
basic. Source code kemudian di compile dan akan menghasilkan kode-
kode yang dapat dimengerti oleh mikrokontroller (format*.hex).
PENGENALAN BAHASA PEMROGRAMAN BASIC dengan BASCOM AVR
Ada banyak cara menuliskan program ke mikrokontroller, salah satunya bahasa
BASIC. Alasan penggunaan bahasa ini adalah kemudahan dalam pemahaman
pemograman dan jika kita menggunakan compiler BASCOM AVR maka akan terasa
nikmat karena sudah dilengkapi dengan simulator.
1) Tipe Data
Tipe data berhubungan dengan variable atau konstanta yang akan menunjukkan
daya tampung/jangkauan dari variable/konstanta tersebut. Tipe data pada BASCOM
adalah sebagai berikut :
Tabel 2. Tipe data dan ukurannyaTipe Data Ukuran (Byte) Jangkauan
Bit 1/8 0 atau 1Byte 1 0 s/d 255Integer 2 -32.768 s/d 32.767Word 2 0 s/d 65535Long 4 -2147483648 s/d 2147483647
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
8
Single 4 1,5 x 10-45 s/d 3,4 x 1038
Double 8 5 x 10-324 s/d 1,7 x 10308
String s/d 254
2) Variabel
Variabel digunakan untuk menyimpan data sementara. Variabel diberi nama
dan dideklarasikan terlebih dahulu sebelum digunakan. Aturan pemberian nama
variable sebagai berikut :
Harus dimulai dengan menggunakan huruf
Tidak boleh ada nama variabel yang sama pada lingkup yang sama
Maksimum 32 karakter
Tidak boleh ada spasi♦♦♦
Tidak boleh menggunakan karakter-karakter khusus yang digunakan untuk
operator
Variabel dapat dideklarasikan dengan cara : Dim <namaVariable> As
<TipeData>
Contoh :
Dim angka As Integer 'angka sebagai variable dengan tipe integer Dim bilangan As byte
'bilangan sebagai variable dengan tipe byte Jika bilangan variabel dideklarasikan dalam
satu baris, maka dipisah dengan tanda koma.
Contoh :
Dim angka As integer, bilangan As byte
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
9
3) Konstanta
Berbeda dengan variabel, sebuah konstanta akan bernilai tetap. Sebelum
digunakan, konstanta dideklarasikan terlebih dahulu dengan cara sebagai berikut :
Dim nama_konstanta As Const nilai_konstanta
Const nama_konstanta = nilai_konstanta
Contoh :
Dim pembagi As Const 23 'pembagi=23 Const pembagi = 23
4) Penulisan Bilangan
Pada BASCOM-AVR, bilangan kita tuliskan dalam 3 bentuk :
1. Desimal ditulis biasa, contoh 16
2. Biner diawali dengan &B, contoh : &B10001111
3. Heksadesimal diawali dengan &H, contoh : &H8F
5) AliasUntuk mempermudah pemograman, biasanya nama register dalam mikrokontroler
dibuatkan nama yang identik dengan hardware yang dibuat. Contoh :
LED_1 alias PORTC.O ' nama lain dari PORTC.O adalah LED
SW_1 alias PINC.1 ' nama lain dari PINC.1 adalah SW_1
6) Array
Array atau larik merupakan sekumpulan variable dengan nama dan tipe yang sama,
yang berbeda indeks keanggotaannya. Cara mendeklarasikan array sebagai berikut : Dim
nama_array(jumlah-anggota) As tipe_data
Contoh :
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
10
Dim Voltage (5) As byte ' variable voltage dengan tipe data byte mempunyai
anggota 5.
Untuk mengakses Array dengan cara :
Voltage (1) = 25 ' anggota pertama dari variabel voltage diisi dengan bilangan 25.
PORTC = voltage(l) 'PORTC diisi nilai anggota pertama dari variabel voltage.
7) OperatorBASCOM-AVR menyediakan beberapa operator untuk pengolahan data.
a) Operator Aritmatik
Operator Keterangan+ Operasi penjumlahan- Operasi pengurangan* Operasi perkalian/ Operasi pembagian% Operasi sisa pembagian
b) Operator Operasional
Operator Keterangan Contoh= Sama dengan A=B<> Tidak sama dengan A<>B> Lebih besar dari A>B< Lebih kecil dari A<B>= Lebih besar atau sama dengan A>=B<= Lebih kecil atau sama dengan A<=B
c) Operator Logika
Operator Keterangan ContohAND Operasi AND &B110 And &B101 hasilnya &B100OR Operasi OR &B11001 Or &B10111 hasilnya &B11111NOT Operasi NOT NOT &HFF hasilnya &H00XOR Operasi XOR &B1001 Xor &B0111 hasilnya &B1110
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
11
8) 8) Struktur Pemilihan
a) IF - THEN
Merupakan pernyataan untuk menguji apakah kondisi bernilai benar atau salah untuk
melakukan sebuah instruksi. Syntax penulisannya sebagai berikut :
If <kondisi> Then <perintah> (1 baris perintah)
If <kondisi> Then (lebih dari 1 perintah)
<Perintah 1>
<Perintah 2>End If
b) IF - THEN - ELSE
Untuk keadaan dimana kedua kondisi (benar maupun salah) tetap dikenai perintah.
Syntax penulisannya sebagai berikut :
If <kondisi> Then
<Perintah 1>
Else
<Perintah 2>
End If
c) IF - THEN - ELSEIF
Kita gunakan ketika terdapat lebih dari satu pengujian kondisi. Syntax penulisannya
sebagai berikut :
If <kondisi 1> Then
<Perintah 1>
Elseif <kondisi 2> Then
<Perintah 2>
Elseif <kondisi 3> Then
<perintah 3>
End If
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
12
d) SELECT - CASE
Untuk menangani pengujian kondisi yang banyak, maka akan lebih sederhana
menggunakan Select - Case. Cara penulisannya : Select case <variable>
Case 1 : <Perintah 1>
Case 2 : <Perintah 2>
……………………………….
End Select
9) STRUKTUR PERULANGAN
a) FOR - NEXT
Perintah ini kita gunakan untuk melaksanakan perintah secara berulang sesuai
dengan jumlah dan tingkat perulangannya. Syntax penulisannya adalah :
For <variable=nilai awal> To <nilai_akhir> <step penambahan>
<pernyataan> Next
b) DO - LOOP
Pernyataan ini untuk melakukan perulangan selama kondisi terpenuhi. Syntax
penulisannya adalah : Do
<pernyataan> Loop
Jika perulangan yang dilakukan terbatas, sesuai kondisi yang diinginkan, maka
caranya sebagaii berikut : Do
<pernyataan>
Loop Until
<Kondisi>
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
13
c) WHILE - WEND
Bentuk perulangan ini akan melakukan perulangan jika sebuah syarat kondisi
terpenuhi. Syntax penulisannya adalah : While <kondisi> <perintah>
Wend
10) Struktur Lompatan
a) GOSUB
Perintah ini akan melakukan lompatan ke label yang ditunjuk, biasanya untuk
mengerjakan sebuah rutin perintah, kemudian kembali lagi setelah rutin perintah
tersebut selesai dikerjakan. Rutin yang dibuat harus dituliskan perintah Return pada
akhir pernyataan.
b) GOTO
Perintah ini untuk melakukan lompatan ke label untuk melakukan instruksi tanpa
kembali lagi, sehingga tidak perlu Retrun.
c) EXIT
Untuk keluar secara langsung dari perulangan Do-Loop, for-Next,
While-Wend. Syntax penulisannya sebagai berikut :
EXIT FOR (untuk perulangan For-Next) EXIT DO (perulangan Do-
Loop)
EXIT WHILE (perulangan While-Wend) EXIT SUB (perulangan Sub -
Endsub)
EXIT FUNCTION
CAR A PENGGUNAAN BASCOM AVR
1. Membuka Aplikasi BASCOM-AVR
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
14
Pilih Start — All Program — MCS Electronik — BASCOM-A VR, tampak pada
dibawah ini.
Buat lembar kerja baru, File — New (Ctrl+N). Nah disinilah kita akan
menuliskan kode programnya dengan bahasa basic. Setelah selesai kemudian
simpan dengan cara File — Save (Ctrl+S). Compile program tersebut dengan
Program — Compile (F7). Jika terdapat error, maka benahi programnya
kemudian compile lagi sampai tidak ada error.
Gambar 4. Windows BASCOM-AVR
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
15
2. Menuliskan Program
Setelah menjalankan aplikasi BASCOM maka langkah selanjutnya adalah
mengetikkan listing program pada worksheet BASCOM sesuai dengan
program yang akan dibuat.
Gambar 5.Penulisan Program Pada BASCOM
3) Compile Program Yang Dibuat
Setelah listing program pada BASCOM selesai diketik maka langkah
selanjutnya adalah mengkompile program tersebut, hal tersebut dilakukan
untuk mengecek apakah program yang dibuat tidak ada error. Cara compile
program dapat dilakukan dengan menekanatau menekan tombol F7sehingga dapat diketahui apakah program tersebut telah benar. Untuk lebih
jelasnya silahkan melihat gambar 6.
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
16
Gambar 6.Proses Compile Program BASCOM
CARA MENDOWNLOAD PROGRAM KE IC ATMEGA16 MENGGUNAKAN KHAZAMA
Khazama merupakan aplikasi yang dapat digunakan sebagai proses download
program ke dalam IC. Untuk menggunakan Khazama AVR Programmer kita harus
memilih IC yang kita gunakan. Cara pemilihan IC yang kita gunakan dapat dilihat sesuai
dengan gambar di bawah ini.
Gambar 7. Pemilihan IC Yang Digunakan
NB : Downloader yang dipergunakan adalah USB Asp
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
17
Setelah kita memilih IC yang kita gunakan maka langkah selanjutnya kita memilih
file.Hex yang akan kita download ke dalam IC. Untuk memilih File.Hex yang kita inginkan maka
klik pada bagian gambar dibawah ini kemudian carilah file tersebut di folder yang anda
simpan.
Apabila file.Hex yang anda cari telah ditemukan maka tekan "Open" setelah itu anda
dapat meng klik "Auto Program" maka proses download ke dalam IC telah sukses
dilaksanakan.
Gambar 9. Proses Auto Program
Gambar 8. Cara Mecari File.Hex
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
18
GLOSARY
Compiler Program komputer yang menerjemahkan program yang ditulis dalam bahasa
pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic dan
Java) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara.
Simulasi Suatu proses peniruan dari sesuatu yang nyata beserta keadaan sekelilingnya
(state of affairs).
Mikrokontroller Sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya
terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau
keduanya), dan perlengkapan input output.
Firmware Istilah yang mengacu kepada rutin-rutin perangkat lunak yang disimpan di dalam
ROM (Read Only Memory)
Variable Deklarasi sesuatu yang memiliki variasi nilai.
Penutup
Semoga bermanfaat dan Selamat Berkarya.
Referensi
Biografi PenulisTaufik Adi Sanjaya. Numpang lahir di Garut, Jawa Barat. Dibesarkan di Kulon Progo. Penulis aktif di http://ilmukomputer.org/ admin : http://embeddedsystem.itstoshare.com/
Identitas lengkap penulis dapat dilihat di http://embeddedsystem.itstoshare.com/
Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain
Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya
Komunitas eLearning IlmuKomputer.ComCopyright © 2003-2007 IlmuKomputer.Com
19
Email : [email protected]
atau facebook : http://www.facebook.com/t.adisanjaya?ref=tn_tnmn