Home about IT Motivation Course Sales Project About Me
Showing posts with label C. Show all posts
Showing posts with label C. Show all posts

Saturday, December 19, 2009

Compile C Language

berikut beberapa cara untuk compile bahasa C untuk masing masing Compiler. Dari mode DOS,
yaitu dari START - RUN, ketik: cmd

bila memakai lcc



bila memakai Borland C++



bila memakai Turbo C
bila memakai Dev C++
dan lain sebagainya

sebenarnya di compiler compiler diatas ada versi GUI nya: Contoh untuk lcc --> GUI nya adalah wedit.exe . untuk product Microsoft ada Visual C++ , C#. Untuk editornya bisa pake notepad (tapi tak ada informasi barisnya) atau NOTEPAD++ (free dan ada informasi barisnya, bisa untuk editor PHP juga). download disini

kenapa diajarkan bahasa C/C++ ? karena akan mudah untuk belajar bahasa lainnya seperti :
JAVA, PHP, serta bahasa Visual lainnya. Agak mirip meski tak mirip juga.

dikuliah diajarkan cara yang sulit agar terbiasa dengan versi OPEN SOURCE di LINUX.
Kalo yang sulit(versi DOS) bisa, maka yang mudah (versi GUI/Windows) akan pasti bisa.

seperti sebuah permata / kerajinan keramik: makin banyak digosok, dibakar, ditempa, maka hasil akhirnya akan lebih baik.

Friday, December 18, 2009

Tugas terakhir di tahun 2009: Membuat segitiga bintang

Buat yang ambil matakuliah berikut:
- Algoritma dan pemrograman (kelas reguler dan executive)
- Pemrograman Terstruktur

tugasnya : membuat segitiga bintang dengan memasukkan tinggi segitiganya
sehingga bentuknya begini: mirip mirip boleh lah.
pake: looping bersarang

tugas lainnya yg belum dikumpulkan silakan di kirim by email, source nya bukan exe nya

Thursday, December 10, 2009

LOOPING

struktur pengulangan secara umum terdiri dari dua bagian:
  1. kondisi pengulangan, yaitu expresi yang harus dipenuhi untuk melaksanakan pengulangan.
  2. badan (body) pengulangan, yaitu bagian algoritma yang diulang.
selain itu , struktur pengulangan biasanya disertai dengan bagian:
  1. inisialisasi: yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
  2. terminasi: yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
struktur secara umum:

<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>

berikut macam kontruksi pengulangan dalam bentuk pernyataan, antara lain:
  1. pernyataan FOR
  2. pernyataan WHILE
  3. pernyataan REPEAT
===================
pernyataan FOR
===================
- adalah kontruksi pengulangan tanpa kondisi (unconditional looping)
artinya intruksi- instruksi di dalam badan pengulangan diulang
sejumlah kali yang dispesifikasikan program.
- jumlah pengulangan sudah diketahui sebelum kontruksi pengulangan diexsekusi.
- asending (berurut dari kecil ke besar) dan desending (berurut dari besar
ke kecil).

berikut program menggunakan FOR untuk menghitung bilangan dari 1 s/d N

::: contoh program 1
# include <stdio.h>
int main ()
{
/*deklarasi*/
int N;
int i;
int jumlah;

/* algoritma */
printf("berapa N?"); scanf("%d",&N);
jumlah = 0;
for (i=1;i<=N;i++)
{
jumlah = jumlah + 1;
}
printf("jumlah deret = %d \n", jumlah);
}

========================
pernyataan WHILE dan REPEAT
========================
- adalah pengulangan dengan kondisi , (conditional looping) ,
dan jumlah pengulangan tidak diketahui sebelum eksekusi program.
Yang dapat ditentukan hanyalah kondisi berhenti pengulangan.
artinya pengulangan di ulang sampai kondisi terpenuhi.

- jika suatu proses tidak diketahui berapa kali pengulangannya,
maka sebaiknya pakai while
contoh menghitung rata rata bilangan bulat yg diinputkan dari keyboard

- bentuk umum WHILE:

while kondisi do
aksi
endwhile

::: aksi akan dilaksanakan berulang kali selama kondisi bernilai true ,
jika kondisi bernilai false, badan pengulangan tak akan dimasukin
yang berarti selesai.


