seleksi kondisi dalam bahasa c

161 views
Skip to first unread message

Deni_MI K_10510926

unread,
Oct 21, 2010, 6:17:43 AM10/21/10
to MI-K-1011
SELEKSI KONDISI DALAM BAHASA C

Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin
Richards pada tahun 1967. Bahasa ini memberikan ide pada Ken Thompson
yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun
1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang
ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone
Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C
pertama kali digunakan pada komputer Digital Equipment Corporation
PDP-11 yang menggunakan sistem operasi UNIX.


Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi,
kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis
dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa
ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi
tersebut menjadi standar, ANSI (American National Standard Institutes)
membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang
kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini
didasarkan kepada standar UNIX yang diperluas.


Bahasa C mempunyai kemampuan lebih dibanding dengan bahasa pemrograman
yang lain. Bahasa C merupakan bahasa pemrograman yang bersifat
portabel, yaitu suatu program yang dibuat dengan bahasa C pada suatu
komputer akan dapat dijalankan pada komputer lain dengan sedikit (atau
tanpa) ada perubahan yang berarti.

Bahasa C merupakan bahasa yang biasa digunakan untuk keperluan
pemrograman sistem, antara lain untuk membuat:
1. Assembler
2. Interpreter
3. Compiler
4. Sistem Operasi
5. Program bantu (utility)
6. Editor
7. Paket program aplikasi

Beberapa program paket yang beredar seperti dBase dibuat dengan
menggunakan bahasa C, bahkan sistem operasi UNIX juga dibuat dengan
menggunakan bahasa C. Bahasa C sesungguhnya merupakan bahasa
pemrograman yang serbaguna dan pemakaiannya tidak terbatas untuk
pemrograman sistem, namun juga dapat digunakan untuk aplikasi bisnis,
matematis maupun games, bahkan untuk aplikasi kecerdasan buatan.


Dalam beberapa literatur, bahasa C digolongkan sebagai bahasa tingkat
menengah (medium level language). Penggolongan ini bukan berarti
bahasa C kurang ampuh atau lebih sulit dibandingkan dengan bahasa
tingkat tinggi (high level language - seperti Pascal, Basic, Fortran,
Java, dan lain-lain), namun untuk menegaskan bahwa bahasa C bukanlah
bahasa yang berorientasi pada pada mesin yang merupakan ciri dari
bahasa tingkat rendah (low level language), yaitu bahasa mesin dan
assembly.


Pada kenyataannya, bahasa C mengkombinasikan elemen dalam bahasa
tingkat tinggi dan bahasa tingkat rendah, yaitu kemudahan dalam
membuat program yang ditawarkan pada bahasa tingkat tinggi dan
kecepatan eksekusi dari bahasa tingkat rendah.


1. Kelebihan dan Kelemahan bahasa C
Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa
pemrograman yang lain, yaitu:

1. C mempunyai operator yang lengkap untuk memanipulasi data.
2. Berbagai struktur data dan pengendalian proses disediakan dalam C,
sehingga memungkinkan dibuat program yang terstruktur, bahkan program
yang berorientasi pada objek (OOP = Object Orientied Programming).
3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih
mudah dipahami dan pemrogram tidak perlu tahu detail mesin komputer
yang digunakan sehingga tidak menyita waktu dalam menyelesaikan
masalah ke dalam bentuk program. C merupakan bahasa yang berorientasi
pada permasalahan (objek), dan bukan berorientasi pada mesin.
4. Kecepatan eksekusi C mendekati kecepatan eksekusi program yang
dibuat dengan bahasa tingkat rendah, namum kemudahan dalam memprogram
setara dengan bahasa tingkat tinggi.
5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte
secara efisien. Disamping itu juga memungkinkan untuk melakukan
manipulasi alamat dari suatu data yang dalam C dinamakan pointer.
6.
Adapun kelemahan --atau lebih tepatnya kesulitan bahasa pemrograman C
terutama yang dirasakan oleh pemrogram pemula diantaranya adalah:
a. Banyaknya operator serta fleksibilitas penulisan program kadang-
kadang membingungkan pemakai, yang jika belum familiar akan
menimbulkan masalah.
b. Para pemrogram C tingkat pemula umumnya belum pernah mengenal
pointer dan tidak terbiasa menggunakannya, padahal keampuhan bahasa C
justru terletak pada pointer.
Namun kesulitan di atas biasanya hanya bersifat sementara saja.

2. Fungsi Penyusun Bahasa C
Program bahasa C pada hakikatnya tersusun atas sejumlah blok fungsi.
Sebuah program minimal mengandung sebuah fungsi yaitu fungsi utama
( main() ). Setiap fungsi terdiri dari satu atau beberapa pernyataan
yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus.
Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan
tanda kurung kurawal buka ( { ) dan diakhiri dengan tanda kurung
kurawal tutup ( } ). Namun dalam kenyataannya suatu fungsi bisa saja
tidak mengandung pernyataan sama sekali, seperti yang diperlihatkan
pada contoh berikut:

Main()
{
}

Walaupun fungsi tidak mempunyai pernyataan, namun kurung kurawal harus
tetap ada, karena mengisyaratkan awal dan akhir definisi fungsi.
Secara umum suatu fungsi mempunyai bentuk sebagai beriku:

Nama-fungsi (daftar parameter)
Deklarasi parameter;
{
Tubuh Fungsi
}

3. Fungsi main()
Pada program bahasa C, main() merupakan fungsi yang istimewa, karena
fungsi main harus selalu ada dalam program, sebab fungsi inilah yang
menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal
fungsi menyatakan awal tubuh fungsi dan sekaligus awal program,
sedangkan tanda } di akhir tubuh fungsi menyatakan akhir dari tubuh
fungsi sekaligus akhir eksekusi program. Jika program lebih dari satu
fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas
dalam pendefinisian fungsi, untuk memudahkan pencarian program utama.

4. Fungsi printf()
Fungsi printf() merupakan fungsi yang umum digunakan untuk menampilkan
suatu keluaran program pada layar penampil (monitor). Untuk
menampilkan tulisan Selamat Datang maka pernyataan yang diperlukan
berupa:

printf("Selamat Datang");
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen/
parameter berupa string "Selamat Datang". Dalam C suatu konstanta
string ditulis dengan diawali dan diakhiri tanda petik ganda (").
Pernyataan dalam bahasa C selalu diakhiri dengan titik koma ( ; ),
yang dipakai sebagai pemberhentian pernyataan dan bukanlah sebagai
pemisah antara dua pernyataan.

Contoh berikut adalah contoh program yang agak lengkap:

#include
main()
{
printf("Selamat datang di program bahasa C");
}

Jika program dieksekusi maka akan menghasilkan keluaran string Selamat
darang di program bahasa C.

5. Praprosesor #include
Pada contoh program sebelumnya terdapat baris yang berisi #include :
1. #include merupakan salah satu jenis pengarah praprosesor yang
digunakan untuk memberitahu kompiler agar dalam proses linking membaca
file yang dinamakan file judul (header file), yaitu file yang
diantaranya berisi deklarasi fungsi dan definisi konstanta.
2. Bahasa C menyediakan beberapa file judul yang ditandai dengan
ekstensi .h. Misal, pada program di atas, #include menyatakan pada
kompiler agar membaca file bernama stdio.h saat melakukan kompilasi.

3. Bentuk umum #include: #include atau #include "namafile"

4. Bentuk pertama ( #include ) mengisyaratkan bahwa pencarian file
dilakukan pada direktori khusus (direktori file include), yang
merupakan default direktori file-file judul yang disediakan oleh
bahasa pemrograman.

5. Bentuk kedua ( #include "namafile" ) menyatakan bahwa pencarian
file dilakukan pertama kali pada direktori aktif tempat program
sumber, dan seandainya tidak ditemukan pencarian akan dilanjutkan pada
direktori lainnya sesuai dengan perintah pada sistem operasi (yaitu
path).

6. Kebanyakan program melibatkan file stdio.h, yaitu file judul I/O
standar yang disediakan dalam C, yang diperlukan untuk program-program
yang menggunakan pustaka fungsi I/O standar seperti printf().


Kondisi di bahasa C

Kondisi dalam bahasa C ada dua macam yaitu if dan switch
pernyataan if mempunyai bentuk :

if(kondisi)

pernyataan;

Bentuk ini menyatakan :

• jika kondisi yang di seleksi adalah benar (bernilai logika = 1),
maka pernyataan yang mengikutinya akan di proses.

• Sebaliknya, jika kondisi yang di seleksi tidak benar (bernilai
logika = 0), maka pernyataan yang mengikutinya tidak akan di proses.
Mengenai kondisi harus di tulis di dalam tanda kurung, sedangkan
pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk
atau pernyataan kosong.
Untuk pernyataan majemuk harus di tulis seperti :


if(kondisi){
pernyataan1;
pernyataan2;
pernyataan3;
}
terdapat tanda kurung sebelum dan sesudah pernyataan
pernyataan if-else mempunyai bentuk :

if(kondisi)
pernyataan1;
else
pernyataan2;

• jika kondisi benar, maka pernyataan-1 di jalankan.

• Sedangkan bila kondisi salah, maka pernyataan-2 yang di jalankan
pernyataan if di dalam if
bentuk umum :

if(kondisi-1)
{
if(kondisi-2)
{
_
_
if(kondisi-n)
pernyataan;
else
{
pernyataan;
_
_
}
}
else
pernyataan;
}
else

pernyataan;
pernyataan else-if (neested if) di gunakan apabila kondisi lebih dari
2
pernyataan switch

pernyaatan switch merupakan pernyataan yang di rancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah alternatif,
misalnya untuk menggantikan pernyataan if bertingkat.

Bentuk umum :

switch(ekspresi)
{
case kontanta-1:
pernyataan;
………
break;
case kontanta-2:
……..
…….
break;
case konstanta-n;
…..
break;
default:
…..
break;
}



Seleksi
Untuk membuat program kita dapat mengambil keputusan atau memilih dari
sekian pilihan pada kondisi tertentu. Sintaks seleksi yang
dipelajari :
 if
 switch

Contoh pemakaian if
#include <stdio.h>

void main(){
int a = 100;
if ( a > 50 ){
printf(“Nilai a lebih besar dari 50\n”);
}
else {
printf(“Nilai a tidak lebih kecil atau sama dengan 50\n”);
}
}

Hasil :
Nilai a lebih besar dari 50


Contoh pemakaian switch :
#include <stdio.h>

void main(){
int a = 3;
switch(a){
case 1 : printf(“ini merupakan case pertama\n”);
break;
case 2 : printf(“ini merupakan case kedua\n”);
break;
case 3 : printf(“ini merupakan case ketiga\n”);
break;
case 4 : printf (“ini merupakan case keempat\n”);
break;
default : printf(“ini merupakan case lain\n”);
break;
}
}

Hasil :
ini merupakan case ketiga

Penjelasan :
if maupun switch lalu membandingkan di dalam kondisinya apakah TRUE
atau FALSE. Contoh pada if, dia membandingkan nilai dengan 50. Apakah
nilai a lebih besar dari 50? Ternyata benar maka TRUE. Jika TRUE dia
akan masuk ke bagian yang “Nilai a lebih besar dari 50”.
Misalkan,ternyata nilai a tidak kurang dari 50 maka dia akan masuk ke
bagian “Nilai a tidak lebih besar dari 50”.
switch menggunakan cara kerja yang lebih berbeda sedikit. Pertama dia
akan melihat nilai dalam kurung switch-nya. Contoh disini berarti dia
akan melihat nilai a berapa. Kemudia switch akan mencocokkan nilai
dengan case yang ada. Jika ternyata ada case yang sesuai dengan
nilainya dia akan masuk .Dalam contoh ini case menemukan nilai 3
(soalnya nilai a 3) maka dia masuk ke dalam case 3. Andaikan nilai a
10, maka yang dimasuk adalah case default. Itu merupakan case yang
selain tertera di dalam switch.


Fungsi – fungsi yang membantu

 Membuat angka acak:
Perlu : #include <stdlib.h>
#include <time.h>
Contoh: random(100);
Efek : Nilai a bisa saja bernilai antara 0 sampai 99.
Catatan :Ingat untuk menambahkan randomize(), cukup sekali saja.

 Menghitung panjang karakter :
Perlu : #include <string.h>
Contoh : a = strlen(“abcdef”);
Efek : Nilai a adalah 6

 Mengcopy string :
Perlu : #include <string.h>
Contoh : char kata[30] = “Hallo Semua”;
char kata2[30];
strcpy(kata2,kata); //untuk string tidak bisa menggunakan  kata2 =
kata;
Efek : Nilai kata2 adalah Hallo Semua

 Membandingkan 2 string :
Perlu : #include <string.h>
Contoh : char kata[30] = “Hallo Semua”;
char kata2[30] = “Hallo Semua”;
strcmp(kata2,kata);
Efek : kalau sama maka dia akan mengembalikan nilai 0
Catatan : Untuk membandingkan apakah kata dan kata2 bernilai sama

 Membuat huruf kecil :
Perlu : #include <ctype.h>
Contoh : c = tolower(‘D’);
Efek : c berisi huruf ‘d’

 Membuat huruf kapital :
Perlu : #include <ctype.h>
Contoh : c = toupper(‘d’);
Efek : c berisi huruf ‘D’

 Membuat huruf menjadi angka
Perlu : #include <stdlib.h>
Contoh : char nim[10] = “12345”;
i = atoi (nim);
Efek : i menjadi berisi dalam bentuk angka 12345



 Membuat angka menjadi huruf
Perlu : #include <stdlib.h>
Contoh : int angka =12345;
char nim[10];
itoa (angka, nim, 10);
Efek : Variable nim akan berisi “12345” dalam bentuk string.
Catatan : 10 itu merupakan basis desimal. Jadi kalau kita mau ubah
12345 menjadi basis hexadecimal kita bisa ganti 10 menjadi 16. Kalau
ubah jadi biner, pakai 2. Octal pakai angka 8.

 Menyambung string dengan string
Perlu : #include <string.h>
Contoh : char kata1[50] = “Hallo “;
char kata2[50] = “semuanya!”;
strcat(kata1,kata2);
printf(“%s”,kata1);
Efek : Variabel kata1 berisi “Hallo semuanya!”

 Mengambil kata per kata
Perlu : #include <string.h>
Contoh : char kata[50] = “pensil$penghapus$penggaris”;
char *ptr;

ptr = strtok(kata, “$”);
printf(“%s”, ptr);

while(1){
ptr = strtok (NULL, “$”);
if (ptr==NULL) break;
printf(“%s\n”, ptr);
}
Efek : pensil
penghapus
penggaris


Reply all
Reply to author
Forward
0 new messages