DASAR PEMROGRAMAN PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom https://www.facebook.com/groups/dasarpemrogramanc TUJUAN Mengenal sejarah, struktur, sintaks dan fungsifungsi dasar dalam bahasa C Menjelaskan tentang beberapa tipe data dan operator dasar Mampu membuat program dalam bahasa C berdasar algoritma dan flowchart untuk suatu masalah sederhana. SEJARAH BAHASA C Pertama kali digunakan bahasa mesin yang hanya mengenal 1 dan 0. Kemudian dibuat statemen-statemen khusus (mnemonic) seperti ADD, MOV, JMP. Bahasa ini disebut bahasa assembly. Tahun 1969, Lab Bell AT&T menggunakan bahasa assembly untuk membuat Sistem Operasi UNIX. Tahun 1970, Ken Thompson mengembangkan bahasa B untuk merevisi UNIX. Tahun 1971, karena bahasa B masih lambat, Dennis Ritchie mengembangkan bahasa C untuk merevisi UNIX. SEJARAH BAHASA C (LANJUTAN) Standar bahasa C yang asli adalah standar dari UNIX. Tahun 1983, ANSI (American National Standards Institute) membentuk suatu komite (ANSI committee X3J11) yang menetapkan standar ANSI untuk bahasa C. Tahun 1983, Bjarne Stroustrup menambah fasilitas OOP (Object Oriented Programming) pada C, disebut C++. Bahasa C++ menjadi terkenal di industri perangkat lunak, diantaranya digunakan untuk membuat sistem operasi Windows. SEJARAH BAHASA C ( LANJUTAN ) Bahasa C digolongkan bahasa tingkat menengah. Lebih sulit dari Pascal dan Basic (bahasa tingkat tinggi). C mengkombinasikan antara bahasa tingkat rendah (mesin / assembly) dengan bahasa tingkat tinggi. Tujuan : kemudahan membuat program dari bahasa tingkat tinggi dikombinasikan dengan kecepatan eksekusi dari bahasa tingkat rendah. CONTOH BAHASA TINGKAT TINGGI Setiap bahasa pemrograman mempunyai aturan masingmasing tetapi terdapat kemiripan. Contoh program untuk menampilkan angka dari 5 s/d 10 menggunakan bahasa pemrograman yang berbeda: KELEBIHAN BAHASA C Dapat dihubungkan dengan bahasa tingkat rendah, karena dapat memanipulasi data dalam bentuk bit atau byte. Tersedia hampir di semua jenis komputer. Kodenya bersifat portabel. Aplikasi yang ditulis dengan C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan sedikit modifikasi. Struktur bahasa yang baik mudah dipelajari, memudahkan pembuatan program, memudahkan pelacakan kesalahan program. Dibandingkan bahasa mesin atau assembly, C jauh lebih mudah dipahami. C berorientasi pada permasalahan, bukan pada mesin. Memungkinkan untuk memanipulasi alamat dari suatu data atau pointer Memudahkan belajar bahasa pemrograman terkini karena dialek bahasa C digunakan acuan oleh bahasa lain seperti Java, Perl, PHP, dll. KELEMAHAN BAHASA C Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai. Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya padahal keampuhan C justru terletak pada pointer. Editor untuk ketik PROSES COMPILING + LINKING Melampirkan file header (.H) yang akan digunakan EDITOR Penulisan Kode Program / source code ( .C / .CPP ) EDITOR FILE INCLUDE (FILE JUDUL) xxx.h FILE PROGRAM SUMBER yyy.c Assembler : menerima Menerjemahkan ke dalam bahasa keluaran dari kompiler C assembly File Library (LIB) lain yang dan akan membuat sebuah digunakan KOMPILER kode objek (.OBJ) FILE PUSTAKA FILE OBYEK FILE OBYEK LAIN (library file) Mengkombinasikan kode objek dan library yang lain, menjadi file EXECUTABLE (EXE). LINKER File EXE siap dijalankan. FILE EXECUTABLE STRUKTUR PENULISAN PROGRAM C Sebuah program minimal mengandung sebuah fungsi. Fungsi utama main() wajib ada. Fungsi-fungsi lain yang ditulis oleh pemrogram. Setiap fungsi terdiri dari satu atau beberapa pernyataan. PREPROCESSOR DIRECTIVE (#INCLUDE) #include merupakan salah satu jenis pengarah praprosesor (preprocessor directive). Bentuk umum : #include “namafile” Dipakai untuk membaca file yang di antaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C nama filenya diakhiri dengan ekstensi .h #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi. FUNGSI MAIN() Merupakan fungsi istimewa dan harus ada pada program C. Fungsi ini menjadi titik awal dan titik akhir eksekusi program. Biasa ditempatkan pada posisi paling atas dari program memudahkan untuk mencari program utama. FUNGSI PRINTF() Digunakan untuk menampilkan suatu keluaran pada layar/monitor. Bentuk umum: printf(“string kontrol”, daftar argumen); String kontrol dapat berupa: %d untuk menampilkan bilangan bulat (integer) %f untuk menampilkan bilangan pecahan (floatingpoint) %c untuk menampilkan sebuah karakter %s untuk menampilkan sebuah string CONTOH #include <stdio.h> main( ) { Hasilnya saat di run : No : 2509 Nama : Mayanti Nilai : 88.5 Huruf : A printf(“No : %d\n”, 2509); printf(“Nama : %s\n”, “Mayanti”); printf(“Nilai : %f\n”,88.5); printf(“Huruf : %c\n”,„A‟); } FUNGSI PRINTF() ( LANJUTAN ) Tanda „\‟ dapat digunakan pada fungsi printf: \” menyatakan karakter petik ganda. \\ menyatakan karakter backslash „\‟. \t menyatakan karakter tab. \n menyatakan karakter enter. KOMENTAR PADA PROGRAM Digunakan untuk keperluan dokumentasi Dimulai dengan tanda “/*” dan diakhiri dengan tanda “*/” Untuk komentar yang hanya satu baris ditulis dengan diawali tanda “//” Contoh : /*Berikut adalah komentar jadi tidak ikut dalam eksekusi program */ #include <stdio.h> main() { printf(“Hello world\n”); // perintah mencetak } TIPE DATA DASAR Bentuk data bisa dinyatakan dalam bentuk : 1. Konstanta : nilainya tetap. 2. Variabel : nilainya dapat diubah-ubah selama eksekusi. Berdasarkan jenisnya, data dibagi menjadi lima kelompok tipe data dasar, yaitu: 1. Bilangan bulat (integer) 2. Bilangan real presisi-tunggal (float) 3. Bilangan real presisi-ganda (double) 4. Karakter (char) 5. Tak-bertipe (void) UKURAN MEMORI TIPE DATA DASAR VARIABEL Tempat untuk menyimpan nilai atau data di memori komputer. Perlu diberi nama / identitas untuk menggunakan isi nilai / harga di memori. ATURAN PENULISAN VARIABEL Nama harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ ). Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda dollar ($). Panjang nama variabel boleh lebih dari 31 karakter hanya 31 karakter pertama yang akan dianggap. Nama variabel tidak boleh menggunakan nama yang tergolong sebagai kata-kata cadangan (reserved words) seperti printf, int, if, while dan sebagainya DEKLARASI VARIABEL Memesan memori dan menentukan jenis data yang bisa disimpan di dalamnya. Bentuk umum deklarasi variabel: tipe_data daftar_nama_variabel; Contoh: int usia; float nilaiMK1 , nilaiMK2; PEMBERIAN NILAI KE VARIABEL (ASSIGNMENT) Inisialisasi nilai variabel int nilai; nilai = 10; Sama dengan: int nilai = 10; CONTOH PEMBERIAN NILAI VARIABEL Hasil KONSTANTA Konstanta menyatakan nilai tetap. Tidak perlu dideklarasikan. Juga mempunyai tipe data. ATURAN PENULISAN KONSTANTA 1. 2. 3. 4. Konstanta karakter diawali dan diakhiri dengan tanda petik tunggal, Contoh : „A‟ „-‟ „@‟ Konstanta integer ditulis dengan angka, tanpa mengandung pemisah ribuan dan pecahan. Contoh : –1 dan 32767. Konstanta real (float /double) bisa mengandung pecahan dan nilainya bisa ditulis dalam bentuk eksponensial (tanda e), contoh: 27.5f (tipe float) atau 27.5 (tipe double) dan 2.1e+5 (2,1 x 10^5 ). Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik-ganda (“). Contoh: “Bahasa Pemrograman C”. ATURAN PENULISAN KONSTANTA (LANJUTAN) Sintax penulisan : #define <nama_konstanta> <nilai> Contoh: #define PI 3.14159 OPERATOR Simbol yang digunakan untuk melakukan suatu operasi atau manipulasi. Misal: menjumlahkan, membagi, mengurangi, membandingkan, memberikan nilai, dll. JENIS OPERATOR Operator Aritmatika Operator Increment dan Decrement Operator penugasan Operator kombinasi OPERATOR ARITMATIK Terdiri dari dua jenis: 1. Operator binary 2. Operator unary Tanda „-‟ (minus) Tanda „+‟ (plus) CONTOH ARITMATIKA Hasil OPERATOR INCREMENT DAN DECREMENT Operator increment: ++ Operator decrement: -- CONTOH INCREMENT Hasil OPERATOR PENUGASAN Untuk memindahkan nilai dari suatu ungkapan (ekspresi) ke suatu pengenal (variabel). Operator pengerjaan : Sintax : = pengenal1 = pengenal2 = … = ungkapan ; Contoh : a= (b=1) + 5; OPERATOR KOMBINASI Digunakan untuk memendekkan penulisan operasi penugasan. Contoh: x = x + 2; x += 2; x = x * 6; x *= 6; CONTOH OPERATOR KOMBINASI PERTANYAAN ?