Pertemuan Ke-2

Download Report

Transcript Pertemuan Ke-2

Dasar Pemograman

Pertemuan Ke-2

ALFITH, S.Pd, M.Pd

Pendahuluan : Konsep memprogram, bahasa pemrograman dan komputer

Tujuan Perkuliahan …

 Menguasai dasar-dasar pemrograman komputer:  Perancangan program dan logika pemrograman  Implementasi pemrograman komputer menggunakan bahasa pemrograman C

Yang perlu disiapkan …

  Buku acuan :  The C programming language – Brian W Kernighan, Dennis M Ritchie  Buku-buku lain tentang C (tersedia banyak e-book C di internet misalnya di www.cplusplus.com) Komputer PC/laptop dengan kompiler C/C++ untuk pengerjaan tugas di rumah. Kompiler C/C++ yang bisa digunakan:  Dev C++ (gratis, bisa didownload dari internet)    Visual C++ Borland C++ Turbo C++, dll

Mengapa bahasa pemrograman??

Mengapa harus memprogram??

Bahasa merupakan sarana untuk berkomunikasi  Untuk ‘berkomunikasi’ dengan komputer kita perlu menguasai ‘bahasa komputer’  Bahasa yang dimengerti komputer adalah bahasa pemrograman  Memprogram adalah proses berkomunikasi dengan komputer  Tujuan memprogram komputer:memerintahkan komputer untuk melakukan tugas-tugas komputasi dan input-output sesuai yang diinginkan pemrogram

 Komputer merupakan salah satu produk teknologi tinggi yang dapat melakukan hampir semua pekerjaan diberbagai disiplin ilmu, tetapi komputer hanya akan merupakan barang mati tanpa adanya bahasa pemrograman untuk menggambarkan apa yang kita kerjakan, sistem bilangan untuk mendukung komputasi, dan matematika untuk menggambarkan prosedur komputasi yang kita kerjakan.

Bagaimana komputer menjalankan instruksi-instruksi pemrograman??

 Gambaran sederhana komputer dan instruksi pemrograman: ‘memori’ Instruksi 1 Instruksi 2 eksekusi eksekusi secara sekuensial (berurutan) Instruksi 3 komputer Instruksi 4 . . . .

Instruksi n

Perkembangan Bahasa Komputer

Berdasarkan tingkat ‘kecanggihannya’: 1.

Bahasa Generasi Pertama (1 st GL):bahasa mesin 2.

Bahasa Generasi Kedua(2 nd GL):bahasa assembly 3.

Bahasa Generasi Ketiga:Bahasa Tingkat Tinggi  yang akan kita pelajari

 Ukuran ‘kecanggihan’ suatu bahasa pemrograman tersebut diukur dari kemudahan programmer menyusun suatu program  Lebih ‘tidak canggih’ bukan berarti tidak ‘powerful’  kadang-kadang dalam membuat suatu program dibutuhkan penggunaan bahasa tingkat 1 atau 2 atau kombinasi antara bahasa tingkat tinggi dengan bahasa assembly. Tergantung tujuan programnya dan komputer jenis apa yang diprogram.

Bahasa Generasi Pertama (Bhs Mesin)      Merupakan kode-kode bilangan biner, terdiri dari kombinasi bilangan ‘1’ dan ‘0’ Setiap kombinasi mewakili satu instruksi Instruksi bahasa mesin tergantung dari jenis komputer yang dipakai(machine dependent)   contoh: instruksi transfer data dari akumulator ke register: Komputer intel 8051 1) : ‘01000111B’ (47H) Komputer Z80 2) : ‘00010011B’ (13H) Pemrograman bahasa mesin: instruksi-instruksi langsung dimasukkan ke memori untuk dieksekusi komputer 1) 2) Intel 8051 adalah komputer generasi lama yang sekarang digunakan sebagai mikrokontroler Z80 adalah komputer generasi lama produksi Zilog

Bahasa Generasi Ke-2 (bhs assembly)      Merupakan penyempurnaan bhs generasi pertama, sudah memasukkan unsur kata bahasa Inggris dalam bentuk singkat Masih bersifat machine dependent Penulisan sudah jauh lebih mudah dari bahasa mesin,tetapi programmer tetap harus memahami perangkat keras komputer Beberapa variabel masih mengacu pada register,alamat memori maupun I/O Contoh: instruksi transfer data dlm bhs assembly:  Komputer 8051 : MOV R1,#22H  Komputer AVR 3) : LDI R1,0x22 3) AVR digunakan sebagai mikrokontroller produksi Atmel

