Monthly Archives: January 2016

Algoritma dan Pemograman Review (Session 9)

Hari ini kita belajar sorting yang artinya mengurutkan suatu data.

Sorting terdiri dari:

  1. Simple
  • Bubble Sort -> penukaran data hingga data semua terurut.
  • void Bubble(int *DataArr, int n)
    {
    int i, j;
    for(i=1; i=i; j–)
    if(DataArr[j-1] > DataArr[j])
    Swap(&DataArr[j-1],&DataArr[j]);
    }
  • Selection Sort -> Memastikan data kecil dan data besar (Mencari index terkecil, disimpan, dan selama indeks yang dicek bukan terkecil, maka indeks tersebut akan tetap berada di tempatnya.)
  • for(i=0; i<=N-2; i++){ /* N=number of data */
    for(j=i; j<=N-1; j++){
    Note the index of smallest value between A[j] s/d A[N-1],
    Save it in variable k.
    Swap A[i] with A[k].
    }
    }
  • Insertion Sort -> penyisipan, bandingkan indeks yang dipilih dengan indeks yang lain, jika indeks tersebut lebih besar maka akan digeser
  • for(i=1; i<n; i++) {
    x = A[i], insert x to its suitable place between A[0] and A[i-1].
    }

2. Intermediate Sorting

  • Quick sorting -> sorting yang berdasarkan perbandingan dengan metode divide and conqueror.
  • void QuickSort(int left, int right)
    {
    if(left < right){
    //arrange elements R[left],…,R[right] that
    //producing new sequence:
    R[left],…,R[J-1] R[J].
    QuickSort(left, J-1);
    QuickSort(J+1, right);
    }
    }
  • Merge sorting -> sorting yang dilakukan dengan teknikk merge (menggabungkan dua buah array kedalam sebuah array yang baru.)

3. Searching -> mencari data yang sudah di sorting.

  • Linear Search -> dengan cara barbar (strcmp, dll tanpa function)
  • Binary Search -> Harus diurutkan lebih besar ke kanan lebih kecil ke kiri.
  • Interpolation Search -> sama dengan binary hanya berbeda formula nya.

 

Algoritma dan Pemograman Review (Session 8)

File Processing:

–Files and Streams

–File Definition

–Open File

–Close File

–Input File

–Output File

Definisi File, record dan penyusunnya :

File is a collection of record
Record is a collection of field
Field is a block of byte
Byte is collection of bit

Definisi Streams 

  • To keep key in data from keyboard need to be saved at secondary storage device as a data file.
  • Stream is a sequence of character. All input and output data is a stream. C sees file as a stream.

ketika kita menjalankan Program yang dibuat dengan bahasa C dan turunnanya maka program itu menjalankan 3 jenis stream:

  1. Standard Input Stream

Controlling input stream from keyboard

  1. Standard Output Stream

Controlling output stream to the monitor

  1. Standard Error Stream

Controlling the error messaging

yang masing masing tersingkronisasi dengan File yang diakses

 

ada beberapa jenis file :

  • TEXT FILE saved in a text format or ASCII File

–Storage size depends on its data: 10000 needs 5 byte

–Can be open using standard text editor application

–or c:>TYPE file_name

  • BINARY FILE storing numerical data in affixed format in line with micro-processor format definition (example: format sign-magnitude 2’s complement).

dalam mengakses file kita akan membuka dan menutup file

yang perintanya ada di header <stdio.h>

Opening a File using fopen():

dengan menuliskan :  FILE *fopen (const char *filename, const char *mode );

  •   “r”  opening a file to be read.“w”  creating a file to be written.“a”  opening a File for data append.

    r+”  opening a File for read/write.

    w+”  creating file for read/write.

    a+”  opening a File for read/append

    “rb”  opening a File (binary) to be read.

    “wb”  creating a file (binary) for write operation.

setlah membuka file maka filenya harus di tutup dengan :

fungsi fclose() yang sudah ada di <stdio.h>

  • fclose() will return 0 if successful, and EOF if error
  • EOF (End Of File) equals to -1
  • fclose() will release the buffer area and immediately send the remaining data to file.

Algoritma dan Pemograman Review (Session 7)

Saat C dijalankan ada 3 standard streams yang diaktif, yaitu
1. Standard Input Stream (stdin)
2. Standard output Stream (stdout)
3. Standard error Stream (stderr)

 

File adalah kumpulan record
Record adalah kumpulan field
Field adalah blok byte
Byte adalah kumpulan bit

FILE BINARY menyimpan data numerik dalam format in line dengan format yang mikro-prosesor.

Buffer area adalah bagian dari memori yang digunakan sebagai ruang sementara sebelum data pindah ke sebuah file.

Cara open file
Membuka File menggunakan fopen ():
FILE *fopen (const char *filename, const char *mode);
Contoh mode(perintah) :
“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.

Cara close file
int fclose (FILE *stream);
” * “harus ditutup agar bisa digunakan untuk aplikasi lainnya atau .txtnya akan digunakan terus menerus
fclose () didefinisikan di <stdio.h>
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 sisa data ke dalam file.

Perintah Input dan Output File

  1. fputs (OUTPUT)
    Syntax : int fputs( const char *string, FILE *stream );
    Menulis baris ke file
    Mengembalikan nilai non-negatif jika berhasi dan EOF jika error.
  2. feof
    Syntax : int feof( FILE *stream );
    membaca terus menerus sampai file habis
    Mencari tahu apakah pointer telah mencapai end-of-file
    Kembali 0 jika tidak berakhir end-of-file
  3. fgetc (INPUT)
    Syntax : int fgetc (FILE *stream);
    Membaca satu karakter(char) dari file.txt
  4. fread
    Syntax : size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
    Baca ukuran blok data dari file
    membaca dari file sebanyak n size
  5. 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
  6. fputc (OUTPUT)
    Syntax : int fputc (int c, FILE * stream);
    Menulis/menaruh satu karakter(char) ke file.txt
  7. fscanf (INPUT)
    Syntax : int fscanf( FILE *stream, const char *format [, argument ]… );
    Membaca data dari file.txt dengan format scanf.
    mengembalikan jumlah field dan read jika successful, dan EOF jika error
  8. fwrite
    Syntax : size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
    Menulis ke file sebanyak n size
    Writing a block of data in the buffer area to the file
    Return number of byte data written, and error otherwise.
  9. fprintf (OUTPUT)
    Syntax : int fprintf( FILE *stream, const char *format [, argument ]…);
    Menulis data ke file.txt menggunakan format printf.
    Pengembalian byte written jika nilai successful dan negatif jika error.