contoh program WHILE untuk menghitung bilangan 1 s/d N

::: program 2
# include <stdio.h>
int main ()
{ /*deklarasi*/
int N;
int i;
int jumlah;

/* algoritma */
printf("berapa N?"); scanf("%d",&N);
jumlah = 0;
i=1;
while (i<=N)
{
jumlah = jumlah + i;
i++; /* sama dengan i=i+1 */
}
/* i > N kondisi setelah pengulangan berhenti*/
printf("jumlah deret = %d ", jumlah);
}




===================
pernyataan REPEAT
===================
- bentuk umum

repeat
aksi
until kondisi

- digunakan untuk pengulangan kondisi boolean
- aksi di dalam badan akan diulang ulang sampai dengan bernilai true



contoh program menggunakan REPEAT untuk hitung bilangan antara 1 s/d N

::: program 3
# include <stdio.h>
int main ()
{ /*deklarasi*/
int N;
int i;
int jumlah;

/* algoritma */
printf("berapa N?"); scanf("%d",&N);
jumlah = 0;
i = 1;
do
{
jumlah = jumlah + i;
i++; /* sama dengan i=i+1 */
}
while (i <= N);
printf("jumlah deret = %d ", jumlah);
}


::PERBEDAAN penggunaan Pernyataan WHILE dan REPEAT
- REPEAT: kondisi pengulangan di periksa pada akhir pengulangan
jadi instruksi di dalam bagan dilaksanakan dulu, baru pengetesan kondisi dilakukan
konsekuensinya : badan pengulangan minimal dilaksanakan sekali.

- WHILE: pengulangan di periksa di awal pengulangan.
jadi instruksi di dalam badan hanya dilaksanakan bila pengetesan kondisi adalah true.
konsekuensinya : badan pengulangan mungkin tidak akan pernah dilaksanakan bila
kondisi pengulangan pertama kali adalah false.

JADI:
- gunakan kontruksi WHILE pada kasus yg mengharuskan terlebih dahulu pemeriksaan kondisi
objeck sebelum objeck dimanipulasi
- dan gunakan kontruksi REPEAT pada kasus yg terlebih dahulu memanipulasi object,
baru kemudian memeriksanya kondis object


Saturday, December 05, 2009

SELECTION dalam bahasa C

adakalanya sebuah instruksi dikerjakan jika kondisi tertentu sudah dipenuhi. Contoh program:
- menentukan letak kuadran suatu titik (x,y) dalam bidang kartesian.
- membaca sebuah bilangan bulat dan menentukan genap/ganjil.
- membaca sebuah karakter dan menentukan vocal / konsonan
- membaca 2 buah bilangan dan menentukan bilangan terbesarnya.
- membaca angka tahun masehi dan menentukan kabisat/ tidak.
- membaca sebuah bilangan dan menentukan bilangan tersebut positif, nol atau negatif.
- membaca temperatur dan menentukan wujud benda dari temperaturnya.
- menentukan index nilai mahasiswa dari angka yang dimasukkan,
- membaca nama kota dan menentukan nama ibukotanya
- membaca suatu angka bulan dan menentukan nama bulannya.
- etc

Ada 3 type kontruksi untuk kontruksi SELECTION:
  1. IF - THEN
  2. IF - THEN - ELSE
  3. NESTED IF (IF THEN ELSE Bersarang)
  4. CASE
berikut penjelasannya:

================================================
IF - THEN (JIKA - MAKA)
================================================
digunakan untuk satu kasus, misal:
- membaca input bilangan dan menentukan statusnya ganjil
- membaca karakter huruf dan menentukan statusnya vocal

bentuk pernyataannya adalah sbb:

if kondisi then
aksi
endif

pernyataan diatas berarti: bahwa aksi hanya akan dilaksanakan bila kondisi bernilai benar (true). bila kondisi bernilai salah (false), tidak ada aksi apapun yang dikerjakan. Kata "endif" sengaja ditambahkan untuk mempertegas awal dan akhir struktur IF-THEN.

Flow untuk satu kasus (IF-THEN) adalah sbb:



::::contoh program 1::::
/* mencetak pesan GENAP */
#include <stdio.h>
int main()
{
int bil;
printf(" ketikkan sembarang bilangan bulat: ");
scanf("%d",&bil);
if (bil%2 == 0)
printf("genap");
/*endif*/
}

