Rabu, 29 September 2010

#RE enable v2 portable

#PC router windows

HKEY_LOCAL_MACHINE ->SYSTEM -> current control set -> services -> tcpip -> parameters kemudian pilihlah IPEnableRouter

value jadi 1

restart

Sabtu, 25 September 2010

#Turbo C

#Turbo Pascal 7

#Pemrograman C ms-dos part 1

CP :http://opensource.telkomspeedy.com/forum/viewtopic.php?id=4088
BAB I
PENDAHULUAN

A. SOURCE PROGRAM

Suatu source program (program sumber) C dapat ditulis di dalam satu atau lebih source file. Source-file C adalah suatu file teks yang berisi semua atau bagian dari source-program C.

Suatu source-program C dibentuk oleh sekurang-kurangnya satu buah fungsi. Di antara fungsi-fungsi yang ada, terdapat satu fungsi yang akan dikerjakan pertama kali jika program tersebut dijalankan. Fungsi tersebut bernama main.

Penulisan program C bebas dari aturan penggunaan kolom-kolom yang kaku. Suatu statement (pernyataan) dapat di tuliskan di kolom mana pun. Suatu statement dipandang berakhir jika ditemukan tanda akhir statement. Oleh sebab itu, di dalam suatu baris boleh terdapat lebih dari satu statement. Begitu pula, suatu statement yang panjang boleh menggunakan lebih dari satu baris.

Berikut ini adalah contoh program klasik C untuk mencetak string-literal kalimat "Hello, world!".

Program-1.1: hello.c
------------------------
#include

main()
{
printf("Hello, world!\n");
}
------------------------

B. MENGKOMPILASI PROGRAM
Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi, yang sesuai, untuk menghasilkan suatu executable-program.

Cara melakukan kompilasi program C dapat dibaca pada petunjuk kompiler yang digunakan.

Untuk contoh program di atas, jika kompilasi dilakukan dan sukses maka anda akan memperoleh object-file hello.obj dan executable-program hello.exe.


BAB II
MENGENAL BAHASA PEMROGRAMAN C

A. TUJUH ELEMEN DASAR PEMROGRAMAN

Borland mengemukanan ada tujuh elemen dasar pemrograman yang harus dipahami oleh para pemrogram, yaitu:
1. ambil informasi dan berikan kepada program.
2. miliki tempat untuk menyimpan informasi di atas.
3. berikan instruksi yang benar untuk memanipulasi data.
4. ambil kembali data, baik berupa data mentah atau hasil olahan, untuk diinformasikan pada pemakai.

Untuk kebutuhan tersebut, Anda dapat mengorganisasikan instruksi-instruksi sehingga:

5. beberapa instruksi hanya dilaksanakan jika suatu kondisi terpenuhi.
6. beberapa instruksi dapat dilaksanakan secara berulang.
7. beberapa instruksi dapat dikelompokkan ke dalam bagian-bagian yang dapat dilaksanakan dari berbagai lokasi program.

Ketujuh elemen dasar pemrograman tersebut secara berturut-turut dinamakan input, data, operasi, output, conditional-execution, loop, dan subprogram.

B. ELEMEN-ELEMEN BAHASA
1. Karakter
Huruf, Angka, dan Garis-bawah
Yang dimaksud dengan huruf adalah A s/d Z dan a s/d z, angka adalah 0 s/d 9, dan garis-bawah adalah _.

White-space
Karakter-karakter space, tab, line-feed, carriage-return, form-feed, vertical-tab, dan new-line disebut white-space character karena mereka mempunyai fungsi sebagai spasi antara kata-kata atau baris-baris. Setiap konstanta dan identifier selalu dipisahkan oleh karakter-karakter ini.

Tanda-baca dan karakter-khusus
Tanda-baca dan karakter-khusus dalam bahasa C mempunyai kegunaan yang bervariasi, dari pengorganisasian teks pogram sampai pendeinisian tugas-tugas yang akan dilakukan oleh kompiler. Karakter-karakter yang termasuk ke dalam kelompok ini adalah:

, . ; : ? ' " ( ) [ ] { } < > ! | / \ ~ + # % & ^ * - =

Escape Sequence
Karakter-karakter escape-sequence adalah suatu urutan karakter yang digunakan untuk mewakili ekspresi suatu karakter lain. Kumpulan karakter ini selalu dimulai oleh karakter backslash (\) dan diikuti oleh suatu huruf atau suatu kombinasi angka.
Daftar karakter-karakter escape-sequence adalah sebagai berikut.

\n new-line
\t horizontal-tab
\v vertical-tab
\b backspace
\r carriage-reurn
\f form-feed
\a bell
\' tanda-petik
\" tanda-kutip
\\ backslash
\ddd karakter ASCII dalam notasi oktal
\xddd karakter ASCII dalam notasi heksadesimal

2. Operator
Operator (lambang-operasi) adalah simbol-simbol, baik berupa satu atau beberapa karakter, yang menetapkan bagaimana suatu nilai dimanipulasi. itu adalah:

! ~ - + * / % < > = | ^ ' ++ -- -= += /= %= << >> ==
!= <= >= |= && || ?: &= ^= <<= >>=

3. Konstanta
Integer Constant
Suatu integer-constant adalah angka desimal, oktal, atau heksadesimal yang mewakili suatu nilai bilangan bulat.
Suatu konstanta-desimal (berbasis-sepuluh) dibentuk oleh sekumpulan angka 0 s/d 9, dengan ketentuan tidak dimulai oleh angka 0. Suatu konstanta-oktal (berbasis-delapan) dibentuk oleh sekumpulan angka 0 s/d 7, dengan ketentuan dimulai oleh angka 0. Suatu konstanta-heksadesimal (berbasis-enambelas) dibentuk oleh sekumpulan angka 0 s/d 9 dan atau huruf A s/d F atau a s/d f, dengan ketentuan dimulai oleh angka-huruf 0X atau 0x. Contoh:

Desimal Oktal Heksadesimal
10 012 0xA
132 0204 0x84
32179 076663 0x7DB3

Floating-point Constant
Suatu floating-point constant adalah angka desimal yang mewakili suatu nilai bilangan nyata. Nilai dari konstanta ini meliputi porsi-porsi bilangan bulat, pecahan, dan eksponen. Aturan penulisan konstanta ini adalah seperti dalam format berikut.

[digit][.digit][E|e[+|-]digit]

Di mana digit adalah berupa sekumpulan angka 0 s/d dan E atau e sebagai simbol eksponen. Contoh:

12E-3 berarti 12 kali 10 pangkat -3
6.25E+4 berarti 6.25 kali 10 pangkat 4

Character Constant
Suatu character-constant dibentuk dengan menempatkan suatu karakter di antara dua tanda-petik (' '). Suatu escape-character dipandang sebagai satu karakter, oleh karena itu dapat dijadikan suatu character constant. Contoh:

'A'
'\n'
'\0x41'

String-Literal
Suatu string-literal dibentuk oleh satu atau sekumpulan karakter yang ditempatkan di antara dua tanda-kutip. Contoh:

"BANDUNG"
"Hari Jum\’at"
"Tit\a\a"
"Baris-1\nBaris-2"

4. Identifier
Identifier adalah nama yang diberikan untuk konstanta-bernama, variabel, jenis-data, fungsi, dan label di dalam program. Setiap identifier yang akan digunakan harus didefinisikan sebelumnya.
Suatu identifier dibentuk oleh satu atau beberapa buah karakter, sebanyak-banyaknya 31 karakter, yang dimulai oleh suatu huruf atau garis-bawah dan dapat diikuti oleh huruf, angka, atau garis-bawah. Catatlah, bahasa C membedakan penggunaan huruf-besar dan huruf-kecil dalam suatu identifier. Contoh:

ClrScr
H2o
TempatTinggal
Nama_Siswa
Kota
Pilihan

5. Keyword
Untuk kegunan dalam pemrograman, bahasa C mencadangkan sejumlah identifier yang telah didefinisikan, disebut keyword, bagi pemrogram. Kata-kata ini merupakan instruksi terhadap C untuk mengerjakan/menyatakan suatu hal tertentu. Oleh karena itu semua keyword tidak dapat didefiniskan-ulang dan hanya digunakan sesuai dengan peruntukannya. Berikut adalah daftar keyword dalam bahasa C.

auto break case char const continue default do double else
enum extern float for goto if int long register return short
signed sizeof static struct switch typedef union unsigned void
volatile while

Di samping keyword-keyword di atas, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:

far near huge cdecl pascal

BAB III
JENIS DATA, KONSTANTA, VARIABEL, LAMBANG OPERASI, DAN EKSPRESI


Catatan: maaf tabel-tabelnya tidak rapih, saya belum mengetahui penggunaan tabel di dalam forum ini

Variabel & konstanta merupakan objek data dasar yang dimanipulasi di dalam suatu program. Setiap konstanta dan variabel harus jelas jenis datanya. Untuk itu mereka harus dideklarasikan sebelumnya.

Operator (lambang operasi) digunakan untuk menetapkan apa yang akan dilakukan terhadap konstanta/variabel tersebut.

Ekspresi adalah suatu bangun algoritma, berdasarkan aturan-aturan tertentu, untuk menghitung suatu nilai. Suatu ekspresi dibentuk oleh variabel-variabel, konstanta-konstanta dan fungsi-fungsi (operand) yang dikombinasikan oleh lambang-lambang operasi (operator).

Aturan yang berlaku dalam suatu ekspresi adalah sebagai berikut
1. suatu ekspresi akan mendahulukan pengoperasian operator yang tingkatannya paling tinggi.
2. suatu ekspresi akan mendahulukan pengoperasian operator terdepan pertama jika operator-operator yang digunakan mempunyai tingkatan yang sama.
3. suatu ekspresi yang mengandung operasi prioritas (berada dalam tanda kurung), akan mendahulukan pelaksanaan operasi prioritas tersebut.
4. operand yang digunakan pada suatu ekspresi harus mempunyai atau menghasilkan jenis data yang sama.


A. JENIS DATA UTAMA
Pada dasarnya C hanya mengenal empat jenis kata, yaitu char, int, float, dan double.

Suatu jenis data menetapkan suatu rentangs nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4)

Dengan demikian, jika anda akan menggunakan suatu konstanta, variabel, atau fungsi maka mereka harus ditetapkan jenis datanya, karena setiap operasi yang dibentuk didasarkan pada suatu jenis data tertentu.

Jenis data char merupakan suatu byte tunggal yang mempunyai kemampuan untuk memegang suatu data karakter. Jenis data int merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan bulat. Jenis data float merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi tunggal. Jenis data double merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi ganda.

Perluasan jenis data int diwujudkan dalam dua jenis data lain, yaitu short dan long, yang berbeda kemampuannya dalam menyimpan rentang nilai yang diberikan kepadanya.
Jenis jenis data char, int, short, dan long dapat didahului oleh keyword signed atau unsigned untuk menyatakan bahwa jenis data tersebut meliputi bilangan bulat negatif atau tidak. Jika itu tidak dinyatakan, maka dianggap signed.

Rentang nilai dan ukuran setiap jenis data tergantung pada jenis mesin dan kompiler yang digunakan.

Code:

Jenis data      ukuran  Rentang nilai
-------------- ------ ---------------------------
char 1 byte -128 s/d 127
unsigned char 1 byte 0 s/d 255
signed int 2 byte -32,768 s/d 32,767
unsigned int 2 byte 0 s/d 65,535
short 2 byte -32,768 s/d 32,767
unsigned short 2 byte 0 s/d 65,535
long 2 byte -2,147,483,648 s/d 2,147,463,647
unsigned long 4 byte 0 s/d 4,294,967,295
float 4 byte 3.4E-38 s/d 3.4E+38
double 8 byte 1.7E-308 s/d 1.7E+308

Catatan:
* akhiran L perlu dituliskan dibelakang konstanta bilangan bulat untuk membedakan jenis data long atau unsigned long dari jenis data bilangan bulat lainnya.
* Jenis data string dipandang sebagai array karakter

B. VARIABEL
Variabel adalah suatu besaran yang nilainya dapat berubah pada saat program berlangsung. Setiap variabel dinyatakan oleh suatu identifier.
Setiap variabel harus dideklarasikan terlebih dahulu sebelum digunakan di dalam program. Setiap variabel yang dideklarasikan harus dinyatakan jenis datanya. Bentuk umum pendeklarasian variabel adalah sebagai berikut.

[type] id_var1[, id_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, dan type adalah jenis data yang ditetapkan untuk id_var1 dan id_var2. Contoh :

int liter, harga;
char nama[20];

dalam deklarasi suatu variabel dapat dilakukan initialisasi nilai terhadap variabel tersebut. Bentuk umum deklarasi dan initialisasi variabel adalah sebagai berikut.

[type] id_var1 = val_var1[, id_var2 = val_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, val_var1 dan val_var2 adalah nilai awal yang ditetapkan pada id_var1 dan id_var2, dan type adalah jenis data untuk id var_1 dan id_var2. contoh :

int liter,
harga = 385;
char nama[20] = "Abdallah";

contoh program-3.1 akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.

Program 3.1: SALAM.C

Code:

#include 

char nama [20],
prompt [20] = "Tulis nama anda: ";

main ( )
{
printf (prompt);
scanf ("%s", nama);
printf ("Halo %s. Selamat belajar C.\n", nama);
}

apabila program tersebut dijalankan maka akan muncul tampilan sebagai berikut.

Tulis nama anda: Anugrah
Halo Anugrah. Selamat belajar C.

C. OPERASI ARITMATIKA
Operator aritmatika yang digunakan dalam bahasa C pada umumnya sama dengan lambang operasi hitung biasa. Operator operator tersebut, kegunaan, prioritas, contoh ekspresi dan hasilnya adalah seperti terlihat pada tabel 3.2

Tabel 3.2:
Operator Aritmatika

Code:

operator  operasi         Contoh ekspresi  hasil
-------- -------------- --------------- -----
* perkalian 21*8 208
/ pembagian 27/3 9
% sisa pembagian 30%4 2
+ penjumlahan 2+10 12
- pengurangan 29-13 16

Catatan
* Operator % tidak dapat digunakan untuk jenis data float atau double.
* Operator * / dan % mempunyai tingkat prioritas yang sama, begitu pula operator + dengan -, kelompok operator pertama mempunyai tingkat prioritas yang lebih tinggi dari kelompok yang kedua.

Berdasarkan aturan ekspresi yang telah disebutkan dalam awal bab ini maka tahapan pelaksanaan yang dilalukan untuk ekspresi-ekspresi aritmatika berikut adalah seperti dinyatakan oleh ekspresi sebelahnya.

Code:

Ekspresi      Tahap pelaksanaan
------------ -----------------
2+3*4 2+12
14
(2+3)*4 5*4
20
2*3%4 6%4
2
2*(3%4) 2*3
6
2+3.0/4-5 2+0.75-5
2.75-5
-2.25
(2+3)/(4-5) 5/(4-5)
5/-1
-5

Hati hatilah dengan operator pembagian. Apabila pembilang dan penyebut berupa bilangan bulat maka hasil operasi ini berupa bilangan bulat pula. Untuk mendapatkan hasil bagi berupa bilangan nyata maka salah satu dari pembilang dan penyebut harus berupa bilangan nyata. Contoh:

Code:

ekspresi        Hasil
-------------- --------
10/3 3
(float) 10/3 3.333333

D. OPERASI HUBUNGAN DAN LOGIKA
Operasi hubungan digunakan untuk menguji hubungan antara dua buah operand. Nilai yang dihasilkan operasi ini adalah 0 kalau salah dan –1 kalau benar. Operator-operator yang digunakan adalah seperti ditunjukan dalam tabel 3.3

Tabel 3.3:
Operator Hubungan

Code:

operator  Operasi
-------- ---------------------
== Sama dengan
!= Tidak sama dengan
<> Lebih besar
<= Lebih kecil atau sama >= Lebih besar atau sama

Perhatikanlah contoh pengurangan operator hubungan serta nilai akhirnya pada ekspresi berikut ini.

Code:

ekspresi    Hasil
---------- -----
2>3 0
2!=3 -1
4*5==10*2 -1

Prioritas pelaksanaan operasi hubungan lebih rendah dari pelaksanaan operasi aritmatika. Berikut ini adalah contoh tahapan pelaksanaan yang dilakukan untuk ekspresi-ekspresi aritmatika dan hubungan.

Code:

ekspresi    Tahap pelaksanaan
---------- -----------------
2<5-3 2="=" 20="=">

Operasi logika digunakan untuk mengoperasikan operand berjenis data bilangan bulat berdasarkan aturan aturan operasi logika pada aljabar modern. Pada operasi ini setiap operand yang bernilai 0 dinyatakan salah dan operand yang bernilai bukan 0 dinyatakan benar. Nilai yang dihasilkan operasi ini sama seperti operasi hubungan, yaitu 0 kalau salah dan –1 kalau benar.
Tabel 3.4 menunjukan nama operator, cotoh ekspresi dan hasil operasi daripada operator logika.

Tabel 3.4
Operator Logika, Contoh dan Hasil Ekspresi

Code:

Operator  Operasi  Operand A  Operand B  Ekspresi  Hasil
-------- ------- --------- --------- -------- -----
! NOT Benar !A Salah
Salah Benar
&& AND Benar Benar A&&B Benar
Benar Salah Salah
Salah Benar Salah
Salah Salah Salah
|| OR Benar Benar A||B Benar
Benar Salah Benar
Salah Benar Benar
Salah Salah Salah

Contoh:

Code:

ekspresi     Tahap pelaksanaan
----------- ---------------
2<3&&4<5>

1. Operasi Penarikan dan Penurunan
Bahasa C memberikan dua buah operator yang tidak umum untuk penaikan (incrementing) dan penurunan (decrementing) nilai suatu variabel. Variabel yang dioperasikan harus berjenis data bilangan bulat atau pointer. Operasi penaikan berfungsi untuk menambah nilai variabel yang dinyatakannya dengan konstanta 1, sementara operasi penurunan adalah kebalikannya. Operator yang digunakan adalah ++ dan --. Operator ini dapat ditempatkan sebelum atau sesudah nama variabel. Jika ditempatkan sebelum nama variabel maka operasi ini akan didahulukan dari operasi operator lain yang ada dalam suatu ekspresi, dan sebaliknya jika ditempatkan sesudah nama variabel.
Berikut ini adalah contoh ekspresi operasi operasi ini dan persamaannya.

Code:

ekspresi     Persamaan
----------- ---------
a++ a=a+1
a-- a=a-1
b=a++/6 b=a/6
a=a+1
b=3*a-- b=3*a
a=a-1
b=++a/6 a=a+1
b=a/6
b=3*--a a=a-1
b=3*a
c=a++ + ++b b=b+1
c=a+b
a=a+1

Dari contoh contoh di atas, anda dapat melihat kesederhanaan penulisan beberapa pernyataan ke dalam satu pertanyaan dalam bahasa C.

2. Operasi Penetapan
operasi penetapan digunakan untuk menetapkan suatu nilai terhadap suatu variabel. Bentuk umum operasi ini adalah

id_var = ekspresi

dimana id_var adalah identifier variabel yang akan menampung nilai hasil ekspresi. Contoh:

a = 5*27

Dalam banyak hal, nilai variabel yang akan ditetapkan juga merupakan bagian dari ekspresi, seperti

a = a+4

Jika terdapat kasus terakhir, bahasa C memberikan kemudahan bagi anda untuk menyederhanakan penulisan operasi penetapan tersebut, yaitu menjadi

a += 4

Hampir semua binary operators dapat dibentuk penyederhanaannya, yaitu dalam bentuk umum

id_var op= ekspresi

Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti.

id_var = id_var op ekspresi

Contoh:

Code:

ekspresi  Persamaan
-------- ---------
x*=y-1 x=x*(y+1)
x+=5 x=x+5
x>>=3 x=x>>3

3. Prioritas dan Arah Pelaksanaan Operator
tabel berikut menunjukan tingkat prioritas dan arah pelaksanaan operator, baik yang telah dibahas maupun belum. Operator-operator yang terletak pada baris yang sama mempunyai tingkat prioritas sama dengan arah pelaksanaan sesuai dengan yang dinyatakan dalam kolom sebelahnya.


Tabel 3.5:
Prioritas Dan Arah Pelaksanaan Operator

Code:

operator                     Arah pelaksanaan
--------------------------- ------------------
() [] -> . Dari kiri ke kanan
! ~ ++ -- -(type)* & sizeof Dari kanan ke kiri
* / % Dari kiri ke kanan
+ - Dari kiri ke kanan
<< >> Dari kiri ke kanan
< <= > >= Dari kiri ke kanan
== != Dari kiri ke kanan
& Dari kiri ke kanan
^ Dari kiri ke kanan
| Dari kiri ke kanan
&& Dari kiri ke kanan
|| Dari kiri ke kanan
?: Dari kanan ke kiri
= += -= dll Dari kanan ke kiri
, Dari kiri ke kanan
File kode sumber bahasa C pada umumnya berekstensi .c dan C++ pada umumnya berekstensi .cpp.
Kode-kode sumber tersebut selanjutnya akan dikompile oleh kompiler C/C++, misalnya kompiler Microsoft C atau Turbo C. Hasil dari proses kompilasi tersebut adalah file-file objek yang pada umumnya berekstensi .obj. File-file objek tersebut kode-kode sumber yang telah diubah ke dalam bahasa mesin.

Coba perhatikan kembali contoh program-1.1, kode sumbernya direkam di dalam file hello.c. Jika file tersebut dikompile maka akan dihasilkan file dengan nama hello.obj yang merupakan kode objek dari program tersebut.
Di dalam program tersebut hanya terdapat fungsi main, konstanta "Hello, world!\n", dan pernyataakan untuk memanggil fungsi printf. Itulah yang akan ditempatkan di dalam file objek hello.obj.

Agar file objek tersebut dapat dieksekusi maka itu harus digabung dengan kode objek lain, dalam hal ini adalah fungsi printf. Sejumlah kode objek telah disiapkan oleh pembuat kompiler agar kita tidak perlu repot membuatnya. Kumpulan dari kode-kode objek tersebut dinamakan perpustakaan (library) kode object dan nama file-nya pada umunya berekstensi .lib. Penggabungan tersebut dilakukan oleh program Linker dan hasilnya dinamakan kode yang dapat dieksekusi (executable codes). File-file tersebut pada umumnya berekstensi .exe atau .com

#kuis C

Latihan:
Buatlah program C untuk permainan tebak-tebakan sebagai berikut.

Tetapkanlah suatu nilai acak antara 0 s/d 99 (simpanan) kemudian mintalah pemain untuk menebak nilai tersebut (tebakan).
Jika tebakan sama dengan simpanan tulislah kalimat Anda pandai!.
Jika tebakan lebih kecil dari simpanan tulislah kalimat Tebakan terlalu kecil!.
Jika tebakan lebih besar dari simpanan tulislah kalimat Tebakan terlalu besar!.
Berikan kesempatan sebanyak enam kali pada pemain jika melakukan tebakan yang salah. Jika selama enam kali pemain tidak dapat menebak nilai tersebut, tulislah kalimat Anda bodoh! dan cetaklah nilai simpanan tersebut.
Berikan kesempatan kepada pemain untuk mengulang permainan tanpa mengahiri program tersebut.

Fungsi-fungsi yang anda dapat gunakan adalah rand, printf, scanf, dan getche. Silahkan baca fasilitas Help jika anda menggunakan Turbo-C/Borland-C untuk mengetahui kegunaan dan penggunaan fungsi-fungsi tersebut.


answer:

#include 
#include
#include

int simpanan, tebakan, i, ch;

main()
{
while (1)
{ printf("Saya menyimpan satu nilai antara 0 s/d 99.\n");
printf("Silahkan anda tebak nilai tersebut.\n");
printf("------------------------------------------\n");
simpanan = rand() % 100;
for (i = 1; i < tebakan ="=" i ="=" ch =" getche();" ch ="=" ch ="=">

#Pemrograman C ms-dos part 2

BAB IV
PERNYAATAAN-PERNYATAAN


A. Pernyataan goto dan label
Pernyataan-pernyataan (statements) yang dituliskan di dalam suatu program akan dilaksanakan secara berurut mulai dari pernyataan pertama sampai dengan pernyataan terakhir. Contoh:

...
statement_1;
statement_2;
statement_3;
statement_4;
statement_5;
statement_6;
...

Jika kita bermaksud untuk menyatakan bahwa sesudah pelaksanaan pernyataan tertentu (misalnya setelah statement_2) alur program akan dilanjutkan ke pernyataan tertentu lain yang bukan pernyataan yang tepat di bawahnya (misalnya ke statement_5), maka kita harus menggunakan pernyataan goto dan menetapkan suatu label di lokasi yang dimaksud. Contoh:

...
statement_1;
statement_2;
goto next;
statement_3;
statement_4;
next:
statement_5;
statement_6;
...

Suatu label adalah identifier biasa yang diikuti oleh simbol titik-dua ( : ).

B. Pernyataan Fungsi
Pernyataan fungsi adalah pernyataan yang digunakan untuk memanggil suatu fungsi. Pernyataan fungsi dilakukan dengan menulis nama fungsi yang dimaksud beserta argumen yang akan diberikan kepada parameter-parameter yang terdapat di dalam fungsi tersebut.

Berkaitan dengan hal tersebut maka kita harus mengetahui apa nama fungsi dan parameter-parameter apa yang dibutuhkan oleh fungsi yang akan kita gunakan. Informasi tersebut dapat dilihat di dalam prototipe, definisi, atau deklarasi fungsi tersebut. Prototipe dan definisi fungsi-fungsi standar (yang telah disediakan oleh pembuat kompiler) dapat ditemukan di dalam direktori include dengan nama file berekstensi .h yang dikelompokkan berdasarkan kegunaannya, misalnya stdio.h, stdlib.h, conio.h, io.h, dan lain-lain.

Untuk memungkinkan kompiler dapat memeriksa kebenaran penulisan pernyataan fungsi di dalam suatu kode sumber, maka file yang berisi prototipe fungsi tersebut harus di-include ke dalam kode sumber tersebut.

C. Pernyataan Gabungan/Blok
Pernyataan Gabungan atau Blok adalah kumpulan pernyataan yang ditetapkan sebagai satu kesatuan pernyataan. Ini digunakan untuk menyederhanakan penulisan pernyataan secara berulang.

Pernyataan gabungan atau blok diawali oleh simbol "{" diikuti oleh pernyataan-pernyataan yang menjadi anggotanya dan diakhiri oleh simbol "}". Contoh:

{
statement_1;
statement_2;
statement_3;
...
}

D. Pernyataan if-else
Pelaksanaan suatu pernyataan boleh jadi hanya dilakukan jika suatu kondisi tertentu terpenuhi. Pernyataan if-else adalah salah satu pernyataan yang dapat digunakan untuk keperluan tersebut. Bentuk umum pernyataan ini adalah:

if (ekspresi) stat_1; [else stat_2;]

Di mana ekspresi adalah ekspresi ordinal (mengembalikan nilai bilangan bulat). Pernyataan stat_1 akan dilakukan jika ekspresi bernilai bukan 0 dan pernyataan stat_2 akan dilakukan jika ekspresi bernilai 0. Contoh:

Code:

if (kode = 0)
strcpy(kelamin, "Perempuan");
else
strcpy(kelamin, "Laki-laki");

Marilah kita coba terapkan pernyataan ini pada masalah berikut. Katakanlah anda menghendaki sebuah Tabel Harga BBM, dari 1 sampai 10 liter. Output yang dihasilkan dikehendaki sebagai berikut.

Code:

Liter  Solar Premium  Super
---------------------------
1 250 385 450
2 500 770 900
3 750 1155 1350
4 1000 1540 1800
5 1250 1925 2250
6 1500 2310 2700
7 1750 2695 3150
8 2000 3080 3600
9 2250 3465 4050
10 2500 3850 4500
---------------------------

Dengan menggunakan pernyataan-pernyataan yang sudah dibahas di atas, program untuk itu adalah seperti ditunjukkan di bawah.

Program-4.1: bbm.c

Code:

#include 

int liter, solar, premium, super;

main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
ulangi:
solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
liter++;
if (liter <= 10) goto ulangi; printf("---------------------------\n"); }

E. Pernyataan switch-case-default
Pernyataan switch-case-default merupakan perluasan dari pernyataan if-else yang memungkinkan adanya kondisi yang beragam. Bentuk umum pernyataan ini adalah:

switch (ekspresi)
{ case eks_1:
[stat_1;
...
break;]

case eks_2:
[stat_2;
...
break;]

...

[default:
stat_n;
...
break;]
}

Pernyataan stat_1 dan seterusnya akan dilakukan jika ekspresi = eks_1. Pernyataan stat_2 dan seterusnya akan dilakukan jika ekspresi = eks_2. Pernyataan stat_n dan seterusnya akan dilakukan jika ekspresi tidak sama dengan pengujian sebelumnya.

Sebagai contoh, katakanlah kita memiliki kode barang (kb) dan akan menetapkan nama barang (nb) serta jenis barang (jb) berdasarkan kode barang tersebut. Nama barang adalah CPU, CRT, LCD, MS Office, Norton Anti Virus, dan PhotoShop untuk kode barang 1, 2, 3, 4, 5, dan 6. Sementara jenis barang adalah Hardware untuk kode barang 1, 2, dan 3 atau Software untuk kode barang 4, 5, dan 6.


code:

switch (kb)
{ case 1:
strcpy(nb, "CPU");
strcpy(jb, "Hardware");
break;
case 2:
strcpy(nb, "CRT");
strcpy(jb, "Hardware");
break;
case 3:
strcpy(nb, "LCD");
strcpy(jb, "Hardware");
break;
case 4:
strcpy(nb, "MS Office");
strcpy(jb, "Software");
break;
case 5:
strcpy(nb, "Norton Anti Virus");
strcpy(jb, "Software");
break;
case 6:
strcpy(nb, "PhotoShop");
strcpy(jb, "Software");
break;
default:
strcpy(nb, "Nama barang belum ditetapkan");
strcpy(jb, "Jenis barang belum ditetapkan");
break;
}


Penggunaan beberapa case untuk mengerjakan pernyataan yang sama dapat dilakukan seperti contoh berikut.

switch (kb)
{ case 1:
strcpy(nb, "CPU");
break;
case 2:
strcpy(nb, "CRT");
break;
case 3:
strcpy(nb, "LCD");
break;
case 4:
strcpy(nb, "MS Office");
break;
case 5:
strcpy(nb, "Norton Anti Virus");
break;
case 6:
strcpy(nb, "PhotoShop");
break;
default:
strcpy(nb, "Nama barang belum ditetapkan");
break;
}

switch (kb)
{ case 1:
case 2:
case 3:
strcpy(jb, "Hardware");
break;
case 4:
case 5:
case 6:
strcpy(jb, "Software");
break;
default:
strcpy(jb, "Jenis barang belum ditetapkan");
break;
}



F. Pernyataan while
Pernyataan while digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi tertentu terpenuhi. Bentuk umum pernyataan ini adalah:

while (ekspresi) statement;

Di mana ekspresi adalah ekspresi ordinal (mengembalikan nilai bilangan bulat). Statement akan dilakukan secara berulang selama ekspresi bernilai bukan 0. Algoritma pernyataan ini adalah:

ulangi:
if (ekspresi)
statement;
goto ulangi;
endif

Berikut ini adalah penggunaan pernyataan while untuk menggantikan pernyataan if dan goto di dalam Program 4.1.

Code:

#include 

int liter, solar, premium, super;

main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
while (liter <= 10) { solar = liter * 250; premium = liter * 385; super = liter * 450; printf("%5d %5d %5d %5d\n", liter, solar, premium, super); liter++; } printf("---------------------------\n"); }

G. Pernyataan do-while
Pernyataan do-while pada dasarnya sama dengan pernyataan while, yaitu digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi tertentu terpenuhi, cuma letak pengujian kondisinya adalah di akhir pernyataan tersebut. Bentuk umum pernyataan ini adalah:

do statement; while (ekspresi);

Di mana ekspresi adalah ekspresi ordinal (mengembalikan nilai bilangan bulat). Statement akan dilakukan secara berulang selama ekspresi bernilai bukan 0. Algoritma pernyataan ini adalah:

ulangi:
statement;
if (ekspresi)
goto ulangi;
endif

Berikut ini adalah penggunaan pernyataan do-while untuk menggantikan pernyataan if dan goto di dalam Program 4.1.

Code:

#include 

int liter, solar, premium, super;

main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
do
{ solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
liter++;
} while (liter <= 10) printf("---------------------------\n"); }

H. Pernyataan for
Pernyataan for pada dasarnya sama dengan pernyataan while, yaitu digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi tertentu terpenuhi, cuma di dalamnya terdapat pernyataan untuk pra dan pasca pelaksanaan statement. Bentuk umum pernyataan ini adalah:

for ([prestatement]; [ekspresi]; [poststatement]) statement;

Algoritma pernyataan ini adalah:

.
prestatement;
ulangi:
statement;
poststatement;
if (ekspresi)
goto ulangi;
endif

Berikut ini adalah penggunaan pernyataan for untuk menggantikan pernyataan if dan goto di dalam Program 4.1.

Code:

#include 

int liter, solar, premium, super;

main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
for (liter = 1; liter <= 10; liter++) { solar = liter * 250; premium = liter * 385; super = liter * 450; printf("%5d %5d %5d %5d\n", liter, solar, premium, super); } printf("---------------------------\n"); }

Pernyataan liter=1 dapat ditetapkan sebagai prestatement dan pernyataan liter++ sebagai poststatement. Dengan begitu maka itu dapat dituliskan dengan menggunakan pernyataan for secara lebih sederhana.

I. Pernyataan break dan continue
Pernyataan break digunakan untuk mengontrol alur program dalam pernyataan switch-case-default, while, do-while, dan for, yaitu untuk berpindah ke pernyataan berikutnya.

Pernyataan continue digunakan untuk mengontrol alur program pada iterasi berikutnya di dalam pernyataan while, do-while, dan for di mana dia berada.


Rabu, 22 September 2010

#KOnfigurasi wireless acces point

Selasa, 07 September 2010

#Rubik Solving

Twitter Delicious Facebook Digg Stumbleupon Favorites More