P3 Pengantar Pemrograman C - Universitas Mercu Buana Yogyakarta

advertisement
P3
Pengantar Pemrograman C
A. Sidiq Purnomo
Prodi Teknik Informatika & Prodi Sistem Informasi
Universitas Mercu Buana Yogyakarta
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Tujuan
• Mahasiswa dapat mengetahui dan
memahami sejarah bahasa C, struktur
program C dan
alur eksekusi program
C
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
2
Pembahasan
•
•
•
•
•
•
•
•
•
•
Sejarah C
Interprenter dan Compiler
Proses Kompilasi dan Eksekusi Program C
Algoritma Ke C
Struktur Program C
Analisis Program C
Fungsi
Preprocessor
Komentar di C
Lingkup Pemrograman C
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
3
Sejarah C
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Sejarah C
• Bahasa C Dirancang -> Dennis M. Ritchie th1972 di laboratorium
Bell.
• Perkembangan dari BCPL (Basic Combined Programming
Language) yg dibuat Dr. Martin Richard, selanjutnya dikembangkan
oleh Ken Thompson dan dinamai dengan bahasa B.
• Dari ketertarikan Dennis M. Ritchie terhadap interpreter bahasa B,
kemudian dikembangkan menjadi compiler yg disebut C.
• Bahasa C banyak digunakan untuk pengembangan perangkat lunak
dan sistem operasi. Seperti sistem operasi Unix dan Linux yg
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).
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
5
Kelebihan
• Bahasa C tersedia hampir
disemua jenis komputer,
• Kode bahasa C sifatnya flexibel
dan portabel untuk semua jenis
komputer,
• Bahasa C menyediakan hanya
sedikit kata kunci sekitar 32 kata
kunci,
• Proses executable bahasa C lebih
cepat,
• Dukungan pustaka yang banyak,
• Bahasa C merupakan bahasa
yang terstruktur.
Kekurangan
• Bahasa C masih bersifat sangat
prosedural murni,
• Banyak sekali operator yang
terkadang membingungkan
pemakai.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
6
Interpreter & Compiler
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Interpreter & Compiler
• Sebelum code yg 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.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
8
Interpreter
• Menerjemahkan bahasa
pemrograman per baris perintah.
• Kelebihan :
Compiler
• Menerjemahkan seluruh instruksi
bahasa pemrograman sekaligus.
• Kelebihan :
– Penyusunan program relatif lebih
cepat.
•
– Proses dapat dijalankan dengan
cepat,
– Source code dapat disembunyikan.
Kelemahan :
– Proses eksekusi sangat lambat,
– Saat program dieksekusi maka
interpreter harus berada di memori,
– Program yang menggunakan
interpreter source code-nya tidak
dapat disembunyikan.
•
Kelemahan :
– Penyusunan program relatif lebih
lama,
– Program hanya dapat di eksekusi
jika program tersebut tanpa
kesalahan (Syntax Error).
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
9
Kompilasi & Eksekusi
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
10
Komponen
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.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
11
Algoritma ke C
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Algoritma ke C
Algoritma
C
<--
=
=
Not
==
!
*
+
/
mod
*
+
/
%
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
13
Struktur & Sifat Program C
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Struktur Program C
• Bahasa C merupakan bahasa yang
terstruktur.
• Struktur merupakan bentuk/susunan dari
program yang dibuat.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
15
Sifat
Sifat
• 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” != “q”
• “saya” != “SAYA /
SaYa / Saya / 54y4“
• “#include” !=
“#Include”
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
16
Struktur
main()
{
Body Fungsi
}
>> Nama Fungsi
>> Awal dari fungsi
>> Akhir dari fungsi
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
17
Contoh
/*
*
*
*
---------------------Program C pertama
author : SidiQ - UMBY
---------------------*/
#include <stdio.h>
main()
{
/* Menampilkan string */
printf ("Welcome To Universitas Mercu Buana Yogyakarta");
printf ("\n");
}
18
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
19
Prepocessor Directive
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Prepocessor Directive
• Directive merupakan instruksi khusus
yang digunakan untuk mengakses
prepocessor.
• Prepocessor directive digunakan untuk
mengakses variabel atau fungsi yg
terdapat di dalam librari standar (standard
library).
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
21
Prepocessor #include
• #include merupakan salah satu jenis
pengarah preprocessor directive.
• Digunakan untuk memberitahu kompiler agar
dalam proses linking membaca file yg
dinamakan file judul (header file), yaitu file yg
diantaranya berisi deklarasi fungsi dan definisi
konstanta.
• Bahasa C menyediakan beberapa header file yg
ditandai dengan ekstensi *.h.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
22
• 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), yg
merupakan default directory header file yg
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).
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
23
Contoh :
#include <stdio.h>
Prepocessor
header file
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 yg
disediakan dalam C, yg
diperlukan untuk programprogram yg menggunakan
pustaka fungsi I/O standar
seperti fungsi printf(), scanf().
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
24
Prepocessor #Define
• Dalam bahasa C, konstanta
dideklarasikan dengan #define.
• Deklarasi :
#define Nama_Variabel Nilai
• Contoh :
– #define Phi 3.14
– #define Max 11
– #define nim “10111071”
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
25
Fungsi Main
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Fungsi main()
• Pada program C, main() merupakan fungsi yg 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.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
27
Fingsi printf()
• Fungsi printf()
merupakan fungsi yg
umum digunakan
untuk menampilkan
output (hasil keluaran
program) di layar
(monitor).
Fungsi
Keterangan
%d
Integer (Bilangan bulat )
%ld
Long integer
%u
Unsigned integer
%x
Hexadesimal integer
%f
Float (Bilangan pecahan)
%lf
Double float
%e
Float tipe exponen
menggunakan e
%c
Karakter
%s
String
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
28
Contoh Penggunaan Fungsi
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
29
Komentar
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Komentar di C
• Merupakan suatu pernyataan yg 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 :
– /* Saya ingin mempelajari bahasa C - kataku dalam hati */
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
31
Contoh Penggunaan Komentar
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
32
Analisis Program
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Analisis Program
Algoritma
Start
Print
Welcome To UMBY
Print
\n
Finish
Contoh program sederhana C
/*
*
*
*
---------------------Program C pertama
author : SidiQ - UMBY
---------------------*/
#include <stdio.h>
main()
{
/* Menampilkan string */
printf ("Welcome To UMBY");
printf ("\n");
}
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
34
Analisis
Source Code
Keterangan
/*
*
*
*
Menandakan komentar
---------------------Program C pertama
author : SidiQ - UMBY
---------------------*/
#include<stdio.h>
Prepocessor yang menyatakan agar membaca dari
pustaka stdio.h
main()
Fungsi main
{
Awal blok fungsi
/* Menampilkan string */
Menandakan komentar
printf("Welcome to UMBY")
Menampilkan string “Welcome To UMBY”
printf("\n")
Perintah ganti baris
}
Akhir blok dari fungsi
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
35
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.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
36
Lingkup Pemrograman C
Demo !
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
37
Contoh Permasalahan
Masalah
• Buatlah sebuah
algoritma untuk
mencari luas dari
suatu Segitiga.
Analisis Masalah
• Problem : Mencari
luas segitiga
• Input : alas, tinggi
• Output : luas segitiga
Algoritma
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
38
Penyelesaian
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
39
Hasil akhir
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
40
Tugas
• Mohon dipelajari dengan seksama,
selanjutnya :
– Buatlah program untuk menampilkan nama
dan nim (dengan implementasi bahasa C)
– Source code ditulis tangan, hasil output
program diprint.
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
41
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
42
42
Thanks … !
4 Participating
In My Class
C U Next Week
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
43
43
Download