• Tidak ada hasil yang ditemukan

P - 3 Bab 2 : Pengantar Pemrograman C

N/A
N/A
Protected

Academic year: 2021

Membagikan "P - 3 Bab 2 : Pengantar Pemrograman C"

Copied!
18
0
0

Teks penuh

(1)

P - 3

Bab 2 : Pengantar Pemrograman C

2.1 Tujuan

Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur program C dan alur eksekusi program C

2.2 Materi

1. Sejarah C

2. Interprenter dan Compiler

3. Proses Kompilasi dan Eksekusi Program C 4. Algoritma Ke C 5. Struktur Program C 6. Analisis Program C 7. Fungsi 8. Preprocessor 9. Komentar di C 10. Lingkup Pemrograman C

2.3 Sejarah C

• Bahasa C dirancang oleh Dennis M. Ritchie pada tahun 1972 di laboratorium Bell.

• Bahasa C merupakan perkembangan dari BCPL (Basic Combined Prrogramming Language) yang dibuat oleh Dr. Martin Richard, yang kemudian dikembangkan oleh Ken Thompson

dan dinamai dengan bahasa B.

• Dari ketertarikan Dennis M. Ritchie terhadap interpreter bahasa B, kemudian

dikembangkan menjadi compiler yang disebut C.

• Bahasa C banyak digunakan untuk pengembangan perangkat lunak dan sistem operasi. Seperti sistem operasi Unix dan Linux yang menggunakan bahasa pemrograman C.

• Dalam perkembangannya dari bahasa pemrograman C kemudian dikembangkan bahasa pemrograman C++ oleh Bjarne Stroustrup, dengan alasan bahasa C masih bersifat sangat prosedural murni (untuk membentuk suatu object harus di lakukan banyak sekali penulisan

code).

(2)

1. Bahasa C tersedia hampir disemua jenis komputer,

2. Kode bahasa C sifatnya flexibel dan portabel untuk semua jenis komputer, 3. Bahasa C menyediakan hanya sedikit kata kunci sekitar 32 kata kunci, 4. Proses executable bahasa C lebih cepat,

5. Dukungan pustaka yang banyak,

6. Bahasa C merupakan bahasa yang terstruktur.

• Kekurangan Bahasa C :

1. Bahasa C masih bersifat sangat prosedural murni,

2. Banyak sekali operator yang terkadang membingungkan pemakai.

2.4 Interpreter & Compiler

• Sebelum code yang ditulis dengan bahasa pemrograman dapat dibaca dan dieksekusi oleh komputer, maka code yang ditulis tersebut harus diterjemaahkan ke dalam bahasa mesin (0 dan 1) dengan menggunakan Interpreter dan Compiler.

Interpreter

◦ Menerjemahkan bahasa pemrograman per baris perintah. ◦ Kelebihan :

• Penyusunan program relatif lebih cepat. ◦ Kelemahan :

• Proses eksekusi sangat lambat,

• Saat program dieksekusi maka interpreter harus berada di memori,

• Program yang menggunakan interpreter source code-nya tidak dapat disembunyikan.

Compiler

◦ Menerjemahkan seluruh instruksi bahasa pemrograman sekaligus.

◦ Kelebihan :

• Proses dapat dijalankan dengan cepat, • Source code dapat disembunyikan.

◦ Kelemahan :

• Penyusunan program relatif lebih lama,

• Program hanya dapat di eksekusi jika program tersebut tanpa kesalahan (Syntax Error).

(3)

2.5 Proses Kompilasi dan Eksekusi Program C

• Sebelum belajar lebih banyak tentang bahasa C, ada baiknya mengetahui proses kompilasi dan eksekusi program C :

◦ Keterangan :

Source Code Merupakan file yang akan dieksekusi yang ditulis dengan ekstensi C (*.C). Penulisan program dapat dilakukan dengan bantuan editor text seperti : Editor Vi, Gedit, Geany.

Prepocessor Ditandai dengan “#”

Compiler Menterjemaahkan source code ke dalam bahasa assembly

(mesin = 0 & 1)

Assembler Menerima keluaran dari compiler C dan akan membuat sebuah kode objek, jika tidak ada fungsi library lain, akan langsung dijadikan file EXE.

