Pengikut

Rabu, 08 Juni 2016

Pemrograman Bahasa C (bagian I)










4.1.    Tujuan Percobaan


Modul IV Pemrograman Bahasa C ( bagian I )

1.       Praktikan dapat menerapkan konsep algoritma dan flowchart ke dalam bahasa C
2.       Praktikan dapat menjelaskan library dalam bahasa C
3.       Praktikan dapat menjelaskan tipe data dan format data dari bahasa C
4.       Praktikan dapat menjelaskan dasar input output bahasa C
5.       Praktikan dapat mengerti dan mengimplementasikan konsep penyeleksian kondisi dan perulangan dalam bahasa C

4.2.    Materi Percobaan

Bahasa C merupakan evolusi dari bahasa BCPL yang dibuat oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa B pada tahun 1970. Selanjutnya dikembangkan kembali menjadi bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang bernama AT&T Bell Laboratories). Bahasa C pertama kali digunakan di Computer Digital Equipment Corporation PDP-11 dengan sistem operasi UNIX. Hingga saat ini, hampir semua perguruan tinggi di dunia menjadikan bahasa C sebagai salah satu matakuliah wajib. Selain itu, banyak bahasa pemrograman populer seperti PHP dan Java menggunakan sintaks dasar yang mirip bahasa C. Oleh karena itu, kita juga sangat perlu mempelajarinya.
Beberapa alasan mengapa bahasa C banyak digunakan diantaranya adalah sebagai berikut.
1.       Bahasa C tersedia hampir di semua jenis komputer.
2.       Bahasa C hanya menyediakan sedikit kata kunci.
3.       Dukungan library yang banyak.
4.       Bahasa C memiliki struktur yang baik sehingga mudah dipahami



4.2.1.        Algoritma

Algoritma adalah langkah-langkah yang logis dan sistematis untuk menyelesaikan suatu masalah. Berikut ini adalah contoh algoritma untuk menghitung luas segitiga:
1.       Mulai
2.       Masukkan nilai tinggi
3.       Masukkan nilai alas
4.       Hitung luas dengan rumus luas = alas * tinggi / 2
5.       Tulis hasil perhitungan luas
6.       Selesai
Dalam pemrograman terdapat berbagai macam algoritma untuk mengolah data. Misalnya, algoritma mengurutkan data, mencari data, geometri, menggambar grafik, perhitungan matematika, pengolahan data paralel, dan lain-lain.

4.2.2.        Flowchart

Flowchart adalah suatu struktur yang menggambarkan proses algoritma. Berikut merupakan beberapa contoh bangun yang digunakan dalam flowchart.
Bentuk Bangun
Keterangan


Terminal awal dan akhir proses


Input dan output data


Percabangan





Terminal untuk berpindah dalam satu halaman


Terminal untuk berpindah ke halaman lain

Arah proses



Berikut adalah contoh flowchart dari algoritma perhitungan luas segitiga di atas.


4.2.3.        Orwell Dev-C++

Orwell Dev-C++ merupakan IDE untuk bahasa pemrograman C/C++. Untuk informasi lebih lanjut mengenai Orwell Dev-C++, silahkan cari referensinya di internet.
Setelah selesai meng-install Orwell Dev-C++, harap lakukan langkah berikut.



1.      



Pilih Tools > Compiler Options...
2.       Centang “Add the following commands when calling the compiler:” dan tambahkan –std=c99 pada kolom teks di bawahnya.



4.2.4.        Tinjauan Umum Bahasa C dan Program Komputer

Bahasa C merupakan bahasa pemrograman komputer yang di-compile menggunakan program komputer lain yang disebut compiler. Sebuah kode sumber (source code; kode yang ditulis langsung oleh seorang pemrogram dalam suatu bahasa pemrograman) akan diubah menjadi bahasa mesin oleh compiler agar komputer dapat mengerti dan menjalankan program yang pemrogram tulis.





