BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

dokumen-dokumen yang mirip
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

ALGORITMA PEMROGRAMAN DAN. Disusun Oleh : Mutaqin, MPd., MT

BAB IV HASIL PENELITIAN DAN PENERAPAN

SATUAN ACARA PERKULIAHAN (SAP)

KONTRAK PERKULIAHAN TIM KONSORSIUM

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Pemrograman II (Java)

SUMBER BELAJAR PENUNJANG PLPG

SILABUS MATA KULIAH PEMROGRAMAN JAVA

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : S1 SISTEM INFORMASI Semester : 2

Pertemuan 11 Object Oriented Program

SATUAN ACARA PERKULIAHAN (SAP)

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS ALGORITMA PEMROGRAMAN

STRUKTUR DENGAN ARRAY DAN FUNCTION

Modul II Object Oriented Programming

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

Kontrak Perkuliahan & Introduction

BAHASA PEMROGRAMAN JAVA

STANDAR KOMPETENSI DAN KOMPETENSI DASAR KELOMPOK PROGRAM PRODUKTIF SEKOLAH MENENGAH KEJURUAN

PROGRAM STUDI PENDIDIKAN TEKNIK ELEKTRO

KONTRAK PERKULIAHAN. [1] Manfaat Mata Kuliah. Mahasiswa mampu membuat program komputer dengan menggunakan bahasa pemrograman C.

Percabangan & Perulangan

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

OPERASI PERNYATAAN KONDISI

BAB II VARIABEL DAN TIPE DATA

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

2 TIPE DATA DAN VARIABEL

PEMROGRAMAN BERORIENTASI OBJEK

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

SATUAN ACARA PERKULIAHAN(SAP)

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

BAB V. STATEMEN KONTROL

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

SATUAN ACARA PERKULIAHAN (SAP) Dosen menerangkan materi kuliah. Mahasiswa duduk berkelompok dan saling membantu memahami penjelasan dosen

Percabangan & Perulangan

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

SATUAN ACARA PERKULIAHAN MATA KULIAH: Algoritma & Pemrograman 3 Strata/Jurusan : S1/Sistem Komputer

Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure

Obyektif : KONTROL ALUR PROGRAM

Dasar Pemrograman Java

SATUAN ACARA PERKULIAHAN MATA KULIAH: Algoritma & Pemrograman 3 Strata/Jurusan : D3/Teknik Komputer

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

OPERATOR DAN STATEMEN I/O

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

YUPOCOM COMPUTER EDUCATION. JavaScript. 1. Mengenal JavaScript Hal yang harus diketahui Apa itu JavaScript. 2.

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Pemrograman Lanjut Review Class dan Object PTIIK

Badiyanto, S.Kom., M.Kom. PBO java

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

Tipe Data dan Operator

24/09/2017 PERULANGAN

PEMAHAMAN DASAR DASAR JAVA

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Nama : Julian Chandra W Telp :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Operator, Statement kondisional, dan Iterasi pada Java

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pemrograman Berorientasi. Class dan Obyek 2

INTERAKSI ANTAR OBJECT

MODUL MATA KULIAH PEMROGRAMAN KOMPUTER

IKG2I4 / Software Project I

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

DASAR PEMOGRAMAN JAVA

JAVA BASIC PROGRAMMING Joobshet

Method / Fungsi / Sub Program

Inheritance (Pewarisan) Pengertian dasar inheritance

Bab 8. Dasar-Dasar OOP

BAB III PERANCANGAN PROGRAM

BAB 5 PERULANGAN DAN ARRAY

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Percabangan dan Perulangan

Teori Algoritma TIPE DATA

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

Modul 1 Dasar Dasar Bahasa Pemrograman C

Algoritma Pemrograman [BS204]

Transkripsi:

BAHASA PEMROGRAMAN Untuk SMK Penulis Editor Perancang Kulit Ukuran Buku : Suprapto Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto : Ratu Amilia Avianti : Tim : 18,2 x 15,7 cm Direktorat Pembinaan Sekolah Menengah Kejuruan Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Departemen Pendidikan Nasional Tahun 2008

