Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PEDATI - Fasilkom UI 20051 PENGENALAN KONSEP PEMROGRAMAN (dalam bahasa C)

Presentasi serupa


Presentasi berjudul: "PEDATI - Fasilkom UI 20051 PENGENALAN KONSEP PEMROGRAMAN (dalam bahasa C)"— Transcript presentasi:

1 PEDATI - Fasilkom UI PENGENALAN KONSEP PEMROGRAMAN (dalam bahasa C)

2 PEDATI - Fasilkom UI Sejarah Bahasa C Bersumber dari bahasa BCPL (Martin Richards -1967) dan B (Ken Thompson -1970) C diciptakan Dennis Ritchie dari Bell Laboratories pada tahun 1972 dan diimplementasikan pada komputer DEC PDP-11 Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian mempublikasikan buku The C Programming Language yang semakin memperluas pemakaiannya dan dijadikan standar oleh ANSI (American National Standard Institute) pada tahun 1989 C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi C++ (1986) C dan/atau C++ banyak digunakan (sehingga menjadi ‘standar’) sebagai bahasa pemrograman untuk membuat sistem operasi

3 PEDATI - Fasilkom UI Proses penerjemahan bahasa C Editor Preprocessor Compiler Linker Loader CPU DISK.c.h.obj.out (UNIX).exe (MS) Primary Memory

4 PEDATI - Fasilkom UI Program sederhana I [1] Contoh program untuk menampilkan sebaris teks Selamat menggunakan bahasa C! pada layar: 1./* Program pertama dalam bahasa C */ 2.#include 3./* fungsi main mulai eksekusi program */ 4.int main( void ) 5.{ 6. printf( “Selamat menggunakan bahasa C!\n" ); 7. return 0; /* indikasi program berakhir dengan sukses */ 8.} /* akhir fungsi main */ Selamat menggunakan bahasa C! Program Output

5 PEDATI - Fasilkom UI Program sederhana I [2]  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.

6 PEDATI - Fasilkom UI /* Program pertama dalam bahasa C */ 2.#include 3./* fungsi main mulai eksekusi program */ 4.int main( void ) 5.{ 6. printf( “Selamat menggunakan bahasa C!\n" ); 7. return 0; /* indikasi program berakhir dengan sukses */ 8.} /* akhir fungsi main */ Program sederhana I [3] komentar preprocessor main function statement function body

7 PEDATI - Fasilkom UI Program sederhana I [4] Karakter escape KarakterDeskripsi \nPindah kursor ke baris baru \tHorisontal tab, pindah kursor ke posisi tab berikutnya \aMembunyikan bel sistem/beep \\Mencetak/menampilkan \ (backslash) \”Mencetak/menampilkan ”

8 PEDATI - Fasilkom UI Program sederhana I [5] Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf Welcome to C! Program Output

9 PEDATI - Fasilkom UI Program sederhana I [6] Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf Welcome to C! Program Output

10 PEDATI - Fasilkom UI Program sederhana II [1] Membaca 2 buah bilangan bulat dari keyboard dan menampilkan hasil penjumlahannya

11 PEDATI - Fasilkom UI Enter first integer 45 Enter second integer 72 Sum is 117 Program Output

12 PEDATI - Fasilkom UI Program sederhana II [2] Baris ke-1 hingga ke-7 serupa dengan program I int integer1, integer2, sum; Pendefinisian variable-variabel Variabel: lokasi di memori tempat sebuah nilai disimpan int berarti variabel dapat menyimpan bilangan bulat ( -1, 3, 0, 47 ) Nama-nama variabel (identifier) integer1, integer2, sum Identifier: mengandung huruf,angka (tidak boleh dimulai dengan angka) dan underscores( _ ) Case sensitive (huruf besar dan kecil dibedakan) Deklarasi variabel harus muncul sebelum eksekusi statement yang menggunakannya Jika eksekusi statement mengacu kepada variabel yang belum dideklarasikan maka akan menghasilkan syntax (compiler) error

13 PEDATI - Fasilkom UI Program sederhana II [3] scanf( "%d", &integer1 ); Mengambil sebuah nilai dari user scanf menggunakan standar input (biasanya keyboard) scanf statement ini memiliki dua buah argumen %d - menunjukkan data yang diambil adalah bilangan bulat desimal &integer1 – berlokasi di memori untuk menyimpan nilai variabel tsb Tanda & dapat membingungkan di awal – untuk saat ini sertakan pada nama variabel pada statement scanf Ketika program dieksekusi user merespon statement scanf dengan mengetik sebuah bilangan kemudian menekan tombol enter (return) = (assignment operator) Assigns (memberi) sebuah nilai kepada sebuah variabel Merupakan sebuah operator biner (memiliki dua buah operand) sum = variable1 + variable2; sum memperoleh hasil dari variable1 + variable2; Variabel penerima nilai berada di sebelah kiri