4.2.5.        Struktur Dasar Bahasa C

Struktur dasar dari bahasa C dapat dilihat sebagai kumpulan dari sebuah atau lebih fungsi-fungsi. Fungsi yang harus ada adalah fungsi main(). Fungsi ini akan menjadi titik awal program dimulai. Fungsi dalam bahasa C dibuka dengan kurung kurawal buka ( { ) dan ditutup kurung kurawal tutup ( } ). Di antara dua kurung kurawal tersebut adalah tempat untuk menulis statement (perintah-perintah) program bahasa C.
Library merupakan sekumpulan kode-kode yang dituliskan oleh seseorang untuk membantu mempermudah menulis program. Di dalamnya terdapat fungsi-fungsi siap pakai. Kita dapat menggunakan library ini dengan menyebutkan file header library yang diinginkan menggunakan format #include <nama_library.h> atau #include “nama_library.h”. Meng-include library sama seperti memasukkan atau menulis kode-kode yang ada di library tersebut di tempat library tersebut di-include.
Bahasa C merupakan bahasa yang case-sensitive, artinya huruf kapital dan huruf kecil dibedakan. Fungsi Main() berbeda dengan main() dan mAiN(). Ini berlaku pula untuk nama variabel.






Berikut adalah struktur bahasa C berdasarkan penjelasan di atas.

