Friday, December 7, 2012

makalah dasar-dasar pemrogram ke 2




BAB 1

PENDAHULUAN


1.1   Latar Belakang

Bahasa C merupakan salah satu bahasa pemrogaman komputer yang bersifat prosedural. Bahasa C berasal dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Kemudian berdasar pada bahasa BCPL ini Ken Thompson yang bekerja di Bell Telephone Laboratories (Bell Labs) mengembangkan bahasa B pada tahun 1970. Saat itu bahasa B telah berhasil diimplementasikan di komputer DEC PDP-7 dengan operating system (OS) UNIX. Pada tahun 1972, peneliti lain di Bell Labs bernama Dennis Ritchie menyempurnakannya menjadi bahasa C. Bahasa C dilahirkan di Bell Telephone Laboratories (atau sering disebut sebagai Bell Labs saja). ‎Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari Bell Labs. Pada tahun 1947, ‎transistor ditemukan di Bell Labs. Untuk beberapa tahun, ada sebuah bahasa pemrograman ‎yang sangat dekat dengan sistem operasi UNIX, yang disebut dengan bahasa C, yang didesain oleh Dennis ‎Ritchie dan Brian Kernighan. Mengapa disebut hanya C saja? Bahasa C disebut demikian mengingat ‎bahasa tersebut adalah turunan dari bahasa B, dan bahasa B merupakan pemendekan dari Basic CPL, ‎sementara CPL sendiri adalah sebuah bahasa pemrograman yang merupakan singkatan dari Combined ‎Programming Language.‎

Pada tahun 1978, Dennis Ritchie bersama dengan Brian Kernighan mempublikasikan buku yang kemudian menjadi legenda dalam sejarah perkembangan bahasa C, yang berjudul The C Programming Language. Buku ini diterbitkan oleh Prentice Hall, dan pada saat ini telah diterjemahkan dalam berbagai bahasa di dunia. Boleh dikatakan bahwa buku ini adalah buku yang paling banyak direfer orang dan dijadikan buku panduan tentang pemrograman bahasa C sampai saat ini. Teknik dan gaya penulisan bahasa C yang merefer kepada buku ini kemudian terkenal dengan sebutan K&R C atau Classic C atau Common .Seiring dengan berkembang pesatnya bahasa C, banyak vendor mengembangkan kompiler C menurut versi masing-masing. Hal ini menggerakkan ANSI (American National Standards Institute) pada tahun 1983 untuk membuat suatu komite yang kemudian diberi nama X3J11, yang betujuan untuk membuat definisi standar bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax dan grammar bahasa C. Usaha ini berhasil diselesaikan 5 tahun kemudian, yaitu ditandai dengan lahirnya standard ANSI untuk bahasa C yang kemudian terkenal dengan sebutan ANSI C pada tahun 1988. Sampai saat ini, bahasa C telah berhasil digunakan untuk mengembangkan berbagai jenis permasalahan pemrograman, dari level operating system (unix, linux, ms dos, dan sebagainya), aplikasi perkantoran (text editor, word processor, spreadsheet, dan sebagainya), bahkan sampai pengembangan sistem pakar (expert system).

Salah satu bagian ‎yang paling canggih dari bahasa C adalah bahwa bahasa C memiliki pointer, selain tentunya variabel ‎dan konstanta. Istilah Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori yang ‎mengizinkan para programmer untuk melakukan beberapa tugas secara jauh lebih efisien, dengan ‎melibatkan bit, byte, dan word memori. Karenanya, banyak orang menyebut bahasa C sebagai High-level ‎Assembly language, atau bahasa rakitan tingkat tinggi. Meskipun bahasa C masih merupakan bahasa pemrograman yang populer, bahasa ‎tersebut saat ini dapat dikatakan telah kadaluwarsa. Saat ini, bahasa tersebut diklasifikasikan ‎ke dalam bahasa pemrograman prosedural tradisional (traditional procedural programming language), sebuah istilah yang merujuk kepada ‎struktur program-program dalam bahasa C. Umumnya sebuah program bahasa C terdiri atas ‎banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang ‎setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu ‎atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur tersebut dapat ‎bekerja dengan data dalam beberapa cara. Data adalah kumpulan angka atau teks atau bahkan ‎gabungan antara keduanya.