14 PEDATI - Fasilkom UI Program sederhana II [4] printf( "Sum is %d\n", sum ); Serupa dengan pada scanf %d berarti bilangan bulat desimal akan ditampilkan/dicetak Nilai variabel sum menentukan bilangan bulat yang akan ditampilkan/dicetak Perhitungan dapat langsung dilakukan dalam statement printf printf( "Sum is %d\n", integer1 + integer2 );

15 PEDATI - Fasilkom UI Konsep Memori [1] Variabel Nama-nama variabel berkaitan dengan lokasi-lokasi di memori komputer Setiap variabel memiliki sebuah nama, sebuah tipe, sebuah ukuran dan sebuah nilai Ketika sebuah nilai baru diberikan pada sebuah variabel (misalnya melalui scanf ) maka nilai yang lama akan diganti (dan hilang) Membaca variabel dari memori tidak akan mengubah nilainya Representasi visual: integer1 45

16 PEDATI - Fasilkom UI Konsep Memori [2] integer1 45 integer2 72 integer1 45 integer2 72 sum 117

17 PEDATI - Fasilkom UI Aritmatika [1] Perhitungan Aritmatika Gunakan * untuk perkalian dan / untuk pembagian Pembagian bilangan bulat membuang sisa pembagian 7 / 5 dievaluasi menjadi 1 Operator Modulus ( % ) menghasilkan sisa pembagian 7 % 5 dievaluasi menjadi 2 Operator precedence Beberapa operator aritmatika lebih diprioritaskan (dihitung lebih dahulu) dibandingkan operator lainnya (misalkan perkalian dan pembagian didahulukan dibandingkan penjumlahan dan pengurangan) Gunakan tanda kurung jika diperlukan Contoh: Hitung nilai rata-rata dari variabel-variabel a, b and c Jangan gunakan: a + b + c / 3 Gunakan: (a + b + c ) / 3

18 PEDATI - Fasilkom UI Aritmatika [2] Operator-operator aritmatika: Aturan precedence operator:

19 PEDATI - Fasilkom UI Aritmatika [3]

20 PEDATI - Fasilkom UI Pengambilan Keputusan: Persamaan dan Operator Relasional [1] Eksekusi statement Menghasilkan aksi-aksi (penghitungan, input/output data) Menghasilkan keputusan Ingin menampilkan “lulus" or “gagal" berdasarkan suatu syarat nilai tertentu if control statement Versi sederhana dahulu, lebih detail kemudian Jika suatu kondisi true, maka body statement if dieksekusi 0 adalah false, non-zero adalah true Kontrol terhadap perintah selanjutnya setelah struktur if Keywords Kata-kata khusus yang digunakan oleh bahasa C Tidak dapat digunakan sebagai nama variabel atau identifier

21 PEDATI - Fasilkom UI Pengambilan Keputusan: Persamaan dan Operator Relasional [2]

22 PEDATI - Fasilkom UI

23 PEDATI - Fasilkom UI Enter two integers, and I will tell you the relationships they satisfy: is not equal to 7 3 is less than 7 3 is less than or equal to 7 Program Output

24 PEDATI - Fasilkom UI Enter two integers, and I will tell you the relationships they satisfy: is not equal to is greater than is greater than or equal to 12 Enter two integers, and I will tell you the relationships they satisfy: is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 Program Output (lanjutan)

25 PEDATI - Fasilkom UI Pengambilan Keputusan: Persamaan dan Operator Relasional [3]

26 PEDATI - Fasilkom UI Pengambilan Keputusan: Persamaan dan Operator Relasional [4]

27 PEDATI - Fasilkom UI Algoritma dan Pseudocode Algoritma: urutan langkah-langkah yang dapat digunakan untuk memecahkan suatu masalah Pseudocode: Bahasa buatan yang bersifat informal yang dapat membantu untuk mengembangkan algoritma Serupa dengan bahasa sehari-hari Membantu mempermudah penulisan program; dengan menggunakan statement-statement yang dapat dieksekusi, mempermudah konversi ke bahasa pemrograman

28 PEDATI - Fasilkom UI Struktur Kontrol Semua program ditulis dalam 3 macam bentuk struktur kontrol: Sequence atau berturutan: struktur ini tersedia secara built-in. Secara default program dieksekusi secara berturutan sesuai urutan perintah Selection atau pilihan: ada 3 macam dalam bahasa C: if, if…else, dan switch Repetition atau pengulangan: ada 3 macam dalam bahasa C: while, do…while, dan for Flowchart Representasi grafis dari algoritma Menggunakan simbol-simbol khusus yang dihubungkan dengan garis beranak panah Simbol kotak melambangkan aksi Simbol oval melambangkan awal dan akhir suatu program atau blok program Simbol berlian melambangkan keputusan/pilihan