Susunan bisa diacak, karena bahasa C tidak mengatur kolom penulisan untuk statement tertentu. Jadi, meng-include library tidak harus dilakukan di bagian paling awal dari file kode. Setiap statement atau perintah harus di akhiri titik koma ( ; ). Untuk mempermudah membaca kode program ketika melakukan debugging, sebaiknya penulisan bahasa C diatur sedemikian rupa dan berikan dokumentasi dengan menggunakan komentar. Komentar merupakan bagian kode yang diabaikan oleh compiler (tidak akan dijadikan program komputer), dibuat untuk keperluan pemrogram dalam memberi keterangan mengenai kode yang ditulisnya. Komentar bisa dibuat dengan dua cara, yaitu dengan garis miring ganda ( // ) untuk komentar satu baris, dan pasangan garis miring bintang ( /* */ ) untuk komentar lebih dari satu baris atau untuk mengomentari sebagian kode. Contohnya adalah sebagai berikut.



TIPE DATA. Dalam bahasa C terdapat beberapa tipe data. Secara umum ada tipe data huruf dan bilangan. Bilangan terbagi atas bilangan bulat dan real. Efisiensi program dapat ditunjukkan dalam pemilihan tipe data yang tepat.
Tipe Data
Ukuran (Byte)
Rentang / Jangkauan
Simbol Format
Keterangan
char

1
-128 sampai 127

%c
Karakter/huruf
unsigned Char
0 sampai 255
float
4
1.2E-38 sampai 3.4E+38
%f
Bilangan real (desimal)
double
8
2.3E-308 sampai 1.7E+308
%f
Bilangan real (desimal)
int
4
-32768 sampai 32767
%d atau %i
Bilangan bulat
unsigned int
4
0 sampai 6535
%u
Bilangan bulat positif (tanpa tanda)
void
0
-
-
Tidak bertipe

VARIABEL, KONSTANTA, DAN KARAKTER KHUSUS. Variabel adalah suatu simbol yang mewakili suatu nilai tertentu pada sebuah program. Dalam bahasa C, variabel perlu dideklarasikan terlebih dahulu sebelum digunakan. Cara mendeklarasikannya adalah : tipe_data nama_variabel;
Misalnya,


Text Box: int x;

Seperti yang sudah disebutkan sebelumnya, variabel merupakan simbol yang mewakili suatu nilai tertentu. Maka, nilai apakah yang diwakili oleh simbol ‘x’ ketika kita mendeklarasikan x sebagai integer dengan statement di atas? Dalam kasus ini kita belum memberi x sebuah nilai untuk diwakilkan. Nilai x akan bervariasi nantinya, tergantung di mana x di deklarasikan. Pembahasan ini di luar cakupan percobaan C bagian 1. Agar program berjalan sesuai harapan, ada baiknya kita memberikan x nilai awal (insisialisasi) sebelum digunakan. Memberikan nilai untuk diwakilkan suatu simbol variabel (variable assignment) dapat dilakukan dengan cara berikut,
Text Box: x = 256;
dengan pernyataan di atas, kita memberi x sebuah nilai berupa bilangan bulat yaitu 256. Jika ingin mengubah nilai x, berikan pernyataan yang sama seperti di atas, dengan nilai yang diinginkan.






Deklarasi dan inisialisasi bisa dilakukan dalam satu pernyataan. Contohnya,
Penamaan variabel memiliki beberapa aturan, yaitu:
1.       Karakter yang diperbolehkan : garis bawah ( _ ), huruf kapital (A – Z), huruf kecil (a – z), angka (0 – 9).
2.       Spasi dan koma tidak diboleh digunakan.
3.       Karakter pertama harus huruf atau garis bawah. Tidak boleh diawali angka.
4.       Nama tidak boleh sama dengan kata kunci (keyword) bahasa C.
Konstanta merupakan variabel yang hanya bisa diberi nilai sekali (hanya bisa diinisialisasi) tidak bisa di ubah nilainya setelah nilai awal diberikan. Konstanta dapat dibuat dengan menggunakan
#define atau dideklarasikan dengan const. Contohnya,


Text Box: #define PI 3.14159
const int GRAVITASI = 10;

Dalam bahasa C ada karakter khusus yang dapat dugunakan untuk menulis karakter seperti tab, baris baru, backspace (kembali satu karakter ke belakang), dan sebagainya.
Karakter Khusus
Karakter yang diwakilkan
\a
Bunyi bel/alarm
\b
Backspace
\t
\n
Newline (Line Feed), baris baru
\v
\f
\r
\"
Tanda petik ganda
\'
Tanda petik tunggal
\?
Tanda tanya
\\
Garis miring terbalik, Backslash



OPERATOR. Bahasa C memiliki operator untuk perhitungan, pemrosesan data, perbandingan, dan sebagainya.
1.       Operator Aritmatika

Operator
Arti
+
Penambahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Sisa bagi (modulo)
2.       Operator Penugasan (assignment)

Operator
Contoh
Sama seperti
=
a=b
a=b
+=
a+=b
a=a+b
-=
a-=b
a=a-b
*=
a*=b
a=a*b
/=
a/=b
a=a/b
%=
a%=b
a=a%b
3.       Operator Hubungan (perbandingan)

Operator
Arti
Contoh
==
Bernilai sama dengan
5==3 (FALSE)
Lebih besar dari
5>3 (TRUE)
Lebih kecil dari
5<3 (FALSE)
!=
Tidak sama dengan
5!=3 (TRUE)
>=
Lebih besar dari atau sama dengan
5>=3 (TRUE)
<=
Lebih kecil dari atau sama dengan
5<=3 (FALSE)
4.       Operator Logika

Operator
Arti
Contoh
&&
Logial AND
((5==5) && (2>5)) (FALSE).
||
Logical OR
((5==5) || (2>5)) (TRUE).
!
Logical NOT
!(5==5) (FALSE).



5.       Operator Bitwise

Operator
Arti
&
Bitwise AND
|
Bitwise OR
^
Bitwise exclusive OR
~
Bitwise complement
<< 
Shift left
>> 
Shift right

KEYWORD. Bahasa C memiliki keyword atau kata kunci yang tidak boleh dipakai sebagai nama fungsi atau pun nama variabel karena digunakan untuk tipe data atau perintah-perintah pada



C. Ada 32 kata kunci, yaitu :
Pointer. Semua variabel yang sudah dideklarasikan akan diberikan suatu tempat di memori untuk menyimpan data atau nilai. Tempat-tempat di memori memiliki alamat. Variabel yang dideklarasi akan diberikan sebuah alamat di memori. Pointer merupakan variabel yang menyimpan alamat dari variabel lain, sehingga variabel pointer menunjuk tempat yang sama dengan variabel yang ditunjuknya. Karena menunjuk tempat yang sama, variabel pointer bisa mengambil nilai dari variabel yang ditunjuknya. Contoh:
Text Box: //Deklarasi variabel x dan inisialisasi dengan nilai 5
int x = 5;

//Deklarasi variabel pointer dengan nama pointer_x
int *pointer_x;

// masukkan alamat dari variabel x (bukan isi dari variabel x) dengan &x
// ke dalam variabel pointer_x
pointer_x = &x;

// cetak nilai dari pointer_x (alamat dari x) dan isi nilai dari alamat yang
// ditunjuk pointer_x (isi dari x)
printf(“pointer x = %x\n”, pointer_x); // mencetak alamat x dalam format hex
printf(“*pointer_x = %d\n”, *pointer_x); // mencetak isi dari x (5)



4.2.6.        Input Output Bahasa C

Pada bahasa C, fungsi untuk memasukkan data (input) atau mengeluarkan data (output) di antaranya adalah printf(), scanf(), puts(), gets(), putc(), dan getch(). Bentuk umumnya:
a.  printf(“kata    yang    akan    dicetak    dan    simbol-simbol    format, nama_variabel_untuk_simbol_format_1,
nama_variabel_untuk_simbol_format_2, ...);
b.  scanf(simbol format, &nama_variabel);
c.       puts(‘karakter tunggal’); dalam bahasa C, karakter tunggal diapit tanda petik tunggal, string diapit tanda petik ganda.
d.      puts(“string/kumpulan karakter”);
e.      char c = getch();
f.        char s[] = gets();



Contoh program:



4.2.7.        Alur Program

PERCABANGAN. Percabangan atau penyeleksian kondisi adalah suatu proses untuk melakukan suatu perintah pada kondisi yang ditentukan. Jika kondisinya terpenuhi, maka akan melakukan suatu proses, jika tidak maka akan melakukan proses lain. Flowchartnya,
1.    if. Memiliki cara penulisan sebagai berikut.


Text Box: if (kondisi) {
//perintah-perintah yang akan dilakukan jika kondisi benar atau TRUE
...
}

Contohnya,



Jika program dijalankan akan ditampilkan:


Text Box: Masukkan umur : 17
Anda masih di bawah umur. Dilarang masuk.

2.       if else. Memiliki cara penulisan sebagai berikut.



Contohnya,

Jika program dijalankan akan ditampilkan:


Text Box: Masukkan umur : 18
Anda sudah cukup umur. Tapi tetap dilarang masuk.




3.       if else bersarang. Di dalam if bisa mengandung if lagi, sehingga terlihat seperti bersarang. Contohnya,

Jika program dijalankan akan ditampilkan:


Text Box: Masukkan umur : 18 Masukkan jenis kelamin : L
Menurut UU anda masih belum boleh menikah.




4.       switch case. Memiliki cara penulisan sebagai berikut.


Text Box: switch (variabel) { case 1 :
//Perintah yang dijalankan jika variabel == 1
break; case 2 :
//Perintah yang dijalankan jika variabel == 2
break;
...
...
case n :
//Perintah yang dijalankan jika variabel == n
break; default :
//Perintah yang dijalankan jika nilai tidak ada yang sesuai variabel
break;
}

Contohnya,
1  //Program kantin terkomputerisasi
2
3    #include <stdio.h>
4    #include <conio.h> 5
6    int main(){
7           int pilihan;
8            printf(\”Monggo mas.e mau pesan apa?\”\n);
9           printf(”1. Rames\n2. Soto\n3. Pecel\n4. Gorengan\n);
10            printf(“Pilihan anda : );
11            scanf(%d, &pilihan); 12
13            switch (pilihan){
14                   case 1:
15                          printf(”Anda memesan Rames.\n);
16                          break;
17
18                   case 2:
19                          printf(”Anda memesan Soto.\n);
20                          break;
21
22                   case 3:
23                          printf(”Anda memesan Pecel.\n);
24                          break;
25
26                   case 4:
27                          printf(”Anda memesan Gorengan.\n);
28                          break;
29
30                   default:
31                          printf(“Pesanan anda tidak ada di dalam menu.\n);
32                          break;
33      }
34
35            //Pause program sebelum keluar. Menunggu input karakter bebas.
36     getch(); 37    }



Jika program dijalankan akan ditampilkan:


Text Box: "Monggo mas.e mau pesan apa?"
1. Rames
2. Soto
3. Pecel
4. Gorengan Pilihan anda : 3
Anda memesan Pecel.



PERULANGAN. Ada kalanya kita membutuhkan suatu bagian program diulang-ulang sebanyak sekian kali. Untuk melakukannya kita bisa melakukan perulangan atau loop dengan for, while, dan do while, tidak dengan menuliskan perintah yang sama berulang-ulang.
1.      



for. Flowchartnya adalah sebagai berikut.
Cara penulisannya adalah sebagai berikut.


Text Box: for (inisialisasi; kondisi; finalisasi) {
//Perintah yang dijalankan jika kondisi BENAR
...
...
}







Contohnya,

Jika program dijalankan akan ditampilkan:


Text Box: Siapa namamu? Astuti
Mau dipanggil berapa kali? 10 Astuti
Astuti Astuti Astuti Astuti Astuti Astuti Astuti Astuti Astuti

2.       while. Flowchartnya adalah sebagai berikut.



Cara penulisannya adalah sebagai berikut.


Text Box: while (kondisi) {
//Perintah yang dijalankan selama kondisi BENAR
...
...
}

Jika program panggil aku n kali sebelumnya menggunakan for, maka kali ini adalah versi menggunakan while.




Jika program dijalankan akan ditampilkan:
Dalam menggunakan while, yang kita butuhkan sebenarnya hanyalah kondisi. Semua perintah atau pernyataan di dalam blok while akan dijalankan selama kondisi BENAR.



3.      



do while. Flowchartnya adalah sebagai berikut.
Cara penulisannya adalah sebagai berikut.


Text Box: do {
//Perintah yang dijalankan dulu sekali
//dan dijalankan kembali jika kondisi BENAR
...
...
} while (kondisi);

Jika program panggil aku n kali sebelumnya menggunakan for dan while maka kali ini adalah versi menggunakan do while.




Jika program dijalankan akan ditampilkan:


Text Box: Siapa namamu? Astuti
Mau dipanggil berapa kali? 0 Astuti

Dalam menggunakan do while, perintah dalam bloknya akan dikerjakan terlebih dahulu baru memeriksa apakah kondisi BENAR atau SALAH. Jika kondisi BENAR, maka perintah dalam blok do akan dikerjakan kembali. Jika SALAH, maka program akan melanjutkan eksekusinya. Jadi, perintah dalam blok do while akan dikerjakan paling sedikit satu kali.

4.       Penyarangan. Di dalam for bisa ada for lagi, atau while, atau yang lainnya. Semua bisa menyarangkan dan disarangkan termasuk dengan percabangan.




4.2.8.       



Aplikasi Bahasa C




Tugas   pribadi   :   terangkan   tiap-tiap   baris   program   di   atas   yang   berbeda,   dan    buatlah contoh program aplikasi C menggunakan kondisional  dan  perulangan  disertai  algoritma dan flowchart.

REFERENSI:
Modul IV Praktikum Dasar Komputer dan Pemrograman tahun 2013.

Tidak ada komentar:

Posting Komentar