belajar bahasa c part 1
>> 8.07.2008
hal| 1
Belajar Bahasa C -- Part 1
by: Loka Dwiartara Al-k
Prakata :
Assalamualaikum wr wb.
Salam sejahtera untuk semua. Sebelumnya, saya meminta masukkan dan kritik mengenai
tutorial ini apabila terdapat banyak sekali kesalahan dalam penulisan ataupun maksud yang
kurang jelas. Sebenarnya saya tidak meniatkan diri dalam penulisan tutorial ini, tetapi
berhubung Rasulullah bersabda : “Sampaikanlah dariku[ilmu] walaupun hanya satu ayat”.
Oleh karena itu mari kita lakukan penyebaran ilmu secara gratis. Viva Underground. Pesan
saya , untuk orang-orang yang memiliki ilmu khususnya dalam bidang IT saya harap bisa
dengan senanghati memberikan secara gratis kemampuannya itu dengan cara mendokumentasikan
dan disebarkan kepada ummat manusia. [Al-k]
Wassalammu’alaikum wr wb
Yang kamu butuhkan untuk belajar bahasa C adalah :
•Compiler-nya yang tersedia di Internet secara gratis. Penulis menggunakan Turbo C++
Ide buatan Borland. Compiler sendiri berfungsi untuk merubah file source code C,
menjadi self executable. Atau biasa disebut file exe [aplikasi].
•Text Editor, saya menggunakan Notepad -- copy paste source code to C extension --
•Penggunaan logika yang banyak.
•Sedikit menghafal.
•Banyak Mengulang.
Sejarah Bahasa C
Bahasa C pertama kali ditemukan oleh Bapak. Dennis Ritchie [dmr] di Bell Laboratories
sekitar tahun 1972 lalu, yang niat awalnya di disain untuk jalan pada PDP-11 dengan
system operasi Unix. Tetapi karena bahasa yang terstruktur rapi, flexible, kompatibel, [
barble, the beatle, :-) ] membuatnya semakin berkembang hingga akhirnya berjalan pada Ms
Dos dengan kompie IBM PC, sampai sekarang banyak sekali compiler yang tersedia secara
free. Tapi ngomong-ngomong dilihat dari tahun pembuatannya [1972] yang lebih tua 15 tahun
dengan penulis, walaupun begitu penulis tetap akan memanggil bahasa C, bukan Pak Bahasa
C. Huehuhehue …
Chapter 1
Pengenalan Contoh Program 1
1. // listing hallodunia.c
2. #include
3. int main()
4. {
5. printf (“Hallo dunia, saya lagi belajar pemrogaman bahasa C gihu lhoooo !!!!”);
6. return 0;
7. }
8. // end of file
____________________
note : untuk yang benar-benar newbie, delete saja nomor-nomor diatas sebelum melakukan
compile !!!
Penulis menggunakan penambahan nomor di sebelah kiri untuk mempermudah pembacaan. Compile
lah menggunakan Turbo C++ dengan menekan alt+F9. Kemudian tekan F9, ketika komentar
Succes ditampilkan, tekan alt+F5 untuk masuk mode user screen dan melihat hasil yang di
tampilkan dari source code diatas. U see it, yang tampil adalah :
Hallo dunia, saya lagi belajar pemrogaman bahasa C githu lhoooo !!!!
Disini akan dijelaskan secara mendetil mengenai source code diatas.
hal| 2
Pada baris pertama; di tulis // listing hallodunia.c, ini adalah komentar dan tidak
dibaca oleh compiler. Penggunaan komentar sangat bermanfaat sekali untuk menjelaskan cara
kerja suatu program, khususnya bagi programmer/ pengembang source lain. 2 jenis komentar
pada bahasa C.
Yakni :
/* komentar jenis pertama */ yang bisa di terapkan dengan banyak baris.
dan
// komentar jenis kedua || yang hanya bisa diterapkan dalam satu baris saja.
Baris kedua :
#include
dengan orang yang berteriak lantang … “Whoooiiiiiiiii masukkin file ini kedalam source
ini… “.
Baris 3 - 7 :
int main()
{
printf (“Hallo dunia, saya lagi belajar pemrogaman bahasa C gihu lhoooo !!!!”);
return 0;
}
Baris ini disebut dengan induk program dimana karakter “{“ dan “}” membatasi jalannya
sebuah perintah/command. Dengan kata lain, dari sinilah compiler mengenal baris/codingan
mana yang akan di jalankan dan mana yang tidak. Bagi anda yang baru pertama kali terjun
ke dunia pemrogamman mungkin sedikit bingung. Untuk itulah saya menulis di bagian bawah
ini.
Identifier : Apa dan Bagaimana ???
Identifier berguna dalam berbagai penamaan. [ex: fungsi, variable, definisi, label, etc]
Dan c language yang terstruktur rapi ini memiliki peraturan tersendiri dalam penamaan.
Ada 31 digit yang terbaca oleh compiler lebih dari itu tidak bisa. Huruf pertamanya di
awali dengan character alpabhet,
Ex : alkcool, alkkeren, alktop, etc.
Tidak boleh angka dan tidak boleh menggunakan special karakter seperti +, =, >, ?, dll.
Setelah itu, digit kedua terserah anda, bisa menggunakan alphabet, angka, underscore,
etc.
Ex: a7_k, a-lk, al+k, etc.
Dalam C berlaku case sensitive, ex : cool itu tidak sama dengan cOOl, berbeda dengan
CooL.
Variable = TipeData !!
Variable bisa didefinisikan sebagai bagian terkecil dalam sebuah memori yang isinya
dispesifikan lagi, dimana variable bisa berfungsi sebagai perantara dalam menyimpan suatu
data, ataupun memanggilnya kembali. Adapun beberapa variable yang digunakan dalam bahasa
C, antara lain :
Nama/Jenis Variable Byte Jarak
Jenis dalam 16 bit
char 1 -128 to 127
signed char 1 -128 to 127
unsigned char 1 0 to 255
short 2 -32,768 to 32,767
unsigned short 2 0 to 65,535
int 2 -32,768 to 32,767
unsigned int 2 0 to 65,535
long 4
-2,147,483,648 to
2,147,483,647
hal| 3
unsigned long 4 0 to 4,294,967,295
float 4 3.4E+/-38 (7 digits)
double 8 1.7E+/-308 (15 digits)
long double 10 1.2E+/-4932 (19 digits)
Jenis dalam 32 bit
char 1 -128 to 127
signed char 1 -128 to 127
unsigned char 1 0 to 255
short 2 -32,768 to 32,767
unsigned short 2 0 to 65,535
int 4
-2,147,483,648 to
2,147,483,647
unsigned int 4 0 to 4,294,967,295
long 4
-2,147,483,648 to
2,147,483,647
unsigned long 4 0 to 4,294,967,295
float 4 3.4E+/-38 (7 digits)
double 8 1.7E+/-308 (15 digits)
long double 10 1.2E+/-4932 (19 digits)
_______________
Perhatian : Mau di hafal ??? Silahkan anda. Tapi saran saya, lebih diutamakan yang tiga
tipe variable yaitu, Int [integer], float[numeric], dan char [character].
Saya akan memberikan contoh penggunaan variable yang begitu penting dalam bahasa
pemrogamman manapun.
// listing gunavar.c
// programm mencatat nomor telepon
# include
int main()
{
int notelp ; // ini adalah variable notelp yang bertipe integer.
printf(“\nMasukkan nomor telepon anda : “);
scanf(“%d”,¬elp); // scanf berfungsi untuk mencatat input dari keyboard.
printf(“\nNomor telepon anda : %d”,notelp); // menampilkan nomor yang telah anda
return 0; // ketik sebelumnya.
}
“Apa lagi ini ??? Banyak karakter aneh lagi nih !!!” Mungkin sekilas seperti itu dalam
benak anda. Karena melihat beberapa karakter aneh yang baru anda lihat, itulah gunanya
saya disini, entah saya akan membuat anda mengerti atau justru malah membuat anda semakin
bingung ??? , hehehe …
Statement & Expression & Constant ???
Saya biasa menyebutnya pernyataan yang didefinisikan, dan di deklarasikan. Sebagai
contoh, jika saya menulis ;
X ;
Mungkin anda akan bingung, dan mengatakan “maksudnya x itu apa???”. Apabila di
definisikan dengan lebih jelas :
X = a + b ;
Ini adalah statement.
Sedangkan expresi adalah suatu pernyataan yang memiliki nilai.
Constant bisa dibilang pengembangan dari statement, terdapat 2 jenis constant yang
dimiliki bahasa C, yaitu Literal Constant dan Numeric Constant.
Literal Constant, contoh :
Int myage = 10 + 8 ;
hal| 4
Itu berarti variable myage yang berjenis integer, yang memiliki constant langsung [ angka
].
Symbolics Constant, contoh :
Int myage = oldage + youngage;
Lebih kearah perwakilan dalam penggunaan variable.
Penggunaan Operator|dalam C language
Sebagaimana ilmu hitung lainnya, dalam bahasa C juga terdapat operator matematika yang
menangani perhitungan matematis dari sebuah program. Yang di gunakan antara lain :
+ : Menangani penjumlahan [Addition]
- : Pengurangan
/ : Pembagian [Division]
* : Perkalian [Multiplication]
% : Percent
Dan terdapat pula 6 Relational Operator :
== : sama dengan
<= : sama dengan lebih kecil
>= : sama dengan lebih besar
!= : tidak sama dengan
< : lebih kecil dari
> : lebih besar dari
Dan inilah yang akan kita pelajari selanjutnya dengan lebih mendetil.
32 Keyword yang digunakan nanti :
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Chapter 2
[ Control Program ]
While-Loop
While Loop adalah control program dengan fungsi pengulangan. Atau biasa digunakan untuk
operator aritmetika.
Sederhananya komponen while-loop yaitu :
While(batas pengulangan)
{
pengulangan
}
Ex :
// listing program whileloop.c
// pengulangan dari angka 1 – 10.
#include
int main()
{
int yangdiulang = 1;
while (yangdiulang < 11) // melakukan pengulangan dari angka 1 - 10
{
yangdiulang +=1; // melakukan penambahan 1 angka
printf (“Pengulangan telah dilakukan sebanyak %d kali”, yangdiulang);
}
return 0;
hal| 5
}
/* hasilnya
Pengulangan telah dilakukan sebanyak 1
Pengulangan telah dilakukan sebanyak 2
Pengulangan telah dilakukan sebanyak 3
Pengulangan telah dilakukan sebanyak 4
Pengulangan telah dilakukan sebanyak 5
Pengulangan telah dilakukan sebanyak 6
Pengulangan telah dilakukan sebanyak 7
Pengulangan telah dilakukan sebanyak 8
Pengulangan telah dilakukan sebanyak 9
Pengulangan telah dilakukan sebanyak 10
*/
Do While|Loop
Tidak berbeda dengan while, sama-sama melakukan looping [pengulangan] tetapi dengan letak
keyword while di akhir.
Simple is :
do
{
pengulangan
}
while(batas pengulangan)
ex :
// listing dowhile.c
// looping menggunakan do
#include
int main()
{
int yangdiulang = 0;
do
{
printf (“Ini kalimat yang diulang dalam bentuk looping yang berbeda %d”, yangdiulang);
yangdiulang +=1 ; // lakukan penambahan 1 setiap satu kali mengulang.
}
while (yangdiulang < 5);
return 0;
/* Hasil eksekusinya akan menghasilkan pengulangan sebanyak 5 kali
dari angka 0 hingga 4.
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 0
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 1
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 2
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 3
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 4
*/
For|Loop !!!
Pengulangan jenis ini paling banyak di pakai, karena memiliki pengaturan looping
tersendiri.
Simple is :
For(variable yangdiulang; batas pengulangan; jenis pengulangan)
{
pengulangan
hal| 6
}
ex :
// listing forloop.c
#include
int main()
{
int yangdiulang;
for (yangdiulang = 0 ; yangdiulang < 5 ; yangdiulang +=1)
printf (“Ini kalimat yang diulang dalam bentuk
looping yang berbeda %d”,yangdiulang);
return 0;
/* Hasil eksekusinya akan menghasilkan pengulangan sebanyak 5 kali
dari angka 0 hingga 4.
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 0
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 1
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 2
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 3
Ini kalimat yang diulang dalam bentuk looping yang berbeda, 4
*/
Bermain angka dengan switch …
Pada intinya penggunaan switch adalah sebagai berikut :
Switch(apa aja yang dimasukkin dan jadi pilihan)
{
case 1 : parameter1
break;
case 2 : parameter2
break;
dst …
default : parameter default
break;
}
Hoiii… bengong aja loe … !!! shopping sono, or jogging sono, or sanes kirang sono [ kalo
gak salah yang ini kan bahasa sunda yah ??? GARIIIINGXXXX ] Eeee… si Gel3 bengong, ngapa
loe ??? Liat gwa yang ganteng ??? Huehueuehueuhe … Wueettt si Bruxxx nyampe ngiler-ngiler
ngeliat manusia Cyber. Kalo gak salah di artikel buatan gwa yang terakhir disitu gwa buat
penjelasan mengenai kondisi perulangan diantaranya : while, do-while, dan for loop. Bagi
yang blom baca artikelnya gwa udah kasih copy-annya ke si Levy, dan ke si Jheseecka
Simpson, kalo mau minta aja ke mereka berdua, gwa denger sih mereka baru pada gajian, mo
traktir makan photocopy-an katanya.. hhuehuehue GOSIP. Nah sekarang bagian penjelasannya
… switch, masih ada yang bingung dengan switch ???? Gwa jelasin, kenapa gwa jelasin ???
karena ini berhubungan dengan skill kita di waktu kerja nanti… Deg-deg-deg …
Kapan switch digunakan ???
Sehabis makan dan sebelum tidur … [ loe kira Pepsodent ] … yang jelas nggak jelas !!!
Terserah loe mo makenya kapan, sayangnya men gwa cuma bisa ngasih tau cara penggunaanya,
“The best teacher is Example” gitu kata Gordon Dodrill [ programmer C yang handal, top
deuuh ]
/* source code simpleswitch1.c */
/* created by me, Minggu, 25 Desember 2005 */
/* at home */
hal| 7
#include
int main()
{
int pilihan;
printf (“\nPilih angka diantara 1 – 5”);
scanf (“%d”, &pilihan); /* menginput pilihan dari keyboard */
switch(pilihan) /* masukkan pilihan sebagai anggota dari switch */
{
case 1 : printf (“\nSiapa yang keren ??? Loka Dwiartara.. huheuheuhheuehuehu”);
break;
/* case 1 : maksudnya ketika someone memasukkan angka 1, maka yang tampil adalah
Siapa yang keren ??? Loka Dwiartara.. huheuheuhheuehuehu ... */
case 2 : printf (“\nSiapa yang ancur ??? Sorry yah bagi yang kesinggung !!!, huehuehue”);
break;
/* begitu juga dengan case 2, 3, 4, dan 5 */
case 3 : printf (“\nTanggal 3 bulan 3 tahun 2013, bakal ada yang kawin ..., yang mati
juga
ada , yang jualan es campur juga, yang beli baju juga ada ....
garingsss”);
break;
case 4 : printf (“\n4 x 4 = 16, kalo ada umur panjang bolehlah kita bersilaturahmi,
ngacooooo, ngawurrr, !&@^!%#!*@ huheuhuehueuueh”
break;
case 5 : printf(“\nThe last one”);
break;
default : printf(“\nNgaco loe, pilihannya kan cuma 1 ampe 5, kenapa loe masukkin %d,
dasar
GILAAAA !!!! “, pilihan);
break;
/* Masudnya default itu ... ??? Apaan yah ?? Loe ngerti default gak, suka nonton film
kartun gak, Default, Tasmanian Default ... huhhhh ngaco lagi ... hueuhuehhehue, default
itu settingan, ketika seseorang memasukkan angka selain 1 – 5 */
}
return 0;
}
/* hasilnya ...
keterangan : yang ditulis tebal itu yang diketik di keyboard
Pilih angka 1 – 5 : 9000
Ngaco loe, pilihannya kan cuma 1 ampe 5, kenapa loe masukkin 9000, dasar GILAAAA !!!!
*/
Ngerti kagak ??? Kalo nggak baca dari awal lagi !!! hueuheuheuhe ...
hal| 8
Chapter 3
[Fungsi, Variable dan Prototypes]
Di sini di jelaskan bagaimana fungsi bekerja bersama-sama dengan variable,
terutama penerapan global variable. Dan di rincikan pula mengenai
passing by value :
ex :
// listing FunGloVar.c
// source code program untuk fungsi dan global variable
// logikanya sebuah nomor yang di kuadratkan yang hasilnya di jumlahkan
#include
int total ; /* --> ini adalah global variable */
int main()
{
int start, ending, var;
start = 0;
ending = 9;
mulai();
for (var = start; var <= ending; var++)
lakukan(var); /* ini adalah contoh dari passing by value */
akhir();
return 0;
}
mulai()
{
printf (“\nIni adalah permulaan dari sebuah source code\n”);
return 0;
}
lakukan(perintah) /* pernyataan passing by value
jadikan semua yang di dalam fungsi itu
menjadi perintah */
int perintah;
{
int kuadrat;
kuadrat = perintah * perintah;
total += kuadrat ;
printf (“\nNo %d bisa di kuadratkan menjadi %d”, perintah, kuadrat);
return 0;
}
akhir()
{
printf (“\nNilai akhir dari kesemuanya yaitu %d”, total);
return 0;
}
hal| 9
/* hasil :
Ini adalah permulaan dari sebuah source code
No 0 bisa di kuadratkan menjadi 0
No 1 bisa di kuadratkan menjadi 1
No 2 bisa di kuadratkan menjadi 4
No 3 bisa di kuadratkan menjadi 9
No 4 bisa di kuadratkan menjadi 16
No 5 bisa di kuadratkan menjadi 25
No 6 bisa di kuadratkan menjadi 36
No 7 bisa di kuadratkan menjadi 49
No 8 bisa di kuadratkan menjadi 64
No 9 bisa di kuadratkan menjadi 81
Nilai akhir dari kesemuanya yaitu 285
*/
Penjelasan mengenai|passing by value
passing by value dalam matematika bisa di ambil contoh seperti
fungsi kuadrat misalnya :
terdapat sebuah variable
a = 5
dan sebuah fungsi
f(a) = 2a + 3 ...
yang dinamakan passing by value adalah :
f(5)= 2(5) + 3
= 13
hal| 10
Artikel mengenai bahasa C
/* bacanya pelan-pelan, dihayati ... tapi jangan sampe tidur,
nanti ilmunya nggak neurap.. gimana mo neurap, wong tidur kok */
/* Penjelasan mengenai array ... */
/* Aray itu pada dasarnya merupakan kumpulan dari
variable yang sama .... kita ambil contoh
-------------------
int jescool[15];
-------------------
ini berarti kumpulan variabel yang bertipe sama sebanyak 16.
pada kasus ini arraynya bertipe int ( integer )
mengapa berjumlah 16, karena array itu bermula dari angka 0
(indexnya 0). Dan tentunya sudah dari sononya begono.
Dengan kata lain, ndak bisa dirubah, wong udah dari sononya.
Nah untuk implementasinya [ asiiikkk ....
implementasi apaan tuh ??? ...
permen di kasih nasi campur terasi kali yah ??? ]
*/
#include
#include
int main()
{
int masukkan, ulang ;
int data[40];
for (;;)
{
printf(“\nBerapa jumlah data yang ingin anda masukkan ?? “);
printf(“\nMaksimalnya 40 yahhhhhhhh !!!! “);
scanf (“%d”, &masukkan);
if ( (masukkan > 0) && (masukkan <=40))
{
printf (“\nData yang dimasukkin sebanyak %d, jangan nyesel loe “, masukkan);
break;
}
else
{
printf (“\nNgaco loe brow, maksimal 40, minimal 1”);
}
}
printf (“\nSilahkan masukkan datanya !!!!”);
printf (“\n-------------------------------”);
for (ulang = 1; ulang <= masukkan; ulang++)
{
printf (“\nData ke %d : “, ulang);
scanf (“%d”, &data[ulang]);
}
printf (“\nData yang anda masukkan “);
printf (“\n------------------------”);
hal| 11
for (ulang = 1; ulang <= masukkan; ulang++)
{
printf (“\nData ke %d : “, data[ulang]);
}
return 0;
}
/* sekarang sedikit penjelasannya mengenai kode-kode diatas .... */
/*
Tahap 1.
---------
liat baris yang ada tulisan for (;;) -nya
^^apa maksudnya for(;;) ??? Apa ??? APAAAAAAAAAAAAAA ???
SIAAPAAA KATAKAN SIAPAAA, AKAN KUBUNUH DIA ...
Huehuhue kok gwa jadi marah ...
Gini, maksudnya for(;;) itu untuk (;;).
(;;) itu nama orang, nama yang aneh !!! Huheuhue bcanda lageee.
Ayo deuh, ayo deuh, sekarang mah serius deuh.
for(;;) itu artinya pengulangan yang tidak bisa berhenti kalo perintah
di bawahnya nggak dijalankan sesuai dengan apa yang diperintahin...
Logikanya gini... Misalkan si brux's disuruh sama bapaknya beli rokok, merknya jarum
pentul.
si brux's pergi kewarung, pas balik kerumah, bapak si brux's marah2 dan nyuruh
balik lagi karena rokok yang si brux's beli salah. Ngerti kan maksudnya ???
jadi bapaknya si brux's nggak akan pernah berhenti nyuruh balik lagi ke warung
sampe rokok yang si brux's beli itu bener, kasian bener si brux's, kayanya
dia nggak akan pernah bisa berhenti,
wong rokok yang merknya jarum pentul itu ora ono, ono w purbo, huehueuhue.
Yang gwa tau sih merk rokok jarum itu, jarum black, jarum coklat, jarum super,
Gudang Jarum filter, Dji-jarum-su 234, maksa... huheuuehuhe
Sebelah sini udah ngerti kan ?? Nggak usah dibahas lagi... !!!
---------------------------------------------------------------
for(;;)
{
printf(“\nBerapa jumlah data yang ingin anda masukkan ?? “);
printf(“\nMaksimalnya 40 yahhhhhhhh !!!! “);
scanf (“%d”, &masukkan);
Tahap 2.
---------
Nah sekarang bagian yang ini ...
-----------------------------------
if ( (masukkan > 0) && (masukkan <=40))
{
printf (“\nData yang dimasukkin sebanyak %d, jangan nyesel si brux'se “, masukkan);
break;
}
else
{
printf (“\nNgaco loe brow, maksimal 40, minimal 1”);
}
}
hal| 12
Maksudnya begini ... jika 'masukkan' yang kita ketik di keyboard itu lebih besar dari 0
dan lebih kecil dari 40, maka perintah akan berhenti (break). Tapi jika nilai masukkan
yang kita ketik di keyboard itu
lebih kecil dari 0, dan lebih besar dari 40. Maka perintahnya akan diulang-ulang terus
sampe nilai 'masukkan' itu lebih besar dari 0 dan lebih kecil dari 40. Ngertiiii ???
Tahap 3.
---------
Nah sekarang yang ini ...
----------------------------
for (ulang = 1; ulang <= masukkan; ulang++)
{
printf (“\nData ke %d : “, ulang);
scanf (“%d”, &data[ulang]);
}
Kok yang ada di dalam scanf bukan ulang tapinya data[ulang] ??? Nah data[ulang] itu yang
disebut sebagai array. Array Palday... Arry Paldy itu mah. Gini brow...
dari perintah fornya sendiri
for (ulang=1; ulang <= masukkan; ulang++)
ini artinya ... misalnya masukkan yang kita ketik di keyboard itu 13. berarti ... lakukan
pengulangan sebanyak 13 kali dari angka 1, dengan penambahan 1 setiap kali
pengulangan....
Masih nggak ngerti, gini ....
1 2 3 4 5 6 7 8 9 10 11 12 13 ... penambahan 1 setiap kali pengulangan itu maksudnya pas
ngulang nambah 1, kaya diatas, abis 1 terus 2 terus 3 ... Masih nggak ngerti juga ??
Udah loe mendingan ngambil golok aja deh, kita motong kurban dirumah si Deni, abis itu
makan-makan ... huehuheuhuehuhuehhe ...
Maksudnya scanf(“%d”, &data[ulang]) itu masukin data (di ketik) urutan ke 'ulang', nilai
'ulang' itu dari satu sampe 13 kalo ngikutin contoh diatas. 13-nya bisa di ganti berapa
aja sampe batasnya 40 seperti di perintah sebelumnya yang ini
for(;;)
{
printf(“\nBerapa jumlah data yang ingin anda masukkan ?? “);
printf(“\nMaksimalnya 40 yahhhhhhhh !!!! “);
scanf (“%d”, &masukkan);
if ( (masukkan > 0) && (masukkan <=40))
{
printf (“\nData yang dimasukkin sebanyak %d, jangan nyesel si brux'se “, masukkan);
break;
}
else
{
printf (“\nNgaco loe brow, maksimal 40, minimal 1”);
}
}
Tahap 4.
---------
Kalo perintah dibawahnya yaitu yang ini ..
for (ulang = 1; ulang <= masukkan; ulang++)
{
printf (“\nData ke %d : “, data[ulang]);
hal| 13
}
ini digunain untuk nampilin data yang kita masukkin.
Misalkan ada 4 data, yaitu 19, 24, 87 dan 1.
UDAH NGERTI ???
Berarti outputnya begini ...
Berapa jumlah data yang ingin anda masukkan ??
Maksimalnya 40 yahhhhhhhh !!!! 4
Data yang dimasukkin sebanyak 4, jangan nyesel loe
Silahkan masukkan datanya !!!!
-------------------------------
Data ke 1 : 19
Data ke 2 : 24
Data ke 3 : 87
Data ke 4 : 1
Data yang anda masukkan
--------------------------
Data ke 1 : 19
Data ke 2 : 24
Data ke 3 : 87
Data ke 4 : 1
*/
hal| 14
Pencerahan Algoritma + bahasa C-nya
Created by : Al-k
Alkemail@gmail.com
http://www.ilmuwebsite.com
Satu kata yang bisa diucapin tuk ngomentarin pak Purwa dengan Algoritmanya
“Pusiiiiiiiiiiiinnnngg .. !!!!”. Kok !!!??? Jelaslah, si brux'ss yang jago maen Pe-eS
juga bilang pusing muter tujuh keliling + garing !!! Kok gwa banyak buasa buasinya ya ???
Yang jelas gwa sbagai seorang fren's yg setia, solid, suple, baik hati dan tidak sombong,
suka menabung dan suka membantu ibu mencuci piring di dapur ... huehueheuhuehuue ...
nglantur deh !!! Gwa insyaAllah bakal ngebantu loe, dengan pembuatan artikel kaya gini..
gwa biasa sebut “C Language Tutorial” Kenapa disebut tutorial ... jelas .. wong asalnya
dari kata “Tutor”. Dan pertanyaan yang laen yaitu :
“Kenapa harus C, kenapa nggak pascal aja ???” ...
Kalo loe semua ngedalemin ilmu kompie lebih jauh lagi, pasti kagum banget dengan
kehebatan bahasa C ini, beberapa hal yang bikin jempol tangan, dan jempol kaki di
angkat semua tuk ngejagoin bahasa C (kalo jari loe jempol semua, gwa yakin bakal di
angkat juga semuanya ... huehueuehueuheuhuehhue , sorry Gerry !!! ...) diantaranya ....
- Game-game yang biasa loe maenin itu dibuat oleh para programmer dengan ngegunain
bahasa C : Quake, FinalFantasy, Comandos, Age Of Empires, Call of Duty, Game RPG yg
keren-keren, atawa game first person shooting yang bisa dipake rame-rame sampe 20
orang lebih yaitu Counter Strike, sampe Winning yg suka dimaenin oleh para bruxx
mania ... itu dibuat dengan bahasa C.
- Sistem Operasi yang selama ini kita gunain, seperti Linux, windows itu dibuat juga
dengan bahasa C. Bahasa C keren kan ???
- Untuk porting, maksudnya integrasi antara 2 sistem operasi … misalnya Film
Madagaskar, film ini di buat di lingkungan Linux dengan program 3D yakni Maya
buatan Alias Wavefront, padahal kan Maya seharusnya hanya untuk Windows aja tapi
kok Linux bisa yah ??? Semua bisa dipecahkan dengan bahasa C. Semua program yang
ada di Windows bisa dijalankan ulang dengan membuat kembali source codenya dalam
bahasa C yang sesuai dengan lingkungan di Linux. Pusing ??? Sama, gwa juga …
Udah deuh, sekarang ke inti aja … penjelasan mengenai bahasa C dan Algoritmanya … kalo
gwa jelasin satu persatu nanti takut pada ngebul, mendingan gwa ambil beberapa contoh
kasus aja yah …
Sebetulnya inti dari suatu pemrogamman dari bahasa C itu Cuma kaya gini doanks :
Main()
{
// isi dari program di taro disini
}
// kalo sebelah sini bisa dipake untuk function atau perintah tambahan.
Source code, atau kode-kode yang dijalankan itu hanya dari
Kurung kurawal terbuka sampai kurung kurawal tertutup ( dari ‘{‘ sampai ‘}’ ) Simple kan
???
Nah sekarang kita akan buat program yang bisa menampilkan beberapa kata. Untuk
ngelakuinnya yang kita butuhkan adalah sebuah header file yang bisa menjalankan perintah
input dan output. Masih ada yang nanya juga tentang header ??? Gwa jelasin detil tapi
dengan cara gwa sendiri …
misalnya :
Misalnya si Jesika mo buat kue dadar, yang dibutuhinnya itu salah satunya santan. Nggak
perlu dong dia cape-cape manjat pohon kelapa, terus diambil kelapanya, kemudian dikupas
dulu kelapanya sampe bersih udah gitu diparut dulu kelapanya,di peres, baru di ambil
santannya. Kalo dipikir-pikir itu kan lama dan ngabisin waktu. Padahal udah ada kara,
santan yang siap dituang. Urusan gosong atau nggak kuenya itu masalah nanti ???
Huheuheuhuehuheuh... Ampunnn mbah Jesika … Nah balik lagi ke header, kara atau santan
yang siap dituang itu sama fungsinya dengan header.
hal| 15
Udah kepikiran header itu apa ??? Bagus !!!
Header standar yang digunain untuk output dan input (biasa disingkat I/O) dalam bahasa C
yaitu “stdio.h”(standard input/output), kalo “iostream.h” itu untuk bahasa C++. Ya udah
kita mulai aja …
// kodenya dari sini
// program tampilkan beberapa kata
#include
ke dalam program ini */
int main() /* inti program dimulai dari sini */
{ /* kurung kurawal, awal dari program yang akan
dijalankan */
printf (“Kita lagi belajar bahasa C gitu lhoooh !!! “);
/* printf digunakan untuk menampilkan karakter baik huruf-huruf, maupun
angka ...
ex :
printf (“Loka keren !!!”); yang ditampilkan nantinya adalah
Loka keren !!!
Terus, kalo yang berada di dalam kurung itu menandakan karakter yang
akan ditampilkan nantinya. Dan tanda ; ini berfungsi untuk mengakhiri
perintah tersebut, jangan sampe lupa dipake, kalo nggak program
loe bakal errororojing (error). */
return 0; /* menunjukkan program ketika berada dalam kondisi null (nol)
maksudnya program telah berhenti/selesai */
} /* kurung kurawal penutup untuk menjelaskan kalo programnya
berakhir sampe disini */
// Programmnya udah selesai.
Hasil ketika ditampilkan di monitor :
Kita lagi belajar bahasa C gitu lhoooh !!!
Nah gitu jadinya ...
O iya, ada beberapa hal yang lupa di jelasin ...
Dalam bahasa C itu ada dua jenis komentar :
Jenis satu :
/* isi komentar ditaro disini */ jenis ini bisa diterapkan untuk
banyak baris.
Jenis dua :
// isi komentar disini jenis ini hanya bisa digunain
untuk satu baris.
Maksudnya komentar, yaitu kalimat-kalimat yang nantinya jadi petunjuk untuk para
programmer lain, tapi nggak akan dianggap sebagai perintah dalam suatu program ... bisa
dibilang, komentar dalam bentuk kalimat itu ada tapi nggak dianggap. Ngerti deuuhhh ???
Plissshh, gwa kehabisan kata-kata untuk nerangin lebih jauh !!! >_<; hiks..hiks
Ngerti khan ???
hal| 16
Nah sekarang kita ambil kasus tambah-tambahan, dan kurang-kurangan.
Misalnya : si DanuBruxx mo pergi kekampus naek Angkot (kalo jalan kaki bisa gempor loe,
huehuheuhe, ^_^; sorry rux !!!). Uang yang dibutuhin itu buat ngebayar angkot 09, dan 02
Jurusan Cisarua. Sedangkan para supir 09 ngasih tarif sekitar Rp 2.000,00 dan para pilot
02 jurusan Cisarua ngasih tarif Rp 3.000. Di kantong si brux ada duit tiga lembar Rp
50.000,00 ( maklum malem minggu, banyak duit !!! ). Di jalan sebelum naek angkot si brux
ketemu temennya yang biasa ngasih pinjeum duit ( utang ), mau nggak mau dong si Bruxx
harus bayar utangnya. Kebetulan total utangnya si bruxx nyampe Rp 140.000. Apes bener loe
DanuBruxx, nggak jadi nge-date di resto dong, duitnya cuman Rp 10.000 !!! Mendingan ke
rumahnya Jesika aja noh, si jesika lagi buat kue dadar noh ... Huehuheuhuhehe jadi
nyambung ama cerita yang pertama nih ... Pertanyaannya berapa sisa uang si brux setelah
bayar utang, dan bayar naek angkot pulang pergi dari rumahnya. ???!!!
// program tuk nyari sisa duit dikantong si bruxx.
// sorry bruxxx !!!
#include
#include
Dengan kata laen perintah-perintah di Dos
bisa kita jalanin dengan header file ini.
Bagi yang udah pernah belajar DOS waktu di SMP
dulu pasti udah tau deuh perintah DOS kaya gimana
aja. Bagi yang belum !!! Gwa turut berduka cita!!
Huheuhuhuehuehuee ... !!! */
int main()
{ /* program yang bakal dijalanin mulainya dari sini */
/* yang kita butuhin untuk nyari sisa uang si DanuBruxx setelah dipake
bayar utang dan ongkos pulang pergi yaitu ...
KAMUS :
Duit_dikantong = Rp 150.000,00
Tarif_02 = Rp 3.000,00
Tarif_09 = Rp 2.000,00
Karena pulang pergi jadi di kali dua tuh ongkos angkotnya ...
Tarif_02 * 2 = Rp 6.000,00
Tarif_09 * 2 = Rp 4.000,00
Terakhir
UtangDanubruxx = Rp 140.000,00
Anggap aja semua tipenya real, jadi kita musti ngegunain variable
Float */
float Tarif_02 , Tarif_09 , UtangDanubruxx, Duit_dikantong ;
float sisauang ;
/* ini sama artinya dengan jadikan variable Tarif_02 , Tarif_09 ,
UtangDanubruxx, dan Duit_dikantong, sisauang bertipe float,
apa itu float, float itu variable yang bisa koma-komaan ... serius !!
Kalo integer kan leumpeung tuhh, misalnya : 9,8 dianggapnya 10,
Itu karena integer nggak bisa koma-komaan.
Nah sekarang kita masukkin nilai-nilai yang tadi udah dibuat di
kamus, inget sisauang belom ada nilainya. Karena yang mau kita
cari kan sisauang –nya. Kalo udah ada nilainya mau nyari apa lagi
coba ? Mikir atuh De ...
*/
Tarif_02 = 6000 ;
Tarif_09 = 4000 ;
UtangDanubruxx = 140000 ;
hal| 17
Duit_dikantong = 150000 ;
/* Nah sekarang kita buat Algoritma untuk nyari uang sisanya
ALGORITMA :
Input ( Tarif_02, Tarif_09, UtangDanubruxx, Duit_dikantong )
Penghitungan :
Karena sisauang itu dicari dari Jumlah uang dikantongnya si Danu di kurang uang buat
bayar utang, dan ongkos pulang pergi, maka :
sisauang = Duit_dikantong - ( UtangDanubruxx + Tarif_02 + Tarif_09 )
Output ( sisauang )
*/
sisauang = Duit_dikantong - ( UtangDanubruxx + Tarif_02 + Tarif_09 ) ;
printf ( “Sisa uang si Danu = %f “, sisauang ) ;
/* mungkin disini ada sekitar sini ada sedikit pertanyaan, seperti :
“Kok pake tanda %f segala ??? “
Gwa bakal jelasin sedikit !!!
Tadi kan kita make variable berjenis float maka untuk menampilkan
sisauang maka kita tulis %f . Masih bingung juga ????
Oke deh gwa jelasin lagi ....
Gwa ambil contoh :
Misalnya kita punya 5 variable, kita kasih nama :
var1, var2, var3, var4, var5. Masing-masing bernilai 1, 2, 3, 4, 5.
var1, var2, itu bertipe integer, sedangkan var3, var4 dan var5 bertipe float ( real ).
Misalnya kita mau menampilkan kesemuanya ke layar monitor...
Maka perintahnya ...
Printf (“Variable 1 = %d, variable 2 = %d, variable 3 = %f , variable 4 = %f , variable 5
= %f “, var1, var2, var3, var4, var5 );
Hasil ketika di tampilin di monitor :
Variable 1 = 1, Variable 2 = 2, Variable 3 = 3, Variable 4 = 4, Variable 5 = 5 .
Ngerti yah ??? Jadi kalo untuk tipe file int (integer maka tanda yang dipake untuk
nampilin ke layar monitor yaitu %d , sedangkan kalo untuk tipe float (real) yaitu %f
*/
return 0;
} /* akhir dari progam */
/* program mencari luas dan volume Bola */
/* listing vol+luas_bola.c */
/* Created by : Al-k */
/* On --- 5:35 AM 11/19/2005 */
#include
hal| 18
#include
#include
#define vi 3.14 /* menjelaskan bahwa nilai vi adalah 3.14 */
#define satuan 4/3 /* menjelaskan bahwa nilai vi adalah 4/3 */
int main()
{
/* kamus == variable
r, luas, volume
luas, volume = real
*/
int r;
float volume, luas ;
clrscr(); /* diambil dari header conio gunanya untuk membersihkan layar,
sama dengan perintah cls di dos */
/* Algoritma :
Masukkan jari-jarinya :
input(r)
hitung penjumlahan :
luas = satuan * vi * (r * r)
volume = 4 * vi * (r * r)
hasil:
output(luas,volume)
*/
printf (“\nProgram pencari luas dan volume bola “);
printf (“=======================================“);
printf (“\nMasukkan nilai jari-jarinya ( r ) : “);
scanf (“%d”, &r);
if(r == 0)
{
printf (“\n\nWoalaaahhhh ... kalo nilai r-nya 0 aku males ngitung lho, \n
wong sampean udah tau kok !!! Hasilnya kan 0 “);
}
else
{
printf (“\n\nSiiiip !!! ... “):
luas = satuan * vi * (r * r);
volume = 4 * vi * (r * r);
printf (“\n\nInilah hasil akhirnya :\n”);
printf (“Luas = %f\nVolume = %f”, luas, volume);
}
return 0; /* menandakan kondisi null = keluar dari program */
}
hal| 19
/* Program untuk mencari luas dan volume tabung dengan tutup */
/* listing vol+luas_tabungtutup.c */
/* Created by : Al-k */
/* On --- 6:21 AM 11/20/2005 */
#include
#define vi 3.14
int main()
{
/* kamus/variable
r = jari-jari : integer
t = tinggi : integer
luas : real
volume : real
*/
int r, t;
float luas, volume ;
/* algoritma
input (r,t)
penghitungan :
luas = ( 2 * r * r) + ( 2 * vi * r * t )
volume = ( vi * r * r * t )
output (luas, volume)
*/
printf (“\n\nMasukkan jari-jarinya : “);
scanf (“%d”,&r);
printf (“\nMasukkan tingginya : “);
scanf (“%d”,&t);
luas = ( 2 * r * r) + ( 2 * vi * r * t ) ;
volume = ( vi * r * r * t ) ;
printf (“\nHasil akhirnya :”);
printf (“\nLuas = %f”, luas);
printf (“\nVolume = %f”, volume);
return 0;
}
/* program PR yang disuruh Pak Purwa, yang bikin kepala pusing ...
tapi nambah sedikit nutrisi kedalam otak */
#include
#include
int main()
{
int data, ulang, uas[26], uts[26], absen[26];
int jumlah[26], huruf[26];
int tertinggi = jumlah[1], terendah = jumlah[1];
int ID = 64, IDrd, IDtg;
char nhuruf ;
hal| 20
/* fungsi DOS untuk hapus layar */
clrscr();
/* definisi untuk label isi */
isi:
printf(“\n”);
/* Memasukkan data sejumlah n !!! */
for(;;)
{
printf (“Berapa jumlah data yang akan dimasukkan : “);
scanf (“%d”, &data);
/* jika data yang dimasukkan itu lebih besar dari 0,
dan kurang dari 26, maka lakukan break,
lanjutkan ke line sesudahnya */
if ((data > 0) && (data<=26))
break ;
/* Jika bukan, keluarkan komentar dan lompat ke label isi */
else
printf(“Ah gila loee... yang bener aja, maksimal itu 26 “);
goto isi;
}
/* bersihkan layar */
clrscr();
/* Memasukkan data untuk absen, sejumlah n data */
printf (“\nData yang akan dimasukkan sejumlah : %3d\n”, data);
printf (“\nMasukkan data untuk data Absen \n”);
printf (“==============================\n”);
for(ulang = 1; ulang <= data; ulang++)
{
printf(“Data ke %3d: “, ulang);
scanf (“%3d”, & absen[ulang]);
if ((absen[ulang] <= 100) && (absen[ulang] >= 10))
{
printf (““);
}
else
{
printf (“\nNgaco loe broww !!!\, dari 10 - 100 “);
printf (“\nBalik lagi aja brooww ... !!! \n”);
goto udah;
}
}
printf (“\nSilahkan Tekan enter ...”);
getche();
printf (“\nPengisian data Absen selesai !!!”);
printf (“\n==============================“);
clrscr();
hal| 21
/* Memasukkan data untuk uts, sejumlah n data */
printf (“\nMasukkan data untuk UTS : \n”);
printf (“==============================\n”);
for(ulang = 1; ulang <=data; ulang++)
{
printf(“Data ke %3d : “, ulang);
scanf (“%d”, &uts[ulang]);
if ((uts[ulang] <= 100) && (uts[ulang] >= 10))
{
printf (““);
}
else
{
printf (“\nNgaco loe broww !!!\, dari 10 - 100 “);
printf (“\nBalik lagi aja brooww ... !!! \n”);
goto udah;
}
}
printf (“\nSilahkan Tekan enter ...”);
getche();
printf (“\nPengisian data UTS selesai !!!”);
printf (“\n==============================“);
clrscr();
/* Memasukkan data untuk uas, sejumlah n data */
printf (“\nMasukkan data untuk UAS : \n”);
printf (“==============================\n”);
for(ulang = 1; ulang <=data; ulang++)
{
printf(“Data ke %3d : “, ulang);
scanf (“%d”, &uas[ulang]);
if ((uas[ulang] <= 100) && (uas[ulang] >= 10))
{
printf (““);
}
else
{
printf (“\nNgaco loe broww !!!\, dari 10 - 100 “);
printf (“\nBalik lagi aja brooww ... !!! \n”);
goto udah;
}
}
printf (“\nSilahkan Tekan enter ...”);
getche();
printf (“\nPengisian data UAS selesai !!!”);
printf (“\n==============================“);
printf (“\nSilahkan Tekan enter sekali lagi ... “);
getche();
clrscr();
printf(“\n\n\t\t D a t a A p a a n B o a ? ? ? ? ? \n\t\t\t\tAngkatan 2005--
2006”);
hal| 22
printf(“\n\n
=========================================================================\n”);
printf(“ | ID | Absen | UTS | UAS | Jumlah | Nilai Huruf |\n”);
printf(“ =========================================================================\n”);
for (ulang = 1; ulang <= data; ulang++)
{
huruf[ulang] = ID + ulang;
jumlah[ulang] = ((0.7 * absen[ulang]) + ( 0.3 * uts[ulang]) + (0.5 * uas[ulang]));
if ( jumlah[ulang] < 51 )
nhuruf = 'E';
else if ( jumlah[ulang] < 61 )
nhuruf = 'D';
else if ( jumlah[ulang] < 71 )
nhuruf = 'C';
else if ( jumlah[ulang] < 80 )
nhuruf = 'B';
else if ( jumlah[ulang] > 79 )
nhuruf = 'A';
printf(“ | %2c | %2d | %2d | %2d | %3d | %2c
|\n”,
huruf[ulang], absen[ulang], uts[ulang], uas[ulang], jumlah[ulang], nhuruf);
}
printf(“ =========================================================================\n”);
/* definisi untuk nilai tertinggi */
for (ulang = 1; ulang <= data; ulang++)
{
if (jumlah[ulang] >= tertinggi)
{
tertinggi = jumlah[ulang];
IDtg = huruf[ulang];
}
}
/* definisi untuk nilai terendah */
for (ulang = 1; ulang <= data; ulang++)
{
if (jumlah[ulang] <= terendah)
{
terendah = jumlah[ulang];
IDrd = huruf[ulang];
}
}
printf (“\n Nilai tertinggi = %d || ID-nya = %c”,tertinggi, IDtg);
printf (“\n Nilai terendah = %d || ID-nya = %c”,terendah, IDrd);
getch();
udah:
printf (“\n\n”);
return 0;
}
hal| 23
/* Output :
Pengisian data ....
--------------------
ABSEN ??? ....
UTS ??? ....
UAS ??? ....
D a t a A p a a n B o a ? ? ? ? ?
Angkatan 2005--2006
=========================================================================
| ID | Absen | UTS | UAS | Jumlah | Nilai Huruf |
=========================================================================
| A | 30 | 40 | 60 | 62 | C |
| B | 40 | 50 | 70 | 77 | B |
| C | 50 | 60 | 40 | 72 | B |
| D | 60 | 30 | 50 | 75 | B |
| E | 70 | 40 | 60 | 90 | A |
| F | 30 | 60 | 70 | 73 | B |
=========================================================================
Nilai tertinggi = 90 || ID-nya = E
Nilai terendah = 62 || ID-nya = A
*/
ENTAR MO DILANJUT, SABARRR !!!!
hal| 24
Biografi Penulis !!!
Loka Dwiartara. Lahir di Bogor, pada tanggal 24 Januari 1987. Jenjang pendidikan SMU di
lalui di SMA Negeri 4 Bogor. Dari sinilah dia mulai meniti karir yang berbau open source.
Cukup aktif dalam berorganisasi salah satunya sebagai animator menggunakan Macromedia
Flash dalam situs milik sekolahnya, http://www.sman4bogor.com. Di lain tempat dia salah
satu pendiri Eyes Moslem Corporation yang namanya sampai saat ini belum naik ke permukaan
☺. Selain itu dengan anggota web master yang lain bergabung membuat “Weckerz” suatu
perkumpulan maniak computer di sekolahnya yang memiliki planning kedepan menjadi Game
Developer Indonesian, http://www.weckerz.cjb.net untuk bersama-sama membangun game dengan
standarisasi Internasional, terdiri dari beberapa anggota anak SMU dan Mahasiswa dari
berbagai Perguruan Tinggi, dan dari berbagai penjuru nusantara. Lulus SMA dengan hasil
yang ala kadarnya ☺.
Tertarik di bidang :
•Web Programming ( Develop dan Design – Java Script, PHP dan MySql )
•Computer Networking ( Linux Based )
•Game Programming ( C++ dan Action Script )