Cari Blog Ini

Selasa, Agustus 04, 2015

Programming in C - Part 19: Alokasi Memory secara Dinamis (Dynamic Memory Allocation)

Anda tentu masih ingat bahwa panjang sebuah array yang dideklarasikan harus diketahui sebelumnya.Jika tidak didefinisikan, maka program akan menampilkan pesan error pada saat kompilasi program. Sayangnya dalam banyak hal kita jarang sekali dapat mengetahui dengan pasti berapa banyak data yang akan dimasukkan ke dalam array. Bayangkan anda membuat sebuah software statistik sederhana dimana software tersebut akan menghitung jumlah dan rata-rata dari angka yang dimasukkan. Anda juga menginginkan deretan data yang dimasukkan user akan disimpan dalam sebuah array. Tentu saja anda tidak akan pernah tahu berapa banyak data yang akan dimasukkan oleh user.

Situasi seperti ini dapat diatasi dengan menggunakan teknik Dynamic Memory Allocation, dimana memory akan dialokasikan pada saat run time. Teknik ini juga akan mengurani beban pada memory stack karena data yang dimasukkan akan disimpan pada area lainnya, misalnya data segment pada memori komputer.
Untuk memahahi hal ini dapat dilihat program berikut ini

Programming in C - Part 18: Structure

Anda dapat mendeklarasikan dan menginisiasi sebuah variabel dalam bahasa C dengan menetapkan tipe datanya. Misalnya

int i = 0 ;

adalah perintah untuk mencadangkan sebuah lokasi blok memori yang diberi nama i dan akan berisi data bertipe integer, dalam hal ini diisi dengan 0.

int i[5] ;
adalah perintah yang sama dengan di atas hanya saja perintah ini mencadangkan 5 blok memori yang masing-masing blok akan diisi data bertipe integer. Anda pasti ingat bahwa perintah ini adalah untuk mendeklarasikan sebuah array bertipe integer. Dalam array tersebut anda hanya diperbolehkan menyimpan data bertipe yang sama yaitu integer. Bagaimana jika anda ingin menyimpan data tipe berbeda?.

Pada kehidupan nyata, anda pasti pernah melihat sebuah tabel yang terdiri dari beberapa kolom. Misalnya kolom pertama berisi nama, kolom kedua berisi alamat, kolom ke tiga berisi berat badan dst. Jelas bahwa kolom pertama dan kedua bertipe string (array of char) sedangkan tipe ke tiga bertipe integer, atau bisa juga double. Intinya bahwa terdapat perbedaan tipe data pada setiap kolom. Perhatikan tabel beriktu ini

Programming in C - Part 17: Fungsi, array dan pointer dalam bahasa C

Pada artikel sebelumnya kita sudah membahas tentang dasar-dasar fungsi dalam bahasa C. Pada artikel ini akan dibahas lebih lanjut mengenai fungsi termasuk metode memanggil array atau pointer sebagai parameter dan luaran dari sebuah fungsi.

Pada dasarnya ada dua cara untuk membuat parameter dalam fungsi yaitu Call by value (menggunakan nilai), dan Call by reference (menggunakan alamat dari suatu variabel dalam memori).

Call by value adalah metode memanggil suatu fungsi dengan memberikan parameter nilai (baik memberikan angka langsung atau menggunakan variabel) secara langsung. contoh dari metode ini adalah pada fungsi tampilkanHasil, dimana value yang diberikan adalah 100 dan 20.

Jumat, Juli 31, 2015

Programming in C - Part 16: Fungsi dalam bahasa C

Fungsi adalah blok perintah yang digunakan untuk melakukan pekerjaan tertentu, baik yang menghasilkan nilai balik ataupun tidak, yang diletakkan diluar prosedur utama. Blok perintah ini dapat digunakan berulang kali dengan memanggil namanya dan parameter yang dibutuhkan. Penggunaan fungsi dalam sebuah program daopat mempermudah dalam hal maintaing program sekaligus mempermudah tracking jika terdapat kesalahan.

Programming in C - Part 15: Pointer dalam bahasa C - Tambahan.

Untuk lebih memahami cara kerja pointer, perhatikan dua listing kode berikut ini :

#include <stdio.h>

int main(void)
{
/* ====================
 * List berikut ini  mendemonstrasikan penggunaan pointer of pointer
 * Cara 1 :
 */  

    int b = 14;
    int *a = NULL;
    int *c = NULL;       // satu bintang

    a = &b;
    c = a;                // tanda & dihilangkan !
    
    printf ("\nHasil dari Cara 1 :\n");

    printf("%d\t", *a);     // mencetak 14
    printf("%d ",  *c);     // mencetak 14

Minggu, Juli 19, 2015

Programming in C - Part 14: Pointer dalam bahasa C

Pointer adalah salah satu topik yang paling menarik untuk dibahas. Pointer adalah salah satu fasilitas yang hanya ada di bahasa C dan menjadi ciri dan kekuatan, sekaligus kelemahan dalam bahasa ini. Pointer memberikan fasilitas untuk mengakses secara langsung memory komputer yang merupakan 'isi perut' dari setiap program. Kemampuan ini memberikan keistimewaan yang luar biasa karena dengan mengetahui isi dalam dari sebuah program maka akan sangat mudah untuk melakukan apa saja yang diinginkan. Inilah kekuatan nyata yang dimiliki bahasa C.

Dilain sisi, kemampuan ini justru dapat membahayakan terutama bagi programmer pemula. Kesalahan sedikit saja dalam mengatur akan menyebabkan kesalahan fatal yang kadang sulit dideteksi. Ini yang membuat bahasa C menjadi seperti bahasa yang sulit untuk dipelajari dan sering kali memberikan efek 'jera' bagi mereka yang sudah terbiasa mendapatkan fasilitas 'mudah' dari bahasa tingkat tinggi lain.

Programming in C - Part 13: Array multidimensi dalam bahasa C


Array multidimensi adalah array yang mengandung lebih dari satu baris data. Secara visual dapat dibayangkan array 2 dimensi adalah array yang terdiri dari baris dan kolom seperti pada sebuah tabel atau sebuah matrik.

Contoh:
Kita mempunyai data yang terdiri dari lima baris dimana masing-masing baris terdiri dari empat kolom sbb :
10,11,12,13
20,21,22,23
30,31,32,33
40,41,42,43
50,51,52,53

Tantangannya adalah bagaimana melakukan operasi aritmatika secara vertikal?. Misalnya anda diminta untuk menghitung jumlah dan rata-rata untuk kolom ke 3 ?  Bagaimana juga kalau harus menjumlahkan secara horizontal ?

Kamis, Juli 16, 2015

Programming in C - Part 12: Array (satu dimensi) dalam bahasa C

 Array adalah sekumpulan/ sederetan object yang bertipe sama. Misalnya sebuah array bertipe integer berarti sederetan data yang berjenis integer.

contoh array bertipe integer : 1 2 3 4 5 6 4 6 7 8 5 4 3 4
contoh array bertipe char    : 's' 'a' 's' 't' 'r' 'a' 'w' 'a' 'n'

Rabu, Juli 15, 2015

Programming in C - Part 11: Latihan membuat program sederhana - imposisi

Saat ini, dengan modal ilmu programming yang sudah kita bahas selama ini, kita juga bisa membuat program yang lebih 'bermanfaat'. Kali ini kita akan membuat sebuah software yang akan memberikan deretan angka berupa nomor halaman yang dapat anda copy - paste ke dalam isian pencetakan semua word processor atau print pdf sehingga jika dicetak dan hasilnya dilipat maka akan membentuk sebuah buku dengan halaman yang kontinyu. Untuk anda yang masih belum paham mengenai imposisi ini silahkan baca :
  1. Kontribusi kecil untuk mengurangi kerusakan bumi: Software Imposisi
  2. Imposisi : mengatur ulang letak halaman untuk membuat buku siap cetak dengan psutils (baca pengantarnya saja. kecuali anda tertarik menggunakan psutils)
Studi kasus yang akan kita bahas adalah sbb :

Programming in C - Part 10: Latihan membuat program sederhana - Tebak angka klasik

jika anda mengikuti pelajaran ini dari awal, maka pada saat ini seharusnya anda sudah mampu membuat beberapa program sederhana yang akan menaplikasikan semua pengetahuan sebelumnya. Pada program latihan ini kita akan membuat program game tebak angka.

Cara permainannya sederhana yaitu pengguna diminta untuk menebak sebuah angka yang sudah ditetapkan. Jika tebakan salah maka akan diberikan pesan dan dikomentari apakah pilihan angkanya terlalu tinggi atau terlalu rendah. Program akan keluar bila angka yang ditebak benar.

Programming in C - Part 9: Input dan Output dalam bahasa C

Untuk dapat berinteraksi (menyediakan interface) dengan sebuah komputer maka diperlukan cara untuk untuk membuat komputer 'mendengar' perintah yang diberikan oleh operator. Untuk tahap awal ini kita hanya akan menggunakan keyboard untuk memberi perintah/memberikan input ke komputer. Sekedar untuk diketahui bahwa kita juga bisa membuat program interface berbasis grafik yang dikenal dengan istilah GUI ( Graphical User Interface ). Akan tetapi untuk keperluan belajar kita hanya akan menggunakan text-based interface ( Console ), yaitu hanya menggunakan keyboard (tidak dengan mouse) dan tampilan dalam bentuk teks biasa.

Interaksi dengan komputer ini diatur dalam Input dan Output. Standar inputnya adalah keyboard dan standar outputnya adalah Screen (layar komputer)

Input dan output terdiri dari :
  • getchar()
  • putchar()
  • gets()
  • puts()
  • scanf()
  • printf()

Meninjau Kriteria inklusi dan eksklusi dalam pengambilan sampel untuk penelitian.

Menentukan kriteria inklusi dan atau ekslusi dalam penelitian seringkali menjadi permasalahan tersendiri, terutama bagi para mahasiswa yan...