Author Archives: ambipug

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.

Algoritma dan Pemograman Review (Session 6)

FUNCTION & RECURSION

Module Programming yang artinya cara pemograman yang dibagi kedalam modul-modul. Modul dibahasa pemograman C diimplentasikan dengan menggunakan function.

Modul juga bisa disebut sebagai Sub-Program.

Latihan terbaik di pemograman modular yaitu:

  1. High Fan-In, yang paling sering digunakan
  2. Low Fan-Out, mempunya fungsi/kegunaan yang lebih spesifik atau mempunyai kerjaan yang lebih sedikit.
  3. Self-Contained, fungsi yang bisa berdiri sendiri di C dibagi menjadi 2 bagian yaitu: Library Function dan User-defined function prototype.

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

Identifier Scooping:

  • Local
  • Global

Recursive adalah sebuah fungsi yang digunakan untuk bisa memanggil fungsi itu sendiri lagi.

Thanks for reading!

 

Algoritma dan Pemograman Review (Session 5)

Topik Algoritma dan Pemograman pada pertemuan ke 5 adalah Pointer dan Array.

POINTER

Pointer adalah sebuah variabel yang menyimpan alamat dari variabel lainnya.

Syntax: <type> *ptr_name;

POINTER TO POINTER

Pointer to pointer adalah sebuah variabel yang menyimpan alamat lain dari suatu pointer.

Syntax: <type> **ptr_ptr;

ARRAY

Array adalah tempat dimana sebuah data disimpan di dalam struktur tertentu untuk dapat diakses sebagai sebuah grup ataupun secara individual. Beberapa variabel disimpan dengan nama yang sama tetapi dibedakan oleh index mereka. Array bersifat homogen yang berarti dapat menyimpan suatu tipe data yang sama. Array juga bersifat random access yang artinya bisa diakses secara individual dan tidak perlu berurutan.

Syntax: type array_value [value_dim];

POINTER CONSTANT

Sebuah pointer yang tidak diberikan sebuah nilai pada saat run-time.

POINTER VARIABLE

Sebuah pointer yang dapat diberikan nilai yang baru pada saat run-time.

Perlu diingat bahwa compiler C tidak membatasi berapa dimensi array yang dibuat tetapi komputer kitalah yang membatasinya, tepatnya RAM (Random Access Memory) nya.

Thanks for reading!

Algoritma dan Pemograman Review (Session 4)

Topik kelas hari kali ini adalah Repetition.

Repetition yang berarti satu atau lebih instruksi yang diulang dalam jangka waktu tertentu. Repetition terdiri dari:

  1. For :

for(exp1; exp2; exp3) {

  statement1;

  statement2;

  ……. }

  • exp1 – Inisialisasi atau pemberian nilai awal variabel index perulangan
  • exp2 – pengubah nilai index perulangan tersebut, bisa pertambahan ataupun perkurangan
  • exp3 – batas perulangan yang akan dicek terus-menerus yang bersifat opsional.

2. While

while(exp){

  statement1;

  statement2;

   ….. }

Dimana expression disana adalah boolean expression. Statement akan tetap dijalankan selama exp tersebut bernilai salah atau 0.

3. Do-while

do{

    < statements >;

} while(exp);

Do-while adalah salah satu repetition yang akan dijalankan jika expression tersebut bernilai benar.

Jika terdapat repetisi, maka akan terdapat Break dan Continue. Break berarti mematahkan perulangan (repetition) dan mematahkan operasi switch, kalau continue berarti melangkahi semua pernyataan yang di dalam repetisi dan berlanjut ke pengulangan selanjutnya.

Thanks for reading!

Algoritma dan Pemograman Review (Session 3)

Di kelas sesi 3 ini, kita belajar tentang:

IF

Fungsi If akan dijalankan jika pernyataan yang di dalam if itu benar, jika salah maka fungsi ini akan di skip.

IF-ELSE

Fungsi If-Else ini adalah fungsi if yang di dalamnya terdapat pernyataan lain jika pernyataan di bawah if itu salah.

Contohnya

If (Boolean expression)
statement 1;
Else statement 2;
Or
If (Boolean expression)
{
Statement 1;
Statement 2;
……
}
Else
{
Statement 3;
Statement 4;
}

NESTED IF

Nested if itu maksudnya if nya dalamnya masih ada if, misalnya jika satu statement di dalam if sudah benar maka akan di jalankan if selanjutnya, jika salah maka akan dijalankan fungsi else (mungkin salah).

Jenis – Jenis Error

Terdapat 4 jenis error yang sering di lihat pada saat pemograman yaitu:

  1.  Compile Error – Error yang terjadi jika terdapat kesalah Syntax
  2. Link-Time Error – Error yang terjadi jika alamat file salah
  3. Run-Time Error – Error yang terjadi jika overflow (pemakaian memory yang berlebih)
  4. Logical Error – Error yang terjadi jika logika tidak tepat.

Sekian dari blog saya. Happy Reading!

Algoritma & Pemograman Review (Session 2)

Operator adalah simbol yang digunakan untuk memproses sebuah nilai yang menghasilkan nilai yang baru. Sedangankan Operand adalah sebuah nilai yang digunakan untuk menghasilkan sebuah hasil yang baru yang biasa nya berupa variabel.

Contoh dari Operator dan Operand adalah A+B = C

A, B, C adalah Operand dan ‘+’, ‘=’ adalah Operator

Berdasarkan dari operand, operator bisa dibagi menjadi 3 yaitu:

  1. Unary Operator
  2. Binary Operator
  3. Ternary Operator

Terdapat beberapa operator aritmatika yaitu

  • + (Penjumlahan)
  • – (Pengurangan)
  • * (Perkalian)
  • / (Pembagian)
  • % (Sisa hasil pembagian)
  • ++ (Penambahan 1)
  • — (Pengurangan 1)
  • () (Prioritas)

Logical Operators

Picture1

 

 

Algoritma dan Pemograman Review (Session 1)

Algoritma adalah langkah langkah atau steps untuk melakukan sesuatu ataupun melakukan perhitungan di dalam pemograman. Algoritma ditemukan oleh Al-Khwarizmi, seorang matematikawan dari Persia.

OOP (Object Oriented Programming) adalah pemograman yang berdiri sendiri, setiap objeknya terdapat kelas-kelas tersendiri nya. Setiap objeknya dapat berinteraksi dengan objek lainnya, dan memproses data.

Contoh dari OOP yang diberikan saat presentasi: Jika dari sebuah blueprint dibangun 2 gedung yang identikal dan salah satunya terdapat kaca pecah, tetapi tidak dengan gedung lainnya karena gedung tersebut berdiri sendiri, tidak berpengaruh.

OOP terdiri dari:

  • Inheritance
  • Abstraction
  • Encapsulation
  • Interface
  • Polyphormism

Tingkat bahasa pemograman terdapat 3 tingkat, yaitu:

  1. Low Level (Example: Assembly, Binary)
  2. Medium Level (Example: C, Pascal)
  3. High Level (Example: C#, Java, C++, etc.)

Flowchart ketika melakukan pemograman:

Picture1

Algoritma dapat dipresentasikan dalam 2 bentuk:

Pseudocode: sebuah bahasa pemograman yang dibuat untuk memudahkan manusia untuk mengerti bahasa komputer. Contohnya: if, else, print, etc.

Flowchart: sebuah metode yang cocok kepada orang yang tidak suka melihat banyak tulisan dan lebih tertarik kepada warna dan bentuk. Terdapat beberapa bentuk dengan fungsinya yaitu:

Picture2

 

Contoh sebuah flowchart:

Picture3

 

Bahasa Java lebih universal dari Bahasa C. Universal dalam arti cocok atau compatible dengan berbagai operating system. Dikarenakan itu Java lebih banyak digunakan di dalam perangkat elektronik.

Organization Skill – A Must Have Skill For All Of Us

Organization skill, apa sih itu?

Sebenernya kalau ditransalate lgsg dari Inggris itu artinya skill organisasi. Skill Organisasi? Yap, Organization Skill adalah sebuah skill yang harus dimiliki oleh semua mahasiswa maupun yang telah bekerja di perusahaan”. Karena sekarang jika lo mau bekerja, lo harus punya Organization Skill yg bagus! Contoh dari Organization Skill itu adalah kayak OSIS. Pada pernah daftar jadi keanggotaan OSIS gak? Hayo yang belum pernah….

But it’s okay! Di Binus University, lo semua bisa mendaftar kalian jadi aktivis di UKM-UKM. Jadi kalau lo gak pernah masuk OSIS, lo bisa mendaftar jadi aktivis di UKM-UKM yang lo suka seperti BNEC BoM (Board of Management), HIMTI SPAH (Lupa kepanjangannya 🙁 ), atau bagi yang tinggal di Binus Square, lo bisa daftar jadi member BSSC (Binus Square Student Committee) yang semuanya sama fungsinya seperti OSIS cuman lebih kompleks dan condong seperti struktur perusahaannya. Kalau jadi aktivis, lo bakal dapat hard skill dan soft skill. Hard skill seperti pelajaran yang kalian dapatkan di kampus, dan soft skill seperti team work dan organization skill!

Nah sekarang uda pada tau kan organization skilll itu apa? Jadi kalau mau mendapatkan skill tersebut, lo uda boleh daftar menjadi aktivis-aktivis UKM yang bakal berguna di masa depan!

SEE YOU GUYS AND THANKS FOR READING!!