1.2   Identifikasi Masalah
Berdasarkan latar belakang diatas, maka identifikasi masalah sebagai berikut:
1. Sebagian orang belum mengenal bahasa pemrograman  C.
2. Seberapa pentingkah bahasa C dalam pemrograman.
3. Apakah kelebihan dan kekurangan bahasa C.


1.3    Tujuan Penulisan

Tujuan penlisan makalah ini sebagai berikut:
1.   Untuk mengetahui Sejarah Bahasa C.
  1. Untuk mengenal lebih jauh bahasa pemrograman C.
  2. Untuk memudahkan dalam pembuatan dan pengembangan program.
  3. Dan untuk mengetahui seputar pembahasan yang menyangkut dalam bahasa pemrograman C.


1.4   Manfaat Penulisan
Penulisan ini bermanfaat sebagai berikut:
1.      Sebagai sumbangan pemikiran dan bahan masukan kepada para pembaca, khususnya mahasiswa Teknik Komputer sehingga dapat meningkatkan pengetahuan mengenai bahasa pemrograman C.
2.      Secara teoritis, hasil makalah ini diharapkan dapat menambah kekayaan di bidang bahasa pemrograman, khususnya mengenai bahasa C.





BAB 2

PEMBAHASAN


2.1   Mengenal Bahasa Pemrograman C

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


2.1.1        Karakter

Yang termasuk karakter diantaranya adalah 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 _.

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.

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

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

Operator (lambang-operasi) adalah simbol-simbol, baik berupa satu atau beberapa karakter, yang menetapkan bagaimana suatu nilai dimanipulasi. itu adalah:
!  ~  -  +  *  /  %  <  >  =  |  ^  '  ++  --  -=  +=  /=  %=  <<  >>  == !=  <=  >=  |=  &&  || ?:  &=  ^=  <<=  >>=.

2.1.3   Konstanta

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

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



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

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

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



6. 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 ini, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:
far  near  huge  cdecl  pascal.

2.2   Jenis Data, Konstanta, Variabel, Lambang Operasi dan Ekspresi
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).

2.2.1   Jenis Data Utama
Pada dasarnya C hanya mengenal empat jenis kata, yaitu char, int, float, dan double. Suatu jenis data menetapkan suatu rentang nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4) 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

                        
                 
              
   
                
   
                                 
2.2.2   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 ini akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.
Program : SALAM.C
Code:
#include <stdio.h>
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.
 
 
2.2.3          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 berikut.
 
Tabel 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
                                  
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
                                            
2.2.4          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 berikut.
Tabel Operator Hubungan
Code:
Operator
Operasi
==
Sama dengan
!=
Tidak sama dengan
< 
Lebih kecil
> 
Lebih besar
<=
Lebih kecil atau sama
>=
Lebih besar atau sama
          
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<2=0
2<=5-3
2<=2=-1
10*2==5*4
20==20=-1
              
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.

Code:


Ekspresi
Tahap pelaksanaan
2<3&&4<5
benar && 4 < 5
benar && benar
benar
10*2&&5<4
20 && 5 < 4
benar && salah
salah
10*2||5<4
20 || 5 < 4
benar || salah
benar
      
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 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.
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
   
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.
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.

2.3   Pernyataan-pernyataan
2.3.1   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 ( : ).

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

2.3.3   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;
    ...
}

2.3.4   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.
Program-4.1: bbm.c

Code:

#include <stdio.h>
 
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");
}
 
2.3.5   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;
}
 
2.3.6   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 <stdio.h>
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");
}
 
2.3.7   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 <stdio.h>
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");
}
 
 
2.3.8   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.1i.

Code:

#include <stdio.h>
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.

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

2.4   Kelebihan dan Kelemahan
2.4.1   Kelebihan
1. Bahasa C tersedia hampir di semua jenis Komputer
2. Kode bahasa C sifatnya adalah Portabel (dapat digunakan disemua jenis komputer).
3. Bahasa C hanya menyediakan sedikit kata-kata kunci
4. Proses executable program lebih cepat
5. Dukungan pustaka yang banyak
6.C bahasa pemrograman yang terstruktur dan merupakan bahasa tingkat     tinggi,namun dapat pula dikatakan sebagai bahasa tingkat menengah karena mempunyai kemampuan seperti bahasa low level (tingkat rendah).
2.4.2          Kelemahan
Bahasa C merupakan bahasa yang cukup sulit dimengerti dalam hal sintaksnya.

 BAB 3

TEORI



3.1 Output dan Input

Untuk dapat memberikan data baru kepada komputer dan menampilkan hasil pengolahan yang dilakukan , diperlukan fungsi output dan input. Selain itu, fungsi-fungsi standar ini juga berguna untuk membuat program menjadi interaktif untuk berkomunikasi dengan pemakai.


3.1.1 Output

Salah satu fungsi output adalah printf(). Fungsi printf() digunakan untuk mengubah, memformat dan mencetak argumen pada alat output standar di bawah pengendalian format yang ditentukan oleh penentu format. Argumen yang diberikan pada fungsi printf() diapit oleh tanda kurung dan tanda petik dua (“…”) dan diakhiri dengan tanda titik koma (;). Contoh :
            printf(“Biodata Saya”);
            printf(“Nama   : RIO PRAWIRA”);
            printf(“NIM     : 112406238”);
            printf(“Kelas    : KOM E”);


3.1.2 Input

Salah satu fungsi input adalah scanf(). Fungsi scanf() adalah sebuah fungsi input yang memberikan banyak fasilitas konversi. Fungsi scanf() membaca karakter-karakter yang diberikan melalui peralatan input standar, mengkonversinya kenilai variabel sesuai dengan spesifikasi yang diberikan dalam penentu format. Contoh :
            scanf(“%i”, &a);
            scanf(“%d, %d, %d”, &m, &n, &o);
            scanf(“%f”, &z);


BAB 4
PENUTUP


4.1 Kesimpulan
Bahasa C adalah bahasa yang standar artinya suatu program yang ditulis
dengan versi b
ahasa C tertentu akan dapat di kompilasi dengan versi
bahasa C yang lain dengan sedikit modifikasi. Kode bahasa C sifatnya adalah portable dan didukung dengan pustaka yang banyak. Selain itu bahasa pemrograman C memilki karakteristik lain seperti : hemat ekspresi, alur kontrol, menggunakan struktur data modern, dan kaya dengan operator. C bisa disebut bahasa pemrograman tingkat menengah (middle level programming language). Namun dalam perspektif mudahnya dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada pada bahasa tingkat rendah, misalnya operasi bit, operasi byte, pengaksesan memori, dan sebagainya.

4.2 Saran
Bahasa pemrograman C perlu di mantapkan lagi, karena bahasa C masih memiliki kekurangan seperti dalam hal sintaks-sitaksnya bahasa C cukup sulit dimengerti. Bahasa pemrograman C juga perlu di kembangkan lagi agar lebih memberikan kemudahan bagi pemrogram pemula dalam memahami bahasa pemrograman C.


1 comments:

Borgata, Atlantic City | Dr.MD
Borgata Hotel Casino & Spa is Atlantic City's favorite spot for fun 동두천 출장마사지 and relaxation. The Spa offers 논산 출장마사지 the finest in luxurious and 안산 출장샵 tranquil settings. Rating: 4.1 · ‎6,612 계룡 출장샵 reviews 삼척 출장샵

Post a Comment

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More