Pengantar C (Minggu ke II) Lanny Agustine Yuliati
Struktur Sistem Komputer
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.
Sejarah Bahasa C Ken Thompson mengembangkan bahasa B (BCPL) untuk merevisi UNIX. Bahasa B masih lambat. Tahun 1971, Dennis Ritchie mengem-bangkan bahasa C untuk merevisi UNIX. Bahasa C menjadi terkenal di industri perangkat lunak, diantaranya digunakan untuk membuat sistem operasi Windows. Tahun 1983, Bjarne Stroustrup menambah fasilitas OOP (Object Oriented Programming) pada C, disebut C++.
Kelebihan C (1) Kode bahasa C portabel dan fleksibel untuk semua jenis komputer Hanya menyediakan sedikit kata kunci (32 kata kunci/keywords) Keywords adalah kata-kata yang mempunyai arti khusus pada bahasa pemrograman komputer dan tidak dibolehkan dipakai untuk identifier lain.
Keywords
Kelebihan C (2) Proses Executable lebih cepat Termasuk bahasa tingkat menengah Dukungan fungsi pustaka (library) yang banyak Bahasa C terstruktur sehingga mudah dipahami Tersedia hampir di semua jenis komputer(mikro, mini, mainframe komputer) C++ merupakan bahasa pemrograman general purpose dan multi paradigma (prosedural, object oriented) Bahasa pemrograman yang sangat populer dan banyak digunakan
Struktur Program Bahasa C adalah salah satu bahasa pemrograman yang terstruktur Bahasa C juga bersifat prosedural, terdiri dari fungsi-fungsi Setiap program C mempunyai satu fungsi atau lebih dengan nama “main ()” (program utama) Program akan dieksekusi dimulai dari pernyataan (statement) pertama pada fungsi “main” itu Huruf besar dengan huruf kecil diartikan berbeda (case- sensitive) Setiap pernyataan (statement) sederhana diakhiri dengan titik koma (semi-colon (;))
Struktur Program C main() { statemen-statemen; } Fungsi_Fungsi_Lain() Statemen-statemen; Fungsi utama Fungsi fungsi lain yang ditulis oleh Pemrogram komputer
Kode program (source code) kompilasi & eksekusi program: Kode program (source code) #include #define #ifdef preprosesor: library yang digunakan preprosesor kompiler: menerjemahkan ke dalam bahasa assembly kompiler kode assembly assembler: menerima keluaran dari kompiler C++ dan akan membuat sebuah kode objek assembler kode objek library link editor: mengkombinasikan kode objek dan library yang lain, menjadi file EXE. link editor File EXE
Struktur Program Contoh program untuk menampilkan sebaris teks Selamat menggunakan bahasa C! pada layar: /* Program pertama dalam bahasa C */ #include <stdio.h> /* fungsi main mulai eksekusi program */ int main( void ) { printf( “Selamat menggunakan bahasa C!\n" ); return 0; /* indikasi program berakhir dengan sukses */ } /* akhir fungsi main */ Program Output Selamat menggunakan bahasa C!
Struktur Program Komentar diawali dengan /* dan diakhiri dengan */ (seperti terdapat pada baris-1,3,7,dan 8), komentar tidak dipedulikan/diproses oleh compiler. Bermanfaat untuk memudahkan pembacaan dan pemahaman sebuah program. Baris dengan awalan # (seperti pada baris-2) diproses oleh preprocessor C sebelum program dikompilasi. Baris tersebut menunjukkan bahwa preprocessor harus mengikutsertakan standard input/output header (stdio.h) pada program.Header ini mengandung informasi yang digunakan compiler untuk mengkompilasi pemanggilan fungsi standar input/output seperti printf (baris-6). int main() merupakan fungsi utama program dan selalu merupakan bagian dari program dalam C, karena berjalannya program/instruksi ditentukan oleh fungsi ini. int berarti fungsi main mengembalikan nilai integer Tanda kurung kurawal buka { dan tutup } merupakan penanda body dari sebuah fungsi atau sering disebut juga block fungsi/program. printf( “Selamat menggunakan bahasa C!\n" ); menghasilkan aksi yaitu menampilkan teks “Selamat menggunakan bahasa C!” return 0; selalu diikutsertakan pada akhir fungsi main. Keyword return untuk menyatakan keluar dari suatu fungsi, dan angka 0 menunjukkan nilai yang dihasilkan/dikembalikan oleh fungsi tersebut. Perintah printf dan scanf menghasilkan value 1, namun jarang digunakan. Sehingga untuk program jenis tsb. Main dapat dideklarasikan sebagai void, yang artinya tidak ada return value yang dieksekusi. Return value dibutuhkan saat membuat fungsi2 sehingga nilai yang dihasilkan pada fungsi tersebut dapat digunakan di main program.
Struktur Program komentar /* Program pertama dalam bahasa C */ #include <stdio.h> /* fungsi main mulai eksekusi program */ int main( void ) { printf( “Selamat menggunakan bahasa C!\n" ); return 0; /* indikasi program berakhir dengan sukses */ } /* akhir fungsi main */ preprocessor main function statement function body
Struktur program Sering dijumpai beberapa format penulisan fungsi main seperti contoh diatas, tetapi tidak semua compiler mengenalnya. Contoh: dengan menggunakan compiler Turbo C 2.0 (DOS) dan Microsoft Visual C++ (Windows), (2), (3) dan (4) => Success, tetapi (1) warning dengan menggunakan compiler Dev-C (windows), dan gcc (linux) (1), (3) dan (4) => Success, tetapi (2) warning return (0); menyatakan program exit secara normal. Penulisan return 0; sama artinya dengan return (0);
Elemen-elemen dlm source code [1] Characters (karakter): dalam kode ASCII (American Standards Committee for Information Interchange) Identifiers (nama):Nama berbagai elemen program seperti nama variabel, fungsi, konstanta, dsb Keywords (kata kunci): kata-kata yang mempunyai arti khusus pada bahasa pemrograman komputer dan tidak dibolehkan dipakai untuk identifier lain Data types (tipe data)
Elemen-elemen dlm source code [2] Variables (variabel): sesuatu yang memiliki alamat memori tertentu (di RAM) untuk menyimpan nilai data Constants: nilai yang tidak berubah selama proses dalam program Comments or non-extecutable statements (Komentar) Functions (Fungsi) Pre-processor commands/directives (Perintah/pengarah pre- processor)
Tambahan: karakter escape Deskripsi \n Pindah kursor ke baris baru \t Horisontal tab, pindah kursor ke posisi tab berikutnya \a Membunyikan bel sistem (bunyi beep) \” \’ \\ Menampilkan tanda: quotation (“), aposthrope (‘), backslash (\)
Referensi Pustaka Programming in C, with numerical methods for engineers, Kamal B. Rojiani Dasar pemrograman komputer, Pengantar bahasa C, Sutrisno dkk, Teknik Informatika – UB Pengenalan konsep pemrograman (dalam bahasa C), PEDATI - fasilkom UI Konsep Dasar Pemrograman Bahasa C, Jogiyanto Hartono
Paradigma Pemrograman Pemrograman Prosedural Pemrograman Fungsional Pemrograman Terstruktur: Program dibagi dalam prosedur dan fungsi, cth: PASCAL & C Pemrograman Modular Pemrograman Berorientasi Objek: obyek memiliki data/variabel/porperti dan metode/prosedur yang dapat dimanipulasi, cth: C++, Object Pascal, Java Pemrograman Berorientasi Fungsi: fokus pada fungsi tertentu, cth: SQL, HTML, XML Pemrograman Deklaratif
Sejarah Bahasa C: cth low level language MC68000 assembly language MOVE.L #4,D2 LOOP: MOVE.L D2, D0 ADDI.W #6,D0 JSR DECOUT DBRA D2,LOOP MC68000 executable (machine code) 00100000101111000000000000000100 0010000000000010 00000110010000000000000000000110 0100111010000000 01010001110010101111111111110100
Sejarah Bahasa C: cth high level language Setiap bahasa pemrograman mempunyai aturan masing-masing tetapi terdapat kemiripan. Contoh program untuk menampilkan angka dari 5 s/d 10 menggunakan bahasa pemrograman yang berbeda: Fortran DO 99, X=5,10,1 PRINT X 99 CONTINUE Pascal for x := 5 to 10 do begin write(x); end; Basic For X = 5 To 10 Step 1 Print X Next X C++ for (x=5; x<=10; x=x+1) { cout << x; }