P3 Pengantar Pemrograman C A. Sidiq Purnomo Prodi Teknik Informatika & Prodi Sistem Informasi Universitas Mercu Buana Yogyakarta
Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur program C dan alur eksekusi program C 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 3
Sejarah C
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). 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. 6
Interpreter & Compiler
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. 8
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). 9
Kompilasi & Eksekusi 10
Komponen Source Code Keterangan 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 Assembler Link Editor Menterjemaahkan source code ke dalam bahasa assembly (mesin = 0 & 1) Menerima keluaran dari compiler C dan akan membuat sebuah kode objek, jika tidak ada fungsi library lain, akan langsung dijadikan file EXE. Dikerjakan jika source code tidak menggunakan fungsi library lain, akan mengkombinasikan kode object dan library yang ada menjadi file EXE. 11
Algoritma ke C
Algoritma ke C Algoritma C <-- = = == Not! * * + + - - / / mod % 13
Struktur & Sifat Program C
Struktur Program C Bahasa C merupakan bahasa yang terstruktur. Struktur merupakan bentuk/susunan dari program yang dibuat. 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 16
Struktur main() { Body Fungsi } >> Nama Fungsi >> Awal dari fungsi >> Akhir dari fungsi 17
Contoh /* ---------------------- * Program C pertama * author : SidiQ - UMBY * ---------------------*/ #include <stdio.h> main() { /* Menampilkan string */ printf ("Welcome To Universitas Mercu Buana Yogyakarta"); printf ("\n"); } 18
19
Prepocessor Directive
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). 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. 22
Deklarasi : #include <Nama_File.h> Atau #include Nama_File.h Bentuk Keterangan #include <Nama_File.h> #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. 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). 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(). 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 25
Fungsi Main
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. 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 %e Double float Float tipe exponen menggunakan e %c Karakter %s String 28
Contoh Penggunaan Fungsi 29
Komentar
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 */ 31
Contoh Penggunaan Komentar 32
Analisis Program
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"); } 34
Analisis Source Code /* ---------------------- * Program C pertama * author : SidiQ - UMBY * ---------------------*/ #include<stdio.h> main() Keterangan Menandakan komentar Prepocessor yang menyatakan agar membaca dari pustaka stdio.h Fungsi main { Awal blok fungsi /* Menampilkan string */ Menandakan komentar printf("welcome to UMBY") printf("\n") Menampilkan string Welcome To UMBY Perintah ganti baris } Akhir blok dari fungsi 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. 36
Lingkup Pemrograman C Demo! 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 38
Penyelesaian 39
Hasil akhir 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. 41
42 42
Thanks! 4 Participating In My Class C U Next Week 43 43