dari contoh program diatas
maka jika diinput bilangan bulat genap akan muncul pesan "GENAP"
tapi bila diinput bilangan bulat ganjil tidak akan muncul pesan "GANJIL" atau lainnya.

agar supaya muncul pesan lainnya (kondisi alternatif) jika suatu kondisi tidak terpenuhi,
maka digunakan struktur IF-THEN-ELSE


=====================================
IF - THEN - ELSE (JIKA - MAKA - KALAU TIDAK)
=====================================
- digunakan jika kita perlu memilih melakukan aksi alternatif jika suatu kondisi tidak terpenuhi.
- untuk dua kasus
- Notasi algoritmiknya adalah sbb:

if kondisi then
aksi1
else
aksi2
endif

dari pernyataan diatas berarti bahwa: aksi1 dikerjakan jika kondisi bernilai benar (true),
sebaliknya jika kondisi bernilai salah (false), maka aksi2 akan dilaksanakan.
- flow diagramnya sebagai berikut:



- contoh program antara lain sbb:
- membaca suatu bilangan bulat dan menentukan bilangan tersebut GENAP/GANJIL
- membaca suatu huruf dan menentukan huruf tersebut VOCAL/KONSONAN
- membaca 2 buah bilangan dan menentukan mana yang terbesar.

::: contoh program 2
/*
membaca suatu bilangan bulat
dan menentukan bilangan tersebut ganjil / genap
*/
#include <stdio.h>
int main()
{
int bil;
printf(" ketikkan sembarang bilangan bulat: ");
scanf("%d",&bil);
if (bil%2 == 0)
printf("genap");
else
printf("ganjil");
/*endif*/
}



============================================
NESTED IF (IF - THEN ELSE BERSARANG/ BERTINGKAT)
============================================
- digunakan untuk memecahkan masalah yang mempunyai 3 kasus atau lebih.
- algoritmiknya adalah sbb:

if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
endif
endif
endif

- Flowchart adalah sbb

- contoh program yang menggunakan ini antara lain:
- membaca bilangan bulat dan menentukan bilangan tersebut +,- atau nol
- menentukan kuadran suatu titik (x,y) dalam bidang kartesius
- menetukan wujud suatu benda: cair, gas, padat



::: contoh program 3

/*
===========================================
program ibukota, dengan input ibukotanya
===========================================
*/
#include<stdio.h>
#include<string.h>

int main ()
{ /* declarasi*/
char ibk[10];
/*algoritma*/
printf(" masukkan nama ibukota di jawa:");scanf("%s",ibk);
if (strcmp(ibk,"serang")==0)
printf("banten \n");
else
if (strcmp(ibk,"jakarta")==0)
printf("DKI jakarta \n");
else
if (strcmp(ibk,"bandung")==0)
printf("jawa barat \n");
else
if (strcmp(ibk,"semarang")==0)
printf("jawa tengah \n");
else
if (strcmp(ibk,"yogyakarta")==0)
printf("DI yogyakarta \n");
else
if (strcmp(ibk,"surabaya")==0)
printf("jawa timur \n");
/*endif*/
/*endif*/
/*endif*/
/*endif*/
/*endif*/
/*endif*/
}

keteranga:
- typedata karakter adalah semua huruf abjad, semua tanda baca , angka dan
kharakter khusus ---> semua yg di keyboard deh.
- nilai konstanta ibukota yaitu ibk bertype string.
sehingga harus menggunakan library "string.h".
- fungsi strcmp digunakan untuk membandingkan kesamaan dua buah string.
Nilai strcmp(s1,s2) sama dengan nol jika s1=s2.
Dan tidak sama dengan nol jika s1 tidaksamadengan s2

====================================
CASE
====================================
- digunakan untuk menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat
- kontruksi CASE adalah sebagai berikut
case ekspresi
nilai1 : aksi1
nilai2 : aksi2
nilai3 : aksi3
.
.
.
nilai n : aksi n
otherwise : aksi x
endcase

- flow chart CASE sebagai berikut:






:::contoh program 4
/*
==========================
mencetak nama bulan
========================
*/
#include<stdio.h>
int main()
{
/*deklarasi*/
int nomor_bulan;
/*algoritma*/
printf("masukkan angka bulan (1-12);");
scanf("%d",&nomor_bulan);
switch (nomor_bulan)
{
case 1 : printf("Januari \n");break;
case 2 : printf("February \n");break;
case 3 : printf("Maret \n");break;
case 4 : printf("April \n");break;
case 5 : printf("May \n");break;
case 6 : printf("June \n");break;
case 7 : printf("July \n");break;
case 8 : printf("Agustus \n");break;
case 9 : printf("September \n");break;
case 10 : printf("Oktober \n");break;
case 11 : printf("November \n");break;
case 12 : printf("Desember \n");break;
default : printf("bukan bulan yang benar \n");
}
}


:: perhatikan penggunaan BREAK dan bedakan dengan CONTINUE

Statemen break digunakan untuk menghentikan sebuah pengulangan dan program akan langsung meloncat ke statemen yang berada di bawah blok pengulangan. Biasanya ini dilakukan karena alasan efisiensi program, yaitu untuk menghindari proses pengulangan yang sebenarnya sudah tidak diperlukan lagi.

Sedangkan statemen continue digunakan untuk melanjutkan proses pengulangan. Statemen continue menyebabkan proses perulangan kembali ke awal mulainya perulangan dengan mengabaikan statemen-statemen berikutnya setelah statemen continue. Statemen continue dapat digunakan untuk perulangan for, while maupun perulangan do-while.

contoh penggunaan keduanya:

::contoh proram 5

#include<stdio.h>
int main()
{
int a;
while (1) /*true*/
{
printf("masukan bilangan bulat : ");
scanf("%d",&a);
if(a % 2 == 0)
{
int b;
b=a/2;
printf("%d : 2 = %d\n",a);
continue;
}
else if( a % 5 == 0)
{
int c;
c=a/5;
printf("%d : 5 = %d\n",a);
break;
printf("Lanjutkan loop berikutnya : ");
}
printf("akhiri loop\n");
}
}

Friday, December 04, 2009

SEQUENCE dalam bahasa C

Sebuah Algoritma dapat dibangun dari 3 buah FLOW CONTROL kontruksi / struktur dasar . Yaitu:
  1. SEQUENCE (runtunan)
  2. SELECTION (pemilihan)
  3. REPETITION/LOOPING (perulangan).
akan coba kita bahas satu persatu penggunaan nya dalam pemrograman Bahasa C.

===========================================================
SEQUENCE
===========================================================
yaitu
- tiap pernyataan dikerjakan secara berurutan (sequensial) sesuai dengan urutannya
dalam algoritma.
- tiap instruksi tepat dikerjakan tepat sekali.
- akhir dari instruksi terakhir adalah akhir algoritma
- flowchart nya adalah sbb:



contoh penggunaan adalah dalam program :
- menghitung Luas , keliling dan diagonal persegi panjang, lingkaran, dll.
- membaca dua bilangan dan menukar bilangan pertama dengan bilangan kedua.
- mencetak "hello word"
- konversi jam ke menit atau detik dan sebaliknya
- etc

berikut contoh script programnya:

:::contoh 1:::
/* Program mencetak "hello Word" di layar */
#include<stdio.h>
#include<conio.h> /* ini ada karena pemakaian clrscr */
void main()
{
clrscr(); /* gunanya untuk membersihkan layar */
printf( "Aku belajar bahasa C! \n \n");
/* \n untuk set kursor ke baris berikutnya */
}



:::contoh 2:::
/* Program Menghitung Luas dan Keliling Lingkaran */
#include<stdio.h>
#include<conio.h>
#define phi 3.14
int main()
{
float jari,luas,keliling;
clrscr();
printf("Masukan jari-jari lingkaran = ");
scanf("%f", &jari);
luas=phi*jari*jari;
keliling=2*phi*jari;
printf("Luas lingkaran = %f \n",luas);
printf("Keliling lingkaran = %f \n",keliling);
getch();
}

Thursday, November 26, 2009

macam compiler C/C++

berikut macam macam compiler dan editor untuk pemrograman bahasa C/C++
masing masing mempunyai kelengkapan library

Wednesday, November 25, 2009

materi bahasa C

berikut materi bahasa C yg bisa di download
belum final ... masih akan ada revisi
contoh contoh belum dimasukkan