29 PEDATI - Fasilkom UI Selection Control [1] ( if ) Statement if : Digunakan untuk seleksi suatu kondisi Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” Contoh Flowchart: true false grade >= 60 print “Passed”

30 PEDATI - Fasilkom UI Selection Control [2] ( if ) Jika kondisi true Statement Print dieksekusi dan program dilanjutkan ke statement berikutnya Jika kondisi false Statement Print diabaikan dan program dilanjutkan ke statement berikutnya Dalam bahasa C: if ( grade >= 60 ) printf( "Passed\n" );

31 PEDATI - Fasilkom UI Selection Control [3] ( if…else ) Statement if…else : Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi false Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” Contoh Flowchart: truefalse print “Failed”print “Passed” grade >= 60

32 PEDATI - Fasilkom UI Selection Control [4] ( if…else ) Dalam C : if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); Ternary conditional operator ( ?: ) Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false ) Contoh di atas dapat ditulis sbb: printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); Atau dapat ditulis sbb: grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\n” );

33 PEDATI - Fasilkom UI Selection Control [5] ( if…else ) Statement if…else bertingkat/bersarang: Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if … else di dalam statement if … else Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan Contoh pseudocode: I f student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

34 PEDATI - Fasilkom UI Selection Control [6] ( if…else ) Compound statement Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu kondisi dipenuhi Sering disebut juga blok karena ditandai dengan pasangan { dan } Contoh: if ( grade >= 60 ) printf( "Passed.\n" ); else { printf( "Failed.\n" ); printf( "You must take this course again.\n" ); } Tanpa tanda kurung kurawal, statement printf( "You must take this course again.\n" ); Akan dieksekusi secara otomatis.

35 PEDATI - Fasilkom UI Selection Control [7] ( switch ) Multiple-Selection Statement switch: Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbeda Format penulisan: Sederetan label case dan opsional default case switch ( value ){ case '1': actions case '2': actions default : actions } break ; keluar dari statement

36 PEDATI - Fasilkom UI Selection Control [8] ( switch ) Flowchart statement switch : true false case a case a action(s)break case b case b action(s)break false case z case z action(s)break true default action(s)

37 PEDATI - Fasilkom UI Repetition Control [1] ( while ) Struktur pengulangan structure Programmer menentukan aksi yang akan diulang selama kondisi tetap true Psuedocode: While there are more items on my shopping list Purchase next item and cross it off my list while loop diulang hingga kondisi menjadi false Contoh: int product = 2; while ( product <= 1000 ) product = 2 * product;

38 PEDATI - Fasilkom UI Repetition Control [2] ( while ) product <= 1000 product = 2 * product true false Flowchart:

39 PEDATI - Fasilkom UI Repetition Control [3] ( while ) Pengulangan yang dikontrol sebuah counter Loop diulang hingga counter mencapai angka tertentu Disebut juga definite repetition karena jumlah pengulangan dapat kita ketahui Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata- rata kuis tersebut. Pseudocode: Set total to zero Set grade counter to one While grade counter is less than or equal to ten Input the next grade Add the grade into the total Add one to the grade counter Set the class average to the total divided by ten Print the class average

40 PEDATI - Fasilkom UI

41 PEDATI - Fasilkom UI Enter grade: 98 Enter grade: 76 Enter grade: 71 Enter grade: 87 Enter grade: 83 Enter grade: 90 Enter grade: 57 Enter grade: 79 Enter grade: 82 Enter grade: 94 Class average is 81

42 PEDATI - Fasilkom UI Repetition Control [4] ( while ) Pengulangan yang dikontrol sebuah sentinel Sentinel: tanda berhenti untuk keluar dari suatu loop, biasanya berupa karakter, angka, atau tombol di keyboard sebagai tanda. Misalnya ‘Q’ untuk exit. Loop diulang hingga mencapai sentinel tersebut Jumlah pengulangan belum dapat kita ketahui secara pasti

43 PEDATI - Fasilkom UI

44 PEDATI - Fasilkom UI

45 PEDATI - Fasilkom UI Enter grade, -1 to end: 75 Enter grade, -1 to end: 94 Enter grade, -1 to end: 97 Enter grade, -1 to end: 88 Enter grade, -1 to end: 70 Enter grade, -1 to end: 64 Enter grade, -1 to end: 83 Enter grade, -1 to end: 89 Enter grade, -1 to end: -1 Class average is Enter grade, -1 to end: -1 No grades were entered


Download ppt "PEDATI - Fasilkom UI 20051 PENGENALAN KONSEP PEMROGRAMAN (dalam bahasa C)"

Presentasi serupa


Iklan oleh Google