Bahasa Generasi ke-3 (Bhs Tingkat tinggi)  Memasukkan lebih banyak unsur kata bahasa Inggris yang digunakan sehari-hari dan mempunyai sintaksis yang lebih baik  Merupakan bahasa pemrograman yang digunakan sekarang pada umumnya untuk memprogram komputer  Contoh macam-macam bahasa tingkat tinggi: Pascal, C, C++,BASIC dsb

Contoh listing program dalam bahasa C :source code program hello world1 

#include

  

int main () { char quit;

        

} quit = '\0'; while (quit != 'q') { } printf("Hello World!\n"); printf("Press q then enter to quit\n"); scanf("%c",&quit); return 0;

Tampilan program ketika dijalankan

Pemrosesan program pada bahasa tingkat tinggi oleh komputer

Listing Program/source code (biasanya dalam bentuk file teks) Proses kompilasi : menerjemahkan bahasa tingkat tinggi menjadi bahasa mesin dalam bentuk file objek File objek : merupakan program yang telah diterjemahkan ke bahasa mesin Proses Link : menambahkan informasi tentang karakteristik komputer yang digunakan ke dalam bhs mesin File binary/executable : file program yang siap dieksekusi(dijalankan) Proses eksekusi : menjalankan program yang telah dibuat

IDE (Integrated Development Environment)  Pada umumnya programmer tidak perlu menjalankan pemrosesan program seperti di atas karena beberapa bahasa pemrograman(termasuk C++) sudah mempunyai IDE  Dengan IDE, proses kompilasi,link, dan eksekusi cukup dilakukan dengan sekali ‘klik’

Perancangan Program

 Sebelum menulis program ada beberapa hal yang bisa dilakukan untuk membantu programer dalam merancang program :  Pembuatan Algoritma  Pembuatan Flowchart (diagram alir)  Proses tersebut tidak harus dilakukan,karena fungsinya hanya untuk membantu merancang program

Algoritma   Merupakan penjabaran urutan proses yang akan dikerjakan oleh program yang akan kita rancang dalam bentuk kalimat-kalimat 2.

3.

4.

5.

6.

1.

Contoh : Algoritma pertukaran data 2 buah variabel (misalnya variabel a dan b,pada awal program bernilai a=3 dan b=5, pada akhir program bernilai a=5 dan b=3) Inisialisasi variabel : a=3, b=5, deklarasikan variabel tambahan yaitu c Tampilkan nilai awal a dan b Transfer nilai a ke c (c = a) Transfer nilai b ke a (a = b) Transfer nilai c ke b (b = c) Tampilkan nilai a dan b

Flowchart (diagram alir)  Merupakan penjabaran urutan proses yang akan dikerjakan oleh program yang akan kita rancang dalam bentuk diagram(grafis)  Tiap-tiap penanda dalam program mempunyai simbol dalam flowchart  Penanda-penanda tersebut adalah:  Awal/akhir program (terminal)  Suatu proses dalam program (process)  Input/output  Proses yang telah terdefinisi (Predefined Process)  Pengambilan keputusan (decision)

Simbol –simbol flowchart

Terminal Symbol: indicates the starting or stopping pointin the logic.

Input/Output Symbol: Represents an input or output process in an algorithm Process Symbol: Represents any single process in an algorithm Predefined Process Symbol: Decision Symbol: Represents a decision in the logic involving the comparison Of two values.

Contoh flowchart

 Pertukaran 2 variabel mulai Inisialisasi : A = 3 B = 5 Tampilkan A dan B C = A A = B B = C Tampilkan A dan B selesai

Algoritma program ‘hello world’  1.

Penjelasan program hello world dalam sebuah algoritma: Mulai 2.

3.

4.

Deklarasi variabel

quit

bertipe

char

Inisialisasi

quit

dengan nilai “/0” Ketika

quit

tidak bernilai ‘q’ lakukan hal berikut terus menerus: 4.1. tampilkan “hello world .. dst” 4.2. baca variabel

quit

dari keyboard disertai penekanan enter (variabel

quit

akan ter-update) 5.

Selesai

Flowchart program hello world

mulai quit = “/0” quit = ‘q’ ?

TIDAK YA Tampilkan “hello world, dst” Baca quit dari keyboard selesai

 Materi kuliah ini, termasuk master Dev C++ bisa diunduh di: www.te.ugm.ac.id/~enas/progdas