Rabu, 06 Januari 2016

File Processing & Stream

Stream adalah urutan karakter. Semua input dan output data stream.
– Ketika program C dijalankan ada 3 standard streams yang diaktifkan:
1. Standard Input Stream
Mengontrol stream input dari keyboard
2. Standard output Stream
Mengontrol stream output ke monitor
3. Standard error Stream
Mengontrol pesan error
– Definisi File
– File adalah kumpulan record (baris)
– Record adalah kumpu lan field (column)
– Field adalah blok byte
– Byte adalah kumpulan bit

jadi 1 byte adalah 8 bit

– File dan Streams:
Membuka file ordering pointer kembali ke initiator. Pointer menunjuk ke struktur data dengan tipe FILE didefinisikan dalam stdio.h
contoh stream :
Standard Input Stream(misalnnya scanf), dengan file pointer stdin
Standard output Stream (pas mau di cetak misalnya printf), dengan file pointer stdout
Standard error Stream (jika kita pelajari C#, nanti ada perror), dengan file pointer stderr
– File Definition
Text file tersimpan dalam teks atau ASCII (American Standard Code for Information Interchange) yang merupakan suatu standard internasional.
Ukuran penyimpanan tergantung pada data: 10000 membutuhkan 5 byte
Dapat terbuka dengan menggunakan standar aplikasi editor teks
atau c:> TYPE nama_file
– FILE BINARY menyimpan data numerik dalam format in line dengan format yang mikro-prosesor (contoh: Format sign-magnitude 2 ‘s complement).
– Buffer Area
Buffer area adalah bagian dari memori yang digunakan sebagai ruang sementara sebelum data pindah ke sebuah file.
contoh syntax :
FILE * fp;
(hati hati karena FILE menggunakan huruf besar)
(fp adalah pointer file awal dari buffer area)

– Open File
Membuka File menggunakan fopen ():
FILE *fopen (const char *filename, const char *mode);
contoh mode :
“r” membuka file untuk dibaca.
“w” membuat file untuk ditulis.
“A” membuka file untuk data append.
“r+” membuka file untuk membaca / menulis.
“w+” membuat file untuk membaca / menulis.
“a+” membuka file untuk membaca / tambahkan
“rb” membuka File (binary) untuk dibaca.
“wb” membuat file (binary) untuk menulis.
– Close File
int fclose (FILE *stream);
– fclose () didefinisikan di
– fclose () akan mengembalikan 0 jika berhasil, dan EOF jika error
– EOF (End Of File) sama dengan -1 (EOF itu dibuat otomatis)
– fclose () akan masuk ke buffer area dulu dan segera mengirimkan data yang tersisa untuk file.

– Input dan output file

– fgetc (INPUT)
Membaca satu karakter dari dua file
fgetc (stdin) ekuivalen dengan getchar ()
Syntax: int fgetc (FILE *stream);
– fputc (OUTPUT)
Menulis satu karakter ke file
fputc (‘a’, stdout) sama dengan putchar (‘a’)
Syntax: int fputc (int c, FILE * stream);
– fgets (INPUT)
Syntax: char *fgets( char *string, int n, FILE *stream );
Membaca satu baris dari sebuah file yang berakhir dengan baris baru, atau maksimum n-1 jumlah karakter.
Kembali string jika successful dan NULL jika error
– fputs (OUTPUT)
Menulis baris ke file
syntax: int fputs( const char *string, FILE *stream );
Mengembalikan nilai non-negatif jika berhasi dan EOF jika error.
– fscanf (INPUT)
Syntax:int fscanf( FILE *stream, const char *format [, argument ]… );
Membaca data dari file dengan format scanf.
mengembalikan jumlah field dan read jika successful, dan EOF jika error
– fprintf (OUTPUT)
Syntax:int fprintf( FILE *stream, const char *format [, argument ]…);
Menulis data ke file menggunakan format printf.
Pengembalian byte written jika nilai successful dan negatif jika error.
– fwrite
Syntax: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
Writing a block of data in the buffer area to the file
Return number of byte data written, and error otherwise.
– fread
Syntax: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
Baca ukuran blok data dari file
- feof
Syntax: int feof( FILE *stream );
Mencari tahu apakah pointer telah mencapai end-of-file
Kembali 0 jika tidak berakhir end-of-file

Rabu, 09 Desember 2015

Function and Recurtion

Modular Programing
Program biasanya di bagi kedalam modul. Modul di bahasa pemrograman C diimplementasikan dengan menggunakan function. Function adalah sekumpulan statement yang di gunakan untuk melakukan sesuatu yang spesifik. Modul juga sering di sebut sebagai Sub-Program.

 Best practice in module programming:
–High Fan-In, frequently used
–Low Fan-Out, more specific functionality/ small number of job
–Self-Contained, self resource sufficient

Function in C divided in two types :
Library function
User-defined function

Function Prototype
Syntax :  return-value-type  function-name ( parameter-list );

Identifier Scooping:
- Local
- Global

Recursive
adalah sebuah function yang yang di gunakan untuk memanggil function itu sendiri.


Setelah pertemuan ini, pertemuan selanjutnya ada tamu undangan dari PT. Dewa Web yang memberikan penjelasan tentang Crytography dan SSL yang sangat berguna jika ingin membuat suatu web.

Rabu, 28 Oktober 2015

Program Control: Repetition

Repetition definition:
one or more instruction repeated for certain amount of time.

Looping operation:

  • For             : Tidak harus ada kondisi.
                               For syntax: for(expr1;expr2;expr3)statement;
                               expr1: initialization.
                               expr2: condition.
                               expr3: increment, decrement.
      • Infinite loop: - Break= Berhenti (keluar dari scope)
                                                    - Continue = Skip (melewatkan)
      • Nested loop

  • While         : Harus ada kondisi dan biasanya dicek terrlebih dahulu baru di jalankan.
                               While akan jalan jika kondisinya true dan sebaliknya. 

  • Do-While   : Dijalankan terlebih dahulu lalu baru di cek.
                               Do-while minimal jalan sekali.

Rabu, 21 Oktober 2015

Program Control: Selection

Selection

- If                 =>  1 Statement => True or False   
- If else          =>  > 1 Statement
- Switch case  =>  Expression

Nested If

example: if (......);
                    else
                         if(......);
                             else
                                  if(.....);

Error Types:

Compile-Time Error

caused by syntax error

Link-Time Error

success fully compiled, but cause link error
caused by no object code at link time

Run-Time Error

successfully compiled, but error at run time. Usually caused by numerical operation such as:
overflow, floating point underflow, division by zero, etc.

Logical Error

wrong result caused by incorrect logical flow/algorithm

Kamis, 08 Oktober 2015

Operator, Operand & Arithmetic

Operator adalah bagian yang digunakan untuk memproses nilai untuk menghasilkan nilai baru.

Operand adalah bagian yang mengspesifikasikan bagian apa yang di manipulasi atau dioperasikan.

Jenis Operator menurut kebutuhan:
-          Unary Operator                                 (need one operand)
-          Binary Operator                                (need two operand)
-          Ternary Operator                              (need three operand)

Operator dibagi menjadi 6:
1.  Assignment Operator
= using symbol “=” (equal)
2.  Logical Operator
= using symbol “&&(AND), ||(OR), !(NOT), ^ (XOR)”
3.  Arithmetic Operator
= using symbol “+, -, /, *, %, ++, --, ()"
4. Relational Operator
= using symbol “==, !=(NOT EQUAL), <, >, <=, >=, ?:”
5. Bitwise Operator
= using symbol “&, |, ^, ~, >>, <<”
6. Pointer Operator