Link Editor Dikerjakan jika source code tidak menggunakan fungsi library

lain, akan mengkombinasikan kode object dan library yang ada menjadi file EXE.

(4)

2.6 Algoritma ke C

• Beberapa contoh perubahan dari suatu Algoritma ke bahasa C :

Algoritma C ← = = == Not ! * * + + - -/ / mod %

2.7 Struktur Program C

• Bahasa C merupakan bahasa yang terstruktur.

• Struktur merupakan bentuk/susunan dari program yang dibuat.

• Sebelum membuat program dalam bahasa C, perlu diketahui beberapa hal penting berikut : ◦ Bahasa C merupakan salah satu bahasa pemrograman yang bersifat Case Sensitive.

Dalam hal ini bahasa C sangat memperhatikan dan membedakan penggunaan huruf besar dan kecil.

◦ Contoh :

• “Q” tidak sama dengan “q”

• “saya” tidak sama dengan “SAYA / SaYa / Saya “

• “#incude” tidak sama dengan “#Include”

• Struktur dari program C dapat ditulis :

main() >> Nama Fungsi { >> Awal dari fungsi

Body Fungsi

(5)

• Contoh :

/* * Program C pertama * author : SidiQ - UMBY * ---*/

#include <stdio.h> main()

{

/* Menampilkan string */

printf ("Welcome To Universitas Mercu Buana Yogyakarta"); printf ("\n");

(6)

2.8 Preprocessor Directive

Directive merupakan instruksi khusus yang digunakan untuk mengakses prepocessor.

Prepocessor directive digunakan untuk mengakses variabel atau fungsi yang terdapat di dalam librari standar (standard library).

3.8.1 #include

#include merupakan salah satu jenis pengarah preprocessor directive.

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

◦ Bahasa C menyediakan beberapa header file yang ditandai dengan ekstensi *.h. ◦ Deklarasi :

#include <Nama_File.h> Atau #include “Nama_File.h”

Bentuk Keterangan

#include <Nama_File.h> Mengisyaratkan bahwa pencarian file dilakukan pada

direkstori khusus (directory file include), yang merupakan default directory header file yang disediakan oleh bahasa pemrograman.

#include “Nama_File.h” Menyatakan bahwa pencerian file dilakukan pertama kali

pada directory aktif tempat program sumber, dan seandainya tidak ditemukan pencarian akan dilanjutkan pada directory lainnya sesuai dengan perintah pada sistem operasi (yaitu PATH).

◦ Contoh :

#include <stdio.h>

Keterangan :

▪ Menyatakan pada kompiler agar membaca file bernama stdio.h saat melakukan

kompilasi.

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

(7)

3.8.1 #define

◦ Dalam bahasa C, konstanta dideklarasikan dengan #define.

◦ Deklarasi :

#define Nama_Variabel Nilai

◦ Contoh : ▪ #define Phi 3.14 ▪ #define Max 11 ▪ #define nim “10111089”

2.9 Fungsi

2.9.1 main()

◦ Pada program C, main() merupakan fungsi yang istimewa,

▪ karena fungsi main() harus selalu ada dalam program, karena fungsi inilah yang

menjadi titik awal dan titik akhir eksekusi program.

◦ Tanda :

▪ “{“ → di awal fungsi

Meyatakan awal tubuh fungsi dan sekaligus awal program,

▪ “}” → di akhir fungsi

Merupakan akhir tubuh fungsi dan sekaligus akhir eksekusi program.

◦ Jika program terdiri lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi, untuk memudahkan pencarian program utama.

2.9.2 printf()

◦ Fungsi printf() merupakan fungsi yang umum digunakan untuk menampilkan output

(hasil keluaran program) di layar (monitor).

Format Fungsi untuk menampilkan %d Integer (Bilangan bulat )

%ld Long integer %u Unsigned integer %x Hexadesimal integer %f Float (Bilangan pecahan)

(8)

%lf Double Float

%e Float tipe exponen menggunakan e %c Karakter

%s String

◦ Contoh

2.10 Komentar Di C

• Merupakan suatu pernyataan yang tidak berpengaruh terhadap suatu proses.

• Merupakan catatan yang ditulis pada kode dengan tujuan sebagai bahan dokumentasi. Teks tersebut bukan bagian dari program dan tidak mempengaruhi jalannya program.

• Simbol :

/* Komentar */ → /* = awal komentar dan */ = akhir komentar

• Contoh :

(9)

2.11 Analisis Program C

• Contoh program sederhana yang menggunakan bahasa C :

/* * Program C pertama * author : SidiQ - UMBY * ---*/

#include <stdio.h> main()

{

/* Menampilkan string */

printf ("Welcome To Universitas Mercu Buana Yogyakarta"); printf ("\n"); } • Analisis Program : Code Keterangan /* * Program C pertama * author : SidiQ - UMBY * ---*/

Menandakan komentar

#include<stdio.h> Prepocessor yang menyatakan agar

membaca dari pustaka stdio.h

main() Fungsi main

(10)

/* Menampilkan string */ Menandakan komentar Printf ("Welcome To Universitas

Mercu Buana Yogyakarta"); Menampilkan Universitas Mercu Buana Yogyakarta”string “Welcome To printf ("\n"); Perintah ganti baris

} Akhir blok dari fungsi

Keterangan :

• Bahasa C bersifat sangat Case Sensitive, yaitu penggunaan huruf besar dan huruf

kecil sangat dibedakan.

Space seperti karakter spasi, tab, pindah baris dan karakter lainnya yang berfungsi untuk memformat tampilan, tidak berpengaruh dalam bahasa C sehingga dapat digunakan untuk memudahkan membaca code yang ditulis.

• Program C yang dibuat harus selalu diakhiri dengan ekstensi file *.c.

• Komentar sebisa mungkin ditambahkan, sehingga mempermudah mengetahui alur

program.

2.12 Lingkup Pemrograman C

• Dalam contoh ini, sebenarnya dapat digunakan Text Editor dan Console, tetapi jika menggunakan TextEditor (Default = Gedit) dan Console maka harus membuka 2 window sekaligus. Sehingga untuk memudahkan penggunaan, di sini digunakan Geany (TextEditor + Console).

• langkah-langkah yang harus dilakukan antara lain :

1. Membuka Editor Text

Untuk memulai menggunakan editor Geany :

▪ Buka menu Applications >> Programming >> Geany

▪ untuk membuka terminal di Geany, klik tab Terminal pada jendela bagian bawah Geany.

(11)

2. Menuliskan Listing Program C

(12)

3. Menyimpan Program C

Selanjutnya simpan listing proram C yang telah ditulis tadi di directory /home/dnd/Program/C dengan nama “Welcome.c”.

Kemudian untuk menyimpannya :

▪ Buka dialog Save, buka menu File >> Save As ▪ Kemudian masuk ke directory/home/dnd/

▪ Buat directory dengan nama “Program” dengan klik button Create Folder dan

beri nama “Program”. Masuk ke directory Program dan buat directory C.

▪ Pada text boxName tulis nama file “Welcome.c”.

(13)

4. Melakukan Kompilasi Program C

Selanjutnya lakukan kompilasi program C, dengan :

▪ Klik tabTerminal pada bagian bawah Geany.

▪ Masuk ke directory/home/dnd/Program/C dengan menggunakan perintah “cd”.

▪ Periksa keberadaan file Welcome.c dengan menggunakan perintah “ls”. ▪ Lakukan kompilasi proram C dengan menggunakan perintah :

gcc -c [File *.c]

contoh :

gcc -c Welcome.c

▪ Selanjutnya jika proses kompilasi program C maka dalam directory

/home/dnd/Program/C terdapat file hasil kompilasi dengan ekstensi *.o yaitu

(14)

▪ Selanjutnya lakukan linking agar menjadi file *.EXE dengan menggunakan

perintah :

gcc -o [File File.c],

contoh :

(15)

5. Eksekusi Program C

▪ Selanjutnya jika kompilasi program C berhasil maka dalam directory /home/dnd/Program/C terdapat file hasil kompilasi dengan ekstensi *.EXE yaitu

Welcome. Untuk memeriksa keberadaan file ini gunakan perintah “ls”.

▪ Untuk mengeksekusi program C tersebut, gunakan perintah :

./[Nama File Tanpa Ekstensi]

Contoh :

./Welcome

▪ Selanjutnya akan terlihat stringWelcome To Universitas Mercu Buana

(16)

2.13 Contoh Permasalahan

Definisi Permasalahan :

• Masalah harus terdefinisi dengan baik untuk mendapatkan Input dan Output.

• Contoh :

◦ Buatlah sebuah program untuk menampilkan luas dari suatu Segitiga.

Analisa Permasalahan :

• Umumnya dibagi menjadi beberapa bagian kecil dan ringkas. • Contoh :

◦ Masalah : Mencari luas segitiga

Input : alas, tinggi ◦ Output : luas segitiga

Desain Algoritma dan Representasi :

Bahasa Natural

1. Masukkan nilai alas 2. Masukkan nilai tinggi

3. Menghitung luas segitiga dengan mengalikan Alas dan Tinggi kemudian dibagi 2 4. Menampilkan hasil

5. Selesai

Psuedocode

Algoritma perhitungan luas segitiga Input : Alas, Tinggi Output : Luas segitiga

Alas dibaca a Tinggi dibaca t Luas (Alas X Tinggi)/2 Tampilkan Luas

(17)

Penyelesaian :

/* * Program menghitung luas segitiga * author : SidiQ - UMBY

* ---*/

/* preposesor yang menyatakan agar membaca dan pustaka stdio.h */ #include <stdio.h>

int main() /* fungsi main */

{ /* awal blok fungsi */

int a, t, luas; /* deklarasi object */

a = 5; /* pemberian nilai terhadap object */ t = 4;

luas = (a*t)/2; /* proses menghitung luas segitiga */ printf ("Luas segitiga = %d cm \n", luas); /* cetak luas */ return 0; /* memberikan nilai balik 0 */

} /* akhir blok fungsi */

(18)

2.14 Evaluasi

• Berdasarkan algoritma yang telah dibuat pada pembahasan sebelumnya, buatlah program untuk :

1. Mencari luas persegi 2. Mencari luas lingkaran 3. Mencari luas persegi panjang

• Ketentuan :

◦ File name : P3_Elr_23_Algo_NIM.docx (Ex : P3_Elr_23_Algo_10111071.docx)

◦ Kirimkan dengan subject P3_Elr_23_Algo_NIM (Ex : P3_Elr_23_Algo_10111071) ◦ Ke email : dnd_07june07@live.com

Referensi

Dokumen terkait

Kesimpulannya adalah terdapat perbedaan kesimetrisan wajah saat relasi sentrik dengan saat oklusi sentrik yang ditandai dengan asimetri wajah saat oklusi sentrik lebih banyak

Semoga dengan Tips Paling Ampuh Cara Memuaskan Istri Saat Berhubungan Intim di Ranjang Dengan Cepat paling sederhana dan mudah ini bisa menjadi solusi terbaik buat

Sistem otot pada hewan avertebrata atau Alat gerak hewan pada umumnya merupakan kontraksi sel-sel khusus (otot) material kontraksi yang disebut sebagai aktomiosin .pada dasar nya

Dokumen RPJMDes dalam keberadaannya sebagai dokumen perencanaan pembangunan desa untuk jangka waktu 6 (enam) tahun disusun berdasarkan Visi dan Misi Desa, berdasarkan

Berdasarkan hasil uji validitas variabel X ( Customer Relationship Management) dapat diketahui bahwa nilai tertinggi terdapat pada dimensi Continuity Marketing Programs

bahwa sebagai pelaksanaan ketentuan Pasal 40 dan Pasal 41 Peraturan Menteri Ketenagakerjaan Nomor 22 Tahun 2014 tentang Pelaksanaan Penempatan dan Perlindungan

Berawal dari kontak sosial dan komunikasi sosial dari keduanya hubungan interaksi sangat berpengaruh antara Etnik Muna dan Etnik Bugis di kelurahan Alolama ada

Terd apat perbedaan hasil belajar siswa antara kelas yang menerapkan model pembelajaran kreatif - produktif (kelas eksperimen) dengan kelas yang tidak menerapkan