KATA PENGANTAR Pertama kali kami memanjatkan rasa syukur ke hadirat Allah Subhanahu Wata la bahwasanya penyusunan buku dengan judul Bahasa Pemrograman ini dapat diselesaikan. Kerja keras yang telah dilakukan dalam penulisan ini telah membuahkan hasil dengan baik. Buku ini sangat berarti bagi para siswa Sekolah Menengah Kejuruan (SMK) terutama mereka yang mempelajari bidang teknologi informatika dan komunikasi atau bidang lain yang sejenis. Selain itu, dengan ditulisnya buku ini, akan menambah perbendaharaan pustaka yang dapat dijadikan pegangan bagi para guru. Kami menyadari bahwa ketersediaan buku yang memadai bagi para siswa dan guru sekarang ini dirasakan masih kurang. Sejalan dengan kemajuan jaman dan teknologi yang ada, maka sudah sepantasnya perlu ada upaya untuk mencerdaskan para siswa dengan kampanye penulisan buku. Buku yang ditulis ini diharapkan dapat menjembatani kebutuhan siswa dan guru terhadap materi-materi pelajaran yang diajarkan di sekolah. Dengan demikian keluhan sulitnya mencari buku bermutu yang ditulis dalam bahasa Indonesia sudah tidak akan didengar lagi. Sebagaimana yang ditulis dalam pengantar Buku Standar Kompetensi Nasional Bidang teknologi Informasi dan Telekomunikasi bahwa demikian luasnya bidang TIK, prioritas utama dalam penyusunan standar kompetensi ditujukan untuk bidang-bidang pekerjaan yang berhubungan dengan Teknologi Informasi dan Telekomunikasi. Namun buku pegangan bahasa Pemrograman ini akan memuat pengetahuan mendasar tentang bahasa Pemrograman khususnya bahasa Prosedural dan OOP. Selanjutnya bagi yang berkepentingan dengan buku ini dapat mengimplementasikannya dalam pemberdayaan proses belajar mengajar yang berlangsung di SMK. Dalam kesempatan ini ucapan terima kasih yang sebesar-besarnya disampaikan kepada para anggota Tim Penulis, para konstributor materi yang telah bersama kami menyusun dan menyempurnakan isi buku ini. Kepada Direktur Pembinaan Sekolah Menengah Kejuruan (PSMK), kami sampaikan penghargaan dan terima kasih atas dukungan dan bantuannya sehingga penulisan buku ini dapat dilaksanakan dengan baik dan berhasil memenuhi kriteria. Akhirnya kami persembahkan buku ini kepada para pelaksana di jajaran SMK. Apapun hasil yang telah dicapai merupakan perwujudan kerja keras yang hasilnya bersama-sama dapat kita lihat setelah implementasi dan siswa mencapai keberhasilan studi. Semoga bermanfaat bagi kita sekalian. Tim Penulis ii

DAFTAR ISI HALAMAN JUDUL... i KATA PENGANTAR... ii DAFTAR ISI... iii BAB 1. DASAR-DASAR PEMROGRAMAN KOMPUTER 1.1. Pendahuluan... 1 1.2. Perangkat Keras Komputer... 3 1.3. Arsitektur Komputer... 6 1.4. Kerja Komputer... 16 1.5. Sistem Bilangan... 19 1.6. Pemrograman Komputer... 28 1.7. Bahasa Pemrograman... 30 1.8. Penulisan Bahasa Pemrograman... 34 1.9. Element Bahasa Pemrograman... 38 1.10. Bahasa C++... 40 1.11. Struktur Bahasa C++... 42 1.12. Input/output... 45 1.13. Soal Latihan... 46 BAB 2. BAHASA DAN ALGORITMA PEMROGRAMAN 2.1. Bahasa Pemrograman... 47 2.2. Compiler dan Inteprete... 50 2.3. Tipe Pemrograman... 50 2.4. Algoritma... 52 2.5. Ciri Algoritma... 53 2.6. Penerapan Algoritma... 54 2.7. Notasi Algoritma... 55 2.8. Deskriptif Algoritma... 55 2.9. Flow chart... 56 2.10. Pseudo code... 60 2.11. Penerjemahan ke kode sumber... 61 2.12. Latihan Soal... 87 BAB 3. TIPE DATA DAN OPERATOR 3.1. Pengertian Data... 89 3.2. Indentifier... 90 3.3. Konstanta... 92 3.4. Variabel... 96 3.5. Tipe Data... 101 3.6. Operator Bahasa C++... 110 3.7. Operator Unary... 112 3.8. Operator Binary... 117 3.9. Operator Ternary... 126 3.10. Ungkapan (Ekspresi)... 128 3.11. Soal Latihan... 129 iii

BAB 4. STRUKTUR PERULANGAN 4.1. Perulangan... 131 4.2. Operator Increment dan Decrement... 132 4.3. Ekspresi Matematika ++ dan --... 133 4.4. Penghitung... 134 4.5. Pernyataan FOR... 136 4.6. Pernyataan NESTED FOR... 149 4.7. Pernyataan WHILE... 151 4.8. Pernyataan NESTED-WHILE... 155 4.9. Perulangan DO-WHILE... 158 4.10. Pernyataan NESTED DO-WHILE... 161 4.11. Perulangan Tidak Berhingga... 163 4.12. Pernyataan Break... 165 4.13. Pernyataan Continue... 167 4.14. Pernyataan Goto... 169 4.15. Latihan Soal... 170 BAB 5. STATEMENT KENDALI 5.1. Pengertian Statement... 171 5.2. Operator Relasi... 172 5.3. Statement IF... 176 5.4. Pernyataan IF/ELSE... 184 5.5. Pernyataan IF/ELSE IF... 188 5.6. Pernyataan IF/ELSE Majemuk... 196 5.7. Pernyataan NESTED IF... 198 5.8. Operator Logika... 202 5.9. Operator Kondisional... 208 5.10. Statement SWITCH... 211 5.11. Pernyataan Switch Case... 212 5.12. IF...THEN, IF...THEN...ELSE dan Nested IF... 218 5.13. Aplikasi Pernyataan IF pada Menu... 220 5.14. Soal Latihan... 222 BAB 6. PROSEDUR DAN SUBROUTIN 6.1. Prosedur... 223 6.2. Parameter Prosedur... 224 6.3. Pemanggilan Prosedur... 225 6.4. Sub Rutin... 228 6.5. Sub Rutin dalam Bahasa Pemrograman... 229 6.6. Function yang Mengembalikan Nilai... 233 6.7. Function yang Tidak Mengembalikan Nilai... 236 6.8. Function Call Function... 239 6.9. Call by Value dan Call by References... 241 6.10. Parameter dengan Nilai Default... 244 6.11. Overloading... 246 6.12. Latihan Soal... 251 iv

BAB 7 FUNGSI 7.1. Pendahuluan... 253 7.2. Fungsi Void... 255 7.3. Pemanggilan Fungsi... 255 7.4. Prototipe Fungsi... 262 7.5. Pengiriman data pada Fungsi... 264 7.6. Passing Data by Value... 269 7.7. Pernyataan Kembali... 271 7.8. Mengembalikan Nilai dari Fungsi... 272 7.9. Pengembalian Nilai Boolean... 276 7.10. Menggunakan Fungsi dalam program menu... 277 7.11. Variabel Lokal dan Global... 279 7.12. Variabel Static Local... 284 7.13. Soal Latihan... 287 BAB 8. OPERASI STRING 8.1. String pada bahasa C... 289 8.2. Pointer pada Operasi String... 294 8.3. Library String Bahasa C++... 295 8.4. Membandingkan string... 298 8.5. Operator Logika NOT... 302 8.6. Pengurutan String... 302 8.7. Fungsi konversi String/Numeric... 306 8.8. Menguji sebuah Karakter... 309 8.9. Deskripsi Fungsi Karakter... 311 8.10. Konversi Karakter... 314 8.11. Menulis string... 316 8.12. Pointer untuk menguraikan String... 319 8.13. Class String pada C++... 321 8.14. Membuat Class String Sendiri... 327 8.15. Studi Kasus... 330 8.16. Soal Latihan... 332 BAB 9. ARRAY 9.1. Pengertian Array... 333 9.2. Deklarasi Array... 339 9.3. Inisialisasi Array... 342 9.4. Array multi dimensi... 342 9.5. Mengurutkan element Array... 346 9.6. Contoh program array... 350 9.7. Soal Latihan... 353 BAB 10. REKURSIF 10.1. Pengertian Rekursif... 355 10.2. Pengertian Teknik Iteratif... 361 10.3. Perbandingan Teknik Rekursif dan Teknik Iteratif... 361 v

10.4. Algoritma Teknik Rekursif... 364 10.5. Algoritma Teknik Iteratif... 365 10.6. Penerapan Algoritma Rekursif... 366 10.7. Penerapan Algoritma Iteratif... 368 10.8. Soal Latihan... 372 BAB 11. GRAFIK 11.1. Pengertian Grafik... 373 11.2. Grafik Library... 374 11.3. Grafik Sederhana... 375 11.4. Animasi Grafik... 382 11.5. Dasar-dasar Game... 392 11.6. Soal Latihan... 398 BAB 12. OPERASI FILE 12.1. Pengertian File... 399 12.2. Class stream... 401 12.3. Hirarki class stream... 402 12.4. File Input/Output C++... 404 12.5. Pembacaan String... 407 12.6. Routin-routin konversi File... 409 12.7. File Binary dan ASCII... 412 12.8. Binary I/O... 414 12.9. Buffer... 414 12.10. Rutin-rutin pada C++... 420 12.11. File sekuensial... 422 12.12. Program Operasi FiIe... 425 12.13. Soal Latihan... 431 BAB 13. POINTER 13.1 Pemrograman pointer... 433 13.2 Deklarasi variabel bertipe pointer... 436 13.3 Inisialisasi Pointer... 439 13.4 Pointer untuk fungsi... 442 13.5 Mengakses dan Mengubah isi Pointer... 447 13.6 Array dan Pointer... 450 13.7 Pointer dalam Fungsi... 459 13.8 Fungsi Pointer ke Static Class Member Function... 466 13.9 Fungsi Pointer pada Class anggota Fungsi Non-static... 468 13.10 Soal Latihan... 470 BAB 14. CLASS 14.1. Obyek dan Class... 471 14.2. Tipe Class... 472 14.3. Deklarasi Class... 474 14.4. Struktur dan kelas... 479 14.5. Constructor dan destructor... 486 vi

14.6. Overloading Constructor... 488 14.7. Menulis Class... 489 14.8. Reference this... 495 14.9. Overloading Method... 495 14.10. Access Modifier... 500 14.11. Contoh Program Class... 501 14.12. Soal Latihan... 505 BAB 15. PEMROGRAMAN BERORIENTASI OBYEK 15.1. Pemrograman Object-Oriented dan Prosedural... 505 15.2. Perbedaan Object-Oriented dan Prosedural... 506 15.3. Pemrograman berorientasi objek... 506 15.4. Immutable obyek... 510 15.5. Modularitas dan Abstraksi Data... 512 15.6. Modularitas dan Penyebunyian Informasi... 517 15.7. Interface... 518 15.8. Interface dan Class... 519 15.9. Hubungan dari Interface ke Class... 521 15.10. Pewarisan Antar Interface... 522 15.11. Soal Latihan... 522 BAB 16. S INHERITANCE, FRIENDS, POLYMORPHISM DAN OVERLOADING 16.1. Menggunakan Obyek dan Class... 523 16.2. Realisasi Prosedur dan Fungsi dalam Class... 530 16.3. Class Private, Class Public, dan Class Protected... 534 16.4. Friend... 541 16.5. Friend class... 554 16.6. Inheritance... 557 16.7. Class basis virtual... 565 16.8. Inheritance between class... 569 16.9. Multiple inheritance... 571 16.10. Polymorphism... 572 16.11. Overloading... 579 16.12. Soal Latihan... 583 LAMPIRAN... 585 vii