by : R. Heroe Siswojo
KeywordJuml MemoriJangkauan Nilai Integer Short Int atau Short Long Int atau Long 16 bit 32 bit s/d s/d Deklarasi Tipe Integer Contoh program dg tipe data integer /* */ /*Nama Program : integer.cpp */ /*Dibuat tanggal : 01 Oktober 2012 */ #include Main () ( int a,b,c; a=25 ; b=15 ; c=a*b; printf (*%d*,c); ) Jika progr dijalankan, hasilnya : c = 40
Penjelasan : Fungsi printf u/ menampilkan nilai variabel hrs di gunakan format specifier, dan tergantung pd tipe variabelnya. Tipe var integer gunakan %d
KeywordJuml MemoriJangkauan Nilai Float Double Long double 32 bit 64 bit 3,4E-038 s/d 3,4E+038 1,7E-038 s/d 1,7E+038 Deklarasi Tipe Pecahan 1,7E-038 s/d 1,7E+038 Contoh program dg tipe pecahan /* */ /*Nama Program : pecahan.cpp */ /*Dibuat tanggal : 1 Oktober 2012 */ #include Main () ( int a,b,c; a=25 ; b=15 ; c=a/b; printf (*%f*,c); ) Jika progr dijalankan, hasilnya : c = 2,
Penjelasan : Fungsi printf u/ menampilkan nilai variabel hrs di gunakan format specifier, dan ter- gantung pd tipe variabelnya. Tipe pecahan / floating point gunakan %f
Contoh program dg tipe teks /* */ /* */ /*Nama Program : char.cpp */ /*Dibuat tanggal : 01 Oktober 2012 */ #include Main () ( char a ; printf (*Masukkan huruf :*); scanf(*%c*, &a) printf (*Jadi hurufnya adalah :%c\n*, a) ) Bila program dijalankan/dieksekusi, hasilnya Masukkan huruf : a Jadi hurufnya adalah : a Deklarasi Tipe Teks (char)
Penjelasan : Fungsi printf u/ menampilkan nilai variabel hrs di gunakan format specifier, dan ter- gantung pd tipe variabelnya. Tipe tex dlm hal ini char gunakan %c Tambahan fungsi standard scanf yg di- gunakan u/ memasukkan nilai dalam variabel.
Contoh program dg tipe string /* */ /*Nama Program : string.cpp */ /*Dibuat tanggal : 01 Oktober 2012 */ #include Main () ( char nama [20] ; printf (*Masukkan nama anda :*); scanf(*%s*, &nama); printf (*Jadi nama anda adalah :%s\n*, nama); ) Bila program dijalankan/dieksekusi, hasilnya Masukkan nama anda : andri Jadi nama anda adalah : andri Deklarasi Tipe Tex (String)
Penjelasan : Fungsi printf u/ menampilkan nilai variabel hrs digunakan format specifier, yang ter- gantung pd tipe variabelnya. Tipe tex dlm hal ini string digunakan %s Tambahan fungsi standard scanf yg di- gunakan u/ memasukkan nilai dalam var.
Deklarasi Tipe Pointer dengan Integer Contoh program dg tipe pointer dgn integer /* */ /*Nama Program : pointer.cpp */ /*Dibuat tanggal : 01 Oktober 2012 */ #include Main () ( int a, *b ; printf (*Pointer b menunjukkan alamat = %p\n*,b); printf (*Alamat tersebut berisi nilai : %d\n*,*b); ) Bila program dijalankan/dieksekusi, hasilnya Pointer b menunjukkan alamat = 19BF:2222 Alamat tersebut berisi nilai : 20 a=20; b=&a;
Penjelasan : Var a (pointer tipe integer) dan d (pointer tipe integer akan disimpan pd address tertentu) Var b mrpk pointer krn dideklarasikan didahului oleh *, operafor &, u/ mengambil alamat dr suatu data Pada contoh, var a diisi integer 20 dan disimpan pd alamat tertentu. Alamat diisikan pointer b menggunakan operator & (b=&a) Shg pointer b berisi alamat dari nilai integer 20 Hasil program : alamat ponter b terletak pada hexadesimal 19BF %p digunakan u/ menampilkan nilai pointer
STACK (TUMPUKAN) a b c d e f g atas Menghapus (pop) menyisipkan (push)
OPERASI PADA STACK Ada 2 operasi pada STACK Menyisipkan data (Push) Menghapus data (Pop)
Operasi Push Digunakan u/ memasukkan data pada Stack Ilustrasi: Push : Penggalan Programnya Void Push (NOD **T, char item) ( NOD *n; n = NodBaru (item); n next = *T; *T = n;
Operasi Pop Digunakan u/ menghapus data pada lapisan atas Ilustrasi: Penggalan Programnya Char Pop (NOD **T) ( NOD *P: char item; If ( TumpukanKosong(*T)) P = *T; *T = (*T) next; Item = P data; free (P); ) Return item; )
Bagaimana kalau tumpukan kosong ?? Untuk melihat kosong atau tidak, caranya membuat fungsi yg menghasilkan data yg bertipe boolean U/ mengetahui kosong/tidak dapat dilihat potongan program dibawah ini : //Uji tumpukan Kosong BOOL TumpukanKosong (NOD *T) ( Return ((BOOL) (T ==NULL)); )
Manfaat Stack U/ menulis ungkapan dengan menggunakan notasi tertentu Bandingkan antara : (A + B) * (C + D) ; A + B * C + D InfixPrefix A + B+AB A + B - C-+ABC (A+B)*(C-D)*+AB-CD
Conversi dari infix dijelaskan sbb : Misal yg akan dikonversi adl : (A+B)*(C-D) Ungkapan diubah jadi : [+AB]*[-CD]…………..(1) Jika P = [+AB] dan Q = [-CD] Maka ungkapan (1) adalah : P*Q diubah jadi *PQ Jadi : *PQ = *(A+B)(C-D) = *+AB-CD
InfixPostfix 16 / / (2+14)* * 2+14* * (6-2)*(5+4)6 2 – * Kebalikan Prefix adl Postfix Sama dg Prefix, maka notasi Postfix dapat memakai tanda kurung tambahan Perhatikan contoh notasi infix dan postfix berikut ini :
Ilustrasi notasi Infix dan postfix pd stack Contoh : * = Push 2 Push 14 Pop 14 Pop 2 Push 2+14=16 Push Pop 5 Pop 16 Push 16*5=80 Push answer 80 80
4 Contoh lain : / Push 2 Push 10 Pop 10 Pop 2 Push 2+10=12 Push Pop 6 Pop 9 Push 9-6= Push 6 Pop 3 Pop 12 Push 12/3=4