Cari Blog Ini

Tampilkan postingan dengan label Programming in C. Tampilkan semua postingan
Tampilkan postingan dengan label Programming in C. Tampilkan semua postingan

Kamis, Agustus 13, 2015

Programming in C - Part 21 : Header, extern dan Fungsi Rekursif

Dalam sebuah program yang kompleks, fungsi selalu diletakkan dalam library sehingga dapat digunakan secara bersama- sama oleh beberapa bagian program. Fungsi-fungsi dapat dikumpulkan dalam suatu file tersendiri.  Untuk menggunakan fungsi yang ditulis di file lain dapat menggunakan :
  • header
  • extern
Header adalah file teks yang biasanya diberikan ekstensi .h (header) yang berisi fungsi - fungsi yang dapat digunakan oleh program yang meng-include header tersebut. Untuk menggunakan fungsi ini dilakukan dengan Menggunakan kata kunci include "namaFile.h"

Penggunaan header lebih praktis. Namun perlu diketahui bahwa header hanya boleh diinclude satu kali saja, jika tidak akan muncul pesan kesalahan pada saat kompilasi. Bila anda menuliskan fungsi dalam suatu file yang diberinama fungsi.h, maka anda dapat menggunakan semua fungsi dalam file fungsi.h tersebut dengan memanggilnya sbb :

Selasa, Agustus 04, 2015

Programming in C - Part 20: typedef

Kata kunci (keyword) typedef ini sangat sering dijumpai dalam pemrograman dalam bahas C. keyword ini digunakan untuk memberi nama baru pada tipe data tertentu, termasuk pada tipe data yang dibuat sendiri oleh user, misalnya structure. Untuk menggunakan keyword ini cukup dengan menambahkan keyword typedef di depan tipe data yang akan didefinisikan. 
 
Contoh :
typedef int BILANGAN ;
 
setelah perintah ini kita dapat menggunakan BILANGAN untuk deklarasi tipe data integer. Dengan kata lain kita mengganti nama int dengan BILANGAN.

BILANGAN i,j ;
Penggunaan typedef akan jauh lebih bermanfaat pada type data yang dibuat sendiri oleh user. SEbagai contoh, berikut ini adalah penggabunagan antara typedef dengan structure.

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()

Sabtu, Juli 11, 2015

Programming in C - Part 8: Looping ( Pengulangan ) dalam bahasa C

Salah satu alasan penting mengapa kita membutuhkan bantuan komputer / pemrograman komputer adalah looping atau pengulangan. Kemampuan dan kemauan manusia untuk melakukan suatu perkerjaan yang sama secara berulang-ulang sangat terbatas. Bayangkan jika anda diminta untuk mengucapkan kata "belajar" sebanyak 500 kali. Apa yang akan anda rasakan? bosan ?. Bagaimana jika dimintah sebanyak 1000 kali atau bahkan ratusan ribu kali ? atau bagaimana jika anda diminta menyebutkan deret bilangan yang dimulai dari 1 dan angka berikutnya adalah jumlah dari angka sebelumnya dengan urutan penyebutan angkanya ?.. Pasti menyusahkan dan akan banyak kesalahan kan ?. Disinilah perlunya kita menggunakan loop / pengulangan karena komputer tidak pernah merasa 'bosan' dan tidak pernah menolak perintah serta kemungkinan kesalahannya yang sangat kecil...

Jumat, Juli 10, 2015

Programming in C - Part 7: Operator dalam bahasa C

Operator dalam bahasa C terbagi dalam beberapa bagian yaitu
  1. Operator Aritmatika
  2. Operator Logikal
  3. Operator Relasional
  4. Operator Assignment
  5. Operator Bitwise, dan
  6. Operator lain

 

Operator Aritmatika:

 

Operator yang digunakan dalam perhitungan aritmatika seperti penjumlahan, pengurangan dll

Operator    Penggunaan
+    Penjumlahan
-    Pengurangan
*    Perkalian
/    Pembagian
%    Menghitung sisa pembagian (modulus)
++    Penambahan kontinu
--    Pengurangan kontinu

Kamis, Juli 02, 2015

Programming in C - Part 6: Pengambilan Keputusan (percabangan) dalam bahasa C

Pengambilan keputusan adalah sesuatu yang sangat mendasar dan sangat sering dilakukan dalam bahasa pemrograman.Pengambilan keputusan atau percabangan yang dimaksudkan disini adalah ketika kita harus memilih melakukan pekerjaan A, B atau C dst. Apabila masing masing pekerjaan tersebut membutuhkan persyaratan tertentu, misalnya untuk dapat melakukan pekerjaan A,maka syarat A harus terpenuhi, atau jika syarat A tidak terpenuhi maka kita bisa memilih untuk melakukan pekerjaan lainnya. mungkin contoh yang lebih mudah adalah jika anda mengingat sistem penilaian di perguruan tinggi, dimana (syarat) jika anda mendapat nilai > 90 (tindakan berikutnya) maka anda akan mendapat nilai A, jika kurang dari 90 tapi lebih dari 80 maka akan mendapat B dst..

Jumat, Juni 19, 2015

Programming in C - Part 5: Placeholder dalam Bahasa C

Pada pembahasan sebelumnya, anda sudah mempelajari cara mencetak hasil dari sebuah program di layar monitor dengan menggunakan perintah printf. Anda juda sudah melihat contoh menampilkan isi dari suatu variabel dengan menggunakan placeholder. Masih ingat contoh dibawah ini ?

printf("Jumlah Saudara adalah %d orang \n", jumlahSaudara);
printf("Berat waktu lahir adalah : %d gram", beratDalamGram);


perintah printf mencetak semua parameter yang diberikan setelahnya, yaitu terletak di dalam kurung (), terutama yang terletak dalam tanda kutip "". Adapun yang terletak setelah tanda koma adalah nama variabel yang isinya akan ditampilkan ditempat yang ditandai dengan %d. Dalam contoh sebelumnya :

Rabu, Juni 17, 2015

Programming in C - Part 4: Variabel dalam Bahasa C

Apa itu variabel dalam bahasa C?
Variabel dalam bahasa C adalah sebuah nama yang diberikan kepada sebuah lokasi penyimpanan dalam memory yang dapat dimanipulasi.

Analogi yang akan saya gunakan untuk menjelaskan ini adalah sebagai berikut

Anda bisa membayangkan sebuah gudang penyimpanan yang besar. Anda kemudian memasukkan sebuah kotak yang didesain dengan bentuk dan ukuran tertentu sehingga hanya bisa menampung benda ukuran tertentu ke dalam gudang tersebut. Lokasi tempat meletakkan kotak tersebut kemudian ditandai dengan diberi nama, misalnya 'buah'.  Selanjutnya anda menisi kitak tersebut dengan buah 'jeruk'. Dalam kasus ini, berarti anda sudah memiliki sebuah variabel yang diberi nama 'buah' dan isi variabel tersebut adalah 'jeruk'. bayangkan bentuk desain kotak yang digunakan khusus untuk menampung buah ukuran kecil seperti jeruk. Dengan demikian tentu anda tidak bisa meletakkan buah nangka atau ikan (bukan buah) atau benda lain selain jerukatau buah buahan kecil. Untuk analogi ini, berarti tipe data adalah :tipe buah kecil, sehingga hanya bisa menampung buah kecil sepert jeruk. Jika meletakkan tipe buah /data lain akan menghasilkan kesalahan. Dalam bahasa pemrograman, ini disebut 'overflow' artinya 'melebihi daya tampung'.

Kesimpulan :

Programming in C - Part 3: Tipe Data dalam Bahasa C

Setiap data yang disimpan dalam memory komputer disimpan dengan ukuran dan cara berbeda sesuai dengan tipenya. Memahami tipe data dengan baik akan membantu kita membuat program yang lebih efisien dan mengurangi kesalahan pada saat pembuatan program.
Dalam bahasa C, ada beberapa tipe data sbb

Basic : Tipe ini adalah data numerik yaitu Integer atau bilangan bulat dan Floating, yaitu bilangan pecahan. Tipe ini yang akan paling banyak kita gunakan dalam latihan-latihan sederhana. Bahasa C memperlakukan bilangan bulat dan pecahan secara berbeda.

Senin, Juni 15, 2015

Programming in C - Part 2: Halo dunia !

Setiap orang yang mulai belajar bahasa pemrograman biasanya akan melalui tahap pertama: Hello World !. Ini yang akan kita lakukan pada sesi ini.
Pertama pastikan anda memiliki teks editor (misalnya: notepad (windows), geany, gedit(linux)) atau apapun yang biasa anda gunakan untuk membuat file teks sederhana. Saya mengasumsikan anda sudah memiliki compiler C dalam komputer anda. Jika belum silahkan digoogle dulu.

Sekarang silahkan ketik bagian program di bawah ini. Ingat, diketik !, bukan copy paste. Mengapa ?... anda akan segera tahu seiring berjalannya waktu.


/*  Halo Dunia
 *  Created By Sastrawan
 *
 *  Contoh pertama penggunaan bahasa C
 */

#include<stdio.h>

int main(int argc, char *argv[])
{
    printf("Halo dunia ! ");
    return 0 ;
}


Penjelasan:

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...