desperately study for better
IP ,
knowledge, Skill, and
future

belajar membuat web: HTML

Struktur dasar dari html adalah sebagai berikut

<head>

</head>
<body>

</body>


Bagian head adalah untuk menyimpan kode kode pendukung untuk body missal css
Bagian body digunakan untuk tampilan web misal

<head>

</head>
<body>
hai saya sedang belajar html
</body>

Buka teks editor (notepad++), dan masukan kode diatas
Simpan dengan nama tes.html
Setelah disimpan buka tes.html tersebut dengan Mozilla firefox. Maka akan tampil text hai saya sedang belajar html pada firefox tersebut

sudah mengerti kan dasarnya? Kita mengetik kode pada text editor, kemudian browser akan menerjemahkan kode tadi dan menampilkan sebuah halaman web
berikut ini adalah kode kode yang saya kumpulkan agar anda dapat lebih memahami pelajaran html ini.


source code



gak jadi deh di w3s sudah cukup lengkap sepertinya. silakan pergi kesini saja

karakter karakter yang dapat ditulis dalam bahasa C

Berikut ini adalah daftar karakter karakter special yang dapat ditulis dalam bahasa c


\b
backspace BS
\f
form feed FF (also clear screen)
\n
new line NL (like pressing return/enter)
\r
carriage return CR (cursor to start of line)
\t
horizontal tab HT
\v
vertical tab (not all versions)
\"
double quotes (not all versions)
\'
single quote character '
\\
backslash character \
\ddd
character ddd where ddd is an ASCII code given in octal or base 8, See Character Conversion Table.
\xddd
character ddd where ddd is an ASCII code given in hexadecimal or base 16, See Character Conversion Table.

Character Conversion Table

berikut ini adalah tabel Karakter Conversion Table untuk desimal, octal,dan hexadesimal

Decimal  Octal  Hexadecimal  Character

0 0 0 CTRL-@
1 1 1 CTRL-A
2 2 2 CTRL-B
3 3 3 CTRL-C
4 4 4 CTRL-D
5 5 5 CTRL-E
6 6 6 CTRL-F
7 7 7 CTRL-G
8 10 8 CTRL-H
9 11 9 CTRL-I
10 12 A CTRL-J
11 13 B CTRL-K
12 14 C CTRL-L
13 15 D CTRL-M
14 16 E CTRL-N
15 17 F CTRL-O
16 20 10 CTRL-P
17 21 11 CTRL-Q
18 22 12 CTRL-R
19 23 13 CTRL-S
20 24 14 CTRL-T
21 25 15 CTRL-U
22 26 16 CTRL-V
23 27 17 CTRL-W
24 30 18 CTRL-X
25 31 19 CTRL-Y
26 32 1A CTRL-Z
27 33 1B CTRL-[
28 34 1C CTRL-\
29 35 1D CTRL-]
30 36 1E CTRL-^
31 37 1F CTRL-_
32 40 20
33 41 21 !
34 42 22 "
35 43 23 #
36 44 24 $
37 45 25 %
38 46 26 &
39 47 27 '
40 50 28 (
41 51 29 )
42 52 2A *
43 53 2B +
44 54 2C ,
45 55 2D -
46 56 2E .
47 57 2F /
48 60 30 0
49 61 31 1
50 62 32 2
51 63 33 3
52 64 34 4
53 65 35 5
54 66 36 6
55 67 37 7
56 70 38 8
57 71 39 9
58 72 3A :
59 73 3B ;
60 74 3C <
61 75 3D =
62 76 3E >
63 77 3F ?
64 100 40 @
65 101 41 A
66 102 42 B
67 103 43 C
68 104 44 D
69 105 45 E
70 106 46 F
71 107 47 G
72 110 48 H
73 111 49 I
74 112 4A J
75 113 4B K
76 114 4C L
77 115 4D M
78 116 4E N
79 117 4F O
80 120 50 P
81 121 51 Q
82 122 52 R
83 123 53 S
84 124 54 T
85 125 55 U
86 126 56 V
87 127 57 W
88 130 58 X
89 131 59 Y
90 132 5A Z
91 133 5B [
92 134 5C \
93 135 5D ]
94 136 5E ^
95 137 5F _
96 140 60 `
97 141 61 a
98 142 62 b
99 143 63 c
100 144 64 d
101 145 65 e
102 146 66 f
103 147 67 g
104 150 68 h
105 151 69 i
106 152 6A j
107 153 6B k
108 154 6C l
109 155 6D m
110 156 6E n
111 157 6F o
112 160 70 p
113 161 71 q
114 162 72 r
115 163 73 s
116 164 74 t
117 165 75 u
118 166 76 v
119 167 77 w
120 170 78 x
121 171 79 y
122 172 7A z
123 173 7B {
124 174 7C |
125 175 7D }
126 176 7E ~
127 177 7F DEL

Most common syntax error in c programming

Error is dividing in 2 parts, syntax error and logic error

Logic error is hard to find, no easy way to detect it

Syntax error is easier since the dev c will give error message if there are syntax error, here is the common errors in c programming

1. Forgot the “;” in the end of statement à the most common beginner mistake

2. Case sensitive, a and A is different in c language, make sure you type it right

3. What header should I include? if you type the statement sin(x) but you don’t include the header math.h there will be an error when you compile the program, but what about the other statement? Here the list of header and the statement in dev c (you can also see this list in the help file dev c with keyword:header)

List of header



Input and Output: <stdio.h>

FILE *fopen(const char *filename, const char *mode)
FILE *freopen(const char *filename, const char *mode, FILE *stream)
int fflush(FILE *stream)
int fclose(FILE *stream)
int remove(const char *filename)
int rename(const char *oldname, const char *newname)

FILE *tmpfile(void)
char *tmpnam(char s[L_tmpnam])
int setvbuf(FILE *stream, char *buf, int mode, size_t size)
void setbuf(FILE *stream, char *buf)
int fprint(FILE *stream, const char *format, ...)
int sprintf(char *s, const char *format, ...)
vprintf(const char *format, va_list arg)
vfprintf(FILE *stream, const char *format, va_list arg)
vsprintf(char *s, const char *format, va_list arg)
int fscanf(FILE *stream, const char *format, ...)
int scanf(const char *format, ...)

int sscanf(char *s, const char *format, ...)
int fgetc(FILE *stream)
char *fgets(char *s, int n, FILE *stream)
int fputc(int c, FILE *stream)
int fputs(const char *s, FILE *stream)
int getc(FILE *stream)
int getchar(void)
char *gets(char *s)
int putc(int c, FILE *stream)
int putchar(int c)
int ungetc(int c, FILE *stream)
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream)
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream)

int fseek(FILE *stream, long offset, int orogin)
long ftell(FILE *stream)
void rewind(FILE *stream)
int fgetpos(FILE *stream, fpos_t *ptr)
int fsetpos(FILE *stream, const fpos_t *ptr)
void clearerr(FILE *stream)
int feof(FILE *stream)
int ferror(FILE *stream)
void perror(const char *s)


Character Class Tests: <ctype.h>

isalnum(c)
isalpha(c)
iscntrl(c)
isdigit(c)
isgraph(c)
islower(c)
isprint(c)
ispunct(c)
isspace(c)
isupper(c)
isxdigit(c)

String Functions: <string.h>

char *strcpy(s , ct)
char *strncpy(s , ct , n)
char *strcat(s , ct)
char *strncat(s , ct , n)
int strcmp(cs , ct)
int strncmp(cs , ct ,n)
char *strchr(cs , c)
char *strrchr(cs , c)
size_t strspn(cs , ct)
size_t strcspn(cs , ct)
char *strstr(cs , ct)
size_t strlen(cs)
char *strerror(n)
char *strtok(s , ct)


Mathematical Functions: <math.h>

sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
atan2(x)

sinh(x)
cosh(x)
tanh(x)
exp(x)
log(x)
log10(x)
pow(x,y)
sqrt(x)
ceil(x)
floor(x)
fabs(x)
ldexp(x)
frexp(x,double *ip)
modf(x,double *ip)
fmod(x,y)


Utility Functions: <stdlib.h>

double atof(const char *s)
int atoi(const char *s
long atol(const char *s)
double strrod(const char *s, char **endp)
long strtol(const char *s, char **endp, int base)
unsigned long strtoul(const char *s, char **endp, int base)
int rand(void)
void srand(unsigned int seed)

void *calloc(size_t nobj, size_t size)
void *malloc(size_t size)
void *realloc(void *p, size_t size)
void free(void *p)
void abort(void)
void exit(int status)
int atexit(void (*fcn)(void))
int system(const char *s)
char *getenv(const char *name)
void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum))
void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *))

int abs(int n)
long labs(long n)
div_t div(int num, int denom)
ldiv_t ldiv(long num , long denom)


Diagnostics: <assert.h>

void assert(int expression)


Non-local Jumps: <setjmp.h>

int setjmp(jmp_buf env)
void longjmp(jmp_buf env, int val)



Signals: <signal.h>

void (*signal(int sig, void (*handler)(int)))(int)

Data and Time Functions: <time.h>

clock_t clock(void)

time_t time(time_t , *tp

double difftime(time_t time2 , time_t time1)

time_t mktime(struct tm *tp)

char *asctime(const time_t *tp)

char *ctime(const time_t *tp)

struct tm *gmtime(const time_t *tp)

struct tm *localtime(const time_t *tp)

size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)

get started with C

Get started with c,
1. Download the bloodshed dev c in www.bloodshed.com and install it
2. Open the dev c and Read the help file carefully, it contains more than enough information and tutorial for c beginner
3. Just write some code and test it, the easiest way to test your code is press ctrl+f9 to compile the file, open the cmd (start --> run --> type “cmd” without colon --> press enter), go to the directory where you compile the file, drag the .exe file to your cmd.
4. Another way to test the file is press f9 after you finish write the code, but I will recommend you to add this code:

getch();

before the last “}”.
Why must we add the code ?, the getch(); code is used for waiting an input. So, the screen will be appear as long as you don’t enter any input
5. Okay, here is some sample code that I type for you, just ask yuki-chan or write in the shoutoutbox/comment box if you have problem or find any bugs :)

hello world
#include<stdio.h>
#include<conio.h>

main()
{printf("hello world");

getch();//with this the screen will not dissapear immediattely
}

Memasukan input

#include<stdio.h>
#include<conio.h>
#include <stdlib.h>

float bilangan1;
int bilangan2;


main()
{
printf("masukan bilangan desimal \n");
scanf("%f",&bilangan1 );
printf("bilangan yang tadi anda masukan adalah %f \n\n", bilangan1);

printf("masukan bilangan bulat \n");
scanf("%i",&bilangan2 );
printf("bilangan yang tadi anda masukan adalah %i \n\n", bilangan2);



getch();//with this the screen will not dissapear immediattely


}
Penjumlahan

#include<stdio.h>
#include<conio.h>
float bilangan1, bilangan2, hasil;

main()
{
printf("masukan bilangan pertama \n");
scanf("%f",&bilangan1 );
printf("masukan bilangan kedua \n");
scanf("%f",&bilangan2 );

hasil=bilangan1 + bilangan2;
printf("bilangan pertama ditambah bilangan kedua adalah %f", hasil);

getch();////with this the screen will not dissapear immediattely

}

Pengenalan Bahasa C: struktur

bahasa C merupakan bahasa pemrograman yang cukup populer dan sangat ampuh untuk pemrograman yang berhubungan dengan hardware. Lebih mudah dari assembly tapi gak kalah ampuh juga lo sama assembly. berikut ini merupakan sebuah tutorial bagi anda yang ingin mempelajari bahasa C.

struktur penulisan program:

=========================================================
#include

#define [nama][nilai]

[ global variable]

[function]

void main (void)
{
[deklarasi lokal variable]
[program utama]
}
==============================================================

penjelasan:
1. #include ex: #include
disini kita memasukan file-file header seperti stdio.h, conio.h, delay.h dll
file file header ini dapat diibaratkan sebagai library dari bahasa c . tanpa adanya library mesin tidak akan bisa mengerti apa yang kita tulis. jadi pastikan anda meng-include library-library yang dibutuhkan dalam program anda

2. #define[nama][nilai] ex: #define juta 1.000.000
seperti artinya disini kita mendefinisikan suatu nilai dengan sebuah variable. hal ini dilakukan untuk menyederhanakan program yang kita buat
contoh: x = y * juta lebih baik daripada x= y * 1.000.000

3. global variable ex: char nama
adalah variable yang dapat dgunakan di seluruh fungsi .baik fungsi utama maupun tambahan.

4. function
disini kita bisa menambahkan fungsi tambahan diluar fungsi utama

5.void main (void)
ini adalah tempat program utama. disini kita juga bisa menambahkan variabel local. berbeda dengan variabel global yang berlaku di setiap bagian, variabel local ini hanya bisa berlaku di program utama saja

to be continued..............

mengenal microcontroller 8051 part 3: SFR

SFR atau spesial function register adalah register-register dengan fungsi sangat khusus. SFR dapat dianalogikan sebagai tabel kontrol yang digunakan untuk menjalankan dan memonitor operasi mikroprocessor. ada sekitar 21 jenis SFR pada mikrokontroller keluarga mcs-51.

Register A(Accumulator)
Register ini berfungsi untuk menyimpan hasil sementara dari operasi. operand harus dimasukan ke accumulator sebelum intruksi aritmatik dilakukan. Ketika ALU (aritmatik logic unit) menjalankan operasi aritmatik, hasilnya akan disimpan di accumulator. jika data dipindahkan dari suatu rgister ke register lain, maka mereka harus melewati accumulator

Register B(Base)
register ini digunakan pada operasi perkalian dan pembagian, dimana operasi ini hanya dapat dijalankan ketika angka angka disimpan dalam register A dan B. untuk intruksi lainnya dapat menngunakan register ini sebagai pengganti register A

Register R(R0-R7)
Register-register ini digunakan untuk penyimpanan variabel dan hasil sementara. register ini disimpan dalam 4 bank RAM


PSW Register (Program Status Word)
Register ini berfungsi untuk memberitahu informasi tentang keadaan CPU.

P - Parity bit. berfungsi untuk mendeteksi genap atau ganjil suatu set dari bit pada accumulator. genap akan bernilai 1, ganjil akan bernilai 0. Misal 26 (11011 in binary), parity flag akan 1 karena jumlah 1 nya genap

- Bit 1. Tbit ini ada pada mikrokontroller selanjutnya.

OV Overflow terjadi ketika hasil dari operasi aritmatik lebih besar dari 255 (decimal), sehingga tidak dapat disimpan dalam satu register. Apa bila terjadi overflow maka bit akan bernilai (1). jika tidak ada maka akan bernilai (0).

RS0, RS1 - Register bank select bits. 2 bit register ini digunakan untuk memilih 1 dari 4 bank register dari ram. dengan memasukan logika 1 dan 0 ke register ini, maka r0 - r7 akan disimpan dalam salah satu bank register tadi.
RS1 RS2 Space in RAM
0 0 Bank0 00h-07h
0 1 Bank1 08h-0Fh
1 0 Bank2 10h-17h
1 1 Bank3 18h-1Fh

F0 - Flag 0. digunakan untuk general purpose

AC - Auxiliary Carry Flag dihunakan untuk operasi BCD

CY - Carry Flag digunakan untuk seluruh operasi aritmatika dan pergeseran.
DPTR Register (Data Pointer)

Register ini sebenarnya tidak ada secara fisik, register dptr ini terdiri dari dua register terpisah, Data Pointer High (DPH) dan Data Pointer Low. 16 bit inilah yang digunakan untuk pengalamatan memory eksternal. walaupun begitu, 16 bit ini dapat dianggap sebagai 2 8 bit register yang independen. mereka juga dapat digunakan sebagai tempat penyimpanan data dan hasil sementara yang tidak ada kaitannya dengan lokasi memori


SP Register (Stack Pointer)

nilai pada stack pointer memastikan bahwa stack pointer akan menunjuk valid RAM, dan memberikan ketersediaan stack. nilai stack pointer akan bertambah 1 setiap memulai subprogram dan berkurang 1 setiap mengakhiri subprogram. setiap kali direset maka stack pointer akan bernilai 7. ini artinya stack akan dimulai dari lokasi ini. apabila nilainya bukan 7, maka seluruh stack akan dipindahkan keposisi lain pada memori.

P0, P1, P2, P3 - Input/Output Registers

Pada register ini apabila pin dibuat 0, maka pin akan berfungsi sebagai ouput, sedangkan apabila diberi nilai 1 maka pin akan berfungsi sebagai output
source:
http://www.keil.com/support/man/docs/is51/
http://howtofriends.com/8051/

mengenal microcontroller 8051 part2: organisasi memory

Memori pada mikrokontroller dibagi 2, yaitu Program memory(ROM) dan Data memory(RAM). ROM digunakan untuk menyimpan permanen program. RAM digunakan untuk menyimpan sementara hasil dan variable yang terjadi selama mikrokontroller beroperasi. RAM awalnya mempunyai ukuran memory sebesar 256 lokasi (0-FFh), sementara pada versi selanjutnya terdapat 128 register tambahan.

RAM terdiri dari beberapa blok. Blok pertama (0-20h) terdiri dari 4 bank, masing-masing memiliki 8 register dari r0-r7. blok berikutnya (20h-2fh) merupakan bit-addresable memory, artinya masing masing bit mempunyai alamat sendiri dari 0-7f. karena ada 16 register maka terdapat 128 bit dengan alamat terpisah. blok ketiga(2fh-7fh) adalah register register. untuk lebih jelas bisa dilihat melalui gambar berikut....


Photobucket

ASCII (American standard code for information interchange)

Adalah kode biner standar untuk mengkodekan karakter alphanumeric. Kode ASCII menggunakan 7 bit untuk mengkodekan 128 karakter. 3 bit MSB adalah kolom, 4 bit LSB adalah baris.

Kode ASCII terdiri dari 96(32 – 127) printable character dan 32(0-31) non printing character yang terdiri dari Format effectors, information separators, communication controls

Dalam praktiknya data computer beroperasi pada satuan byte(8 bit) sehingga bit ke 8 sering kali di gunakan untuk kegunaan tertentu tergantung dari aplikasinya. Misal: penambahan simbol pada beberapa printer. kode tambahan inilah yang disebut extended ASCII codes.

Mengenal microcontroller 8051 part 1: arsitektur 8051

8051 adalah salah satu mikrokontroller yang berasal dari keluaga mcs 51. mikrokontroller ini sangat populer pada masanya, bahkan masih sering digunakan sampai saat ini. pada part 1 ini saya akan membahas arsitektur dari mikrokontroller 8051 ini. o iya untuk no pin nya dari p1.0-gnd adalah 1-20, dari p2.0-vcc adalah 21-40



keterangan:
Pins 1-8: Port 1 setiap pin dapat dikonfigurasi sebagai input/output

Pin 9: RS apa bila diisi dengan logic 1, pin ini akan men-stop operasi dan menghapus isi hampir semua register,. apabila diisi dengan logic 0, maka pin akan memulai program dari awal.

Pins10-17: Port 3 mirip dengan port 1, setiap pin dapat dikonfigurasi sebagai input/output. selain tu mereka juga memiliki fungsi lain:

Pin 10: RXD Serial asynchronous/syncronous communication input

Pin 11: TXD Serial asynchronous communication output atau Serial synchronous communication clock output.

Pin 12: INT0 Interrupt 0 input

Pin 13: INT1 Interrupt 1 input

Pin 14: T0 Counter 0 clock input

Pin 15: T1 Counter 1 clock input

Pin 16: WR Signal untuk menulis RAM tambahan (eksternal)

Pin 17: RD Signal untuk membaca dari RAM eksternal

Pin 18, 19: X2, X1 input dan output internal oscillator. quartz crystal yang megatur frekuensi operasi mikrokontroller biasanya dihubungkan ke pin-pin ini.

Pin 20: GND Ground

Pin 21-28: Port 2 jika tidak menggunakan eksternal memory, maka pin2 ini berfungsi sebagai universal input-output. jika memory eksternal digunakan maka akan muncul pada port ini alamat byte yang lebih tinggi (contoh: a8-a15)these port pins are configured as universal inputs/outputs. In case external memory is used then the higher address byte, i.e. addresses A8-A15 will appear on this port. It is important to know that even memory with capacity of 64Kb is not used ( i.e. note all bits on port are used for memory addressing) the rest of bits are not available as inputs or outputs.

Pin 29: PSEN jika external ROM digunakan untuk menyimpan program, maka pin ini mempunyai logic 0 setiap kali mikrokontroller membaca sebuah byte dari memory.

Pin 30: ALE ALE (address latch enable), digunakan ketika multiple memory eksternal dihubungkan ke mikrokontroller dan hanya satu yang dibutuhkan.

Pin 31: EA dengan memasukan logic 0 pada pin ini, p2 dan p3 digunakan untuk transmisi data dan alamat dengan tidak mengangggap adanya memory internal atau tidak. jika digunakan logic 1 maka mikrokontroller akan menggunakan 2 memory, internal dan eksternal.

Pin 32-39: Port 0 mirip dangan port 2, jika tidak menggunakan eksternal memory, maka pin2 ini berfungsi sebagai universal input-output. jika ada, maka P0 akan digunakan sebagai alamat output (A0-A7). Ketika ALE bernilai , dan data output ketika ALE bernilai 01

Pin 40: VCC Power supply +5V


Port Input/Output
Mikrokontroller 8051 mempunyai 4 I/O port , setiap port memiliki 8 pin. berarti sebuah mikrokontroller 8051 32 pin input output. logic state dari pin menyatakan apakah sebuah pinberfungsi sebagai input atau output: 0=output, 1=input.

Transformator

transformator adalah suatu alat elektronik yang memindahkan energi dari satu sirkuit elektronik ke sirkuit lainnya melalui pasangan magnet Biasanya dipakai untuk mengubahtegangan listrik dari tinggi ke rendah dan berarti juga mengubah arus listrik dari rendah ke tinggi.

Transformator bekerja berdasarkan prinsip induksi, dimana





Daya dibagi tiga, daya nyata (P) watt, daya reactive (Q)VaR, daya apparent (S)VA
PS = Cos θ

P = VI cos θ
Q = VI sin θ
S = VI
voltage regulation (VR) adalah kemampuan dari sistem untuk menyediakan tegangan konstan (hampir) ke segala kondisi beban.
VR = \frac{V_{nl} - V_{fl}}{V_{fl}} \times 100\%

Vnl = voltage at no load

Vfl = voltage at full load = a.Vsekunder

a = perbandingan lilitan primer dan sekunder

Semakin kecil nilai VR semakin bagus