Rabu, Agustus 11, 2021

Modul Pemrograman Dasar

 


 

 

 

PETA KOMPETENSI

 

Kompetensi Dasar

Materi Pokok

KD 3.1 - 4.1

Algoritma Pemrograman

KD 3.2 – 4.2

Algoritma Percabangan

KD 3.3 – 4.3

Algoritma Perulangan

KD 3.4 – 4.4

Bahasa Pemrograman

KD 3.5 – 4.5

Tipe Data, Variabel, Operator, dan Ekspresi

KD 3.6 – 4.6

Struktur Kontrol Percabangan

KD 3.7 – 4.7

Struktur Kontrol Perulangan

KD 3.8 – 4.8

Pengembangan Algoritma Aplikasi

 

KD 3.1, 3.2, 4.1, 4.2

Operasi Aritmatika dan Logika

KD 3.3, 3.4, 3.5, 4.3, 4.4, 4.5

Array

KD 3.6, 3.7, 4.6, 4.7

Operasi String dan Konversi Data

KD 3.8, 4.8,

Pointer

KD 3.9, 3.10, 3.11, 3.12, 4.9, 4.10, 4.11, 4.12

Fungsi

KD 3.13, 3.14, 4.13, 4.14

Pencarian dan Pengurutan Data

KD 3.15, 4.15

Pengembangan Aplikasi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2


BAB I KEGIATAN BELAJAR Kegiatan Belajar 1 : Algoritma Pemrograman

A.  Tujuan Pembelajaran

Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :

1)   Memahami Konsep Algoritma

2)   Memahami Struktur Algoritma

3)   Memahami Algoritma menggunakan bahasa natural Algoritma

4)   Memahami Pseudocode

5)   Memahami Flowchart dan penggunaan Tool Flowcahrt

6)   Pengenalan Variabel

7)   Memahami Pengenalan tipe data

8)   Memahami Pengenalan operator

 

 

 

B.  Uraian Materi

1.   Pengantar Algoritma Pemrograman

 

Belajar memprogram  adalah belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang disepakati  bersama.

“lebih bersifat pemahaman persoalan, analisis, sintesis

 

Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan sintaks (tatabahasa), setiap instruksi yang ada dan tata cara pengoperasian kompilator atau interpreter bahasa yang bersangkutan pada mesin tertentu.

Jadi :

BELAJAR MEMPROGRAM””

TIDAK SAMA DENGAN

BELAJAR BAHASA PEMROGRAMAN

 

1.1    Algortima dan pemrograman Dasar

 

 

 
Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad bin Musa al-Khwarizmi. Bagi kalian yang sedang berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang di samping ini. Dia adalah seorang ilmuwan Islam yang karya karyanya dalam bidang matematika, astronomi, astrologi dan geografi banyak menjadi dasar  perkembangan  ilmu  modern. Dan  dari namanya istilah yang akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi

kemudian   berubah menjadi algorithm dalam Bahasa Inggris dan diterjemahkan menjadi

algoritma dalam bahasa Indonesia.

 

1.2    Definisi Algortima

 

1.   Algoritma  adalah  urutan  langkah-langkah  logis  penyelesaian  masalah  yang  disusun secara sistematis.


Algoritma  yang  dapat  menyelesaikan  suatu  permasalahan  dalam  waktu  yang  singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

 

 

1.3    Struktur Algortima

Perhatikan algoritma sederhana berikut :

Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus

dilakukan adalah:

1. Menyiapkan Peralatan Tulis

2. Menulis surat

3. Surat dimasukkan ke dalam amplop tertutup

4. Amplop ditempeli perangko secukupnya.

5. Pergi ke Kantor Pos terdekat untuk mengirimkannya

 

Algoritma menghitung luas persegi panjang:

1. Masukkan panjang (P)

2. Masukkan lebar (L)

3. Luas P * L

4. Tulis Luas

 

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

a)   Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman

manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

b)  Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. c)   Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena

algoritmanya sama.

 

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

a)   Teks  algoritma  berisi  deskripsi  langkah-langkah  penyelesaian  masalah.Deskripsi

tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

b)  Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi  bahasa

pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

c)   Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi

algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.

d)  Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam

notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi  mesin  yang menjalannya.  Pseudocode  adalah  kode yang mirip dengan instruksi kode program sebenarnya.

e)   Algoritma  sebenarnya  digunakan  untuk  membantu  kita  dalam  mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.


f)    Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman

 

Perhatikan algoritma sederhana berikut : Algoritma menghitung luas segitiga

1.   Start

2.   Baca data alas dan tinggi.

3.   Luas adalah alas kali tinggi kali 0.5

4.   Tampilkan Luas

5.   Stop

 

Penjelasan :

Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada

algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya

satu kali.

Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.

 

Hasil perbaikan algoritma perhitungan luas segitiga

1.   Start

2.   Baca data alas dan tinggi.

3.   Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka

lanjutkan ke langkah ke 4 jika tidak maka stop

4.   Luas adalah alas kali tinggi kali 0.5

5.   Tampilkan Luas

6.   Stop

 

Dari  penjelasan  di  atas  dapat  diambil  kesimpulan  pokok  tentang  algori tma.  Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

 

 

Contoh : Algoritma Berangkat Sekolah

Mulai


 

 

 

 

 

 

 

 

 

Selesai


Bangun dari tempat tidur

Mandi Pagi Sarapan Pagi Pergi Ke Sekolah Cari Ruang Kelas

Masuk kelas untuk Belajar


 

Beda Algoritma dan Program ?

Program   adalah   kumpulan   pernyataan   komputer,   sedangkan   metode   dan   tahapan

sistematis dalam program adalah algoritma. Program ditulis dengan menggunakanbahasa

pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

 

Program = Algoritma + Bahasa (Struktur Data)


Penerjemah Bahasa Pemrograman

Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan

interpreter.

 

Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program.

 

Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar.

 

 

Perbedaan Compiler dan interpreter.

Compiler

Interpreter

Menterjemahkan secara keseluruhan

Menterjemahkan Instruksi per instruksi

Bila terjadi kesalahan kompilasi maka

source program harus diperbaiki dan

dikompilasi ulang

Bila terjadi kesalahan interprestasi dapat

Diperbaiki

Dihasilkan Object program

Tidak dihasilkan obyek program

Dihasilkan Executable program

Tidak dihasilkan Executable program

Proses pekerjaan program lebih cepat

Proses pekerjaan program lebih lambat

Source program tidak dipergunakan hanya bila untuk perbaikan saja

Source program terus dipergunakan

Keamanan dari program lebih terjamin

Keamanan dari program kurang terjamin

 

1.4    Jenis-Jenis Bahasa Pemrograman

·    Bahasa Pemrograman Tingkat rendah (Bahasa mesin, Biner)

·    Bahasa Pemrograman Tingkat tinggi

 

Contoh-contoh Bahasa Pemrograman yang ada :

1.    Prosedural : Algol, Pascal, Fortran, Basic, Cobol, C

2.    Fungsional : LOGO, APL, LISP

3.    Deklaratif : Prolog

Object oriented murni: Smalltalk, Eifel, Java, PHP

 

Cara penulisan algortima

Ada tiga cara penulisan algoritma, yaitu :

1.   Structured English (SE)

SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE

adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga

kita boleh menyebutnya sebagai Structured Indonesian (SI).

 

SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan

kepada pemakai perangkat lunak”

 

2.   Pseudocode

Pseudocode   adalah   kode   yang   mirip   dengan   instruksi   kode   program   sebenarnya.

Pseudocode  didasarkan  pada  bahasa  pemrograman  yang  sesungguhnya  seperti  BASIC,


FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan.

“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program

Contoh Pseudocode :

1.   Start

2.   READ alas, tinggi

3.   Luas = 0.5 * alas * tinggi

4.   PRINT Luas

5.   Stop

 

Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata baca data” dan tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

 

1.5 Membuat Alur Logika Pemograman

 

A.  Penyajian atau Penulisan Algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar.  Algoritma  yang disajikan  dengan  tulisan  yaitu dengan  struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode.

 

Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu dengan Flowchart

 

B.  Flowchart (Diagram Alir)

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan a liran (flow) di

dalam suatu program secara logika.

Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam

bentuk    notasi-notasi    tertentu.    Flowchart    merupakan    gambar    atau    bagan    yang

memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini

dinyatakan   dengan   simbol.   Dengan   demikian   setiap   simbol   menggambarkan   proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian- bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai  fasilitas untuk berkomunikasi antara pemrogram  yang bekerja dalam tim  suatu proyek.

 

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:

1)   Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga

jalannya proses menjadi singkat.

2)   Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk

memperjelas.


3)   Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

 

Berikut   merupakan   beberapa   contoh   simbol   flowchart   yang   disepakati   oleh   dunia pemrograman:

 

 

Penjelasan lebih lanjut :

Simbol-simbol  bagan alir program (Flowchart)

 

 

·                                     Notasi    Membuat    algoritma    sederhana    untuk    menyelesaikan permasalahan menggunakan bahasa natural, flowchart dan pseudocode

 

 

 

 

·                                 Notasi ini disebut Data yang digunakan untuk   mewakili data input atau output atau menyatakan operasi pemasukan data dan pencetakan hasil

 

 

 

 

·                                  Notasi  ini  disebut  Process  yang  digunakan  untuk  mewakili  suatu proses.

 

 

 

 

 

·                                 Notasi  ini  disebut  Decision  yang  digunakan  untuk  suatu  pemilihan, penyeleksian kondisi di dalam suatu program

 

 

 

 

·                                 Notasi  ini disebut Preparation  yang digunakan  untuk memberi  nilai awal, nilai akhir, penambahan/pengurangan bagi suatu variabel counter.

 

 

·                                 Notasi   ini   disebut   Predefined    Process   yang   digunakan    untuk menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub- prosedur,  fungsi)

 

 

 

 

·              Notasi ini disebut Connector yang digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutnya.

 

 

 

 

·  Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus         data   atau   aliran data dari proses satu ke proses lainnya.

 

Contoh program Flowchart

 

 

 

 

Bagan alir logika program                                       Bagan alir program komputer terinci


C.   Struktur Dasar Algoritma

Algoritma  berisi  langkah-langkah  penyelesaian  suatu  masalah.  Langkah-langkah  tersebut

dapat  berupa  runtunan  aksi  (sequence),  pemilihan  aksi  (selection),  pengulangan  aksi

(iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:

1.   Struktur  Runtunan  /  Beruntun  :  Digunakan  untuk  program  yang  pernyataannya

sequential atau urutan.

2.   Struktur Pemilihan / Percabangan : Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.

3.   Struktur Perulangan : Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.

 

1.   Struktur Algoritma Runtunan / Berurutan :

Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan

(sequencing), struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan  (looping).  Sebuah  algoritma  biasanya  akan  menggabungkan  ketiga  b uah struktur ini untuk menyelesaikan masalah.

 

Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan tercapai. Struktur berurutan terdiri satu atau lebih instruksi.

 

Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi. Urutan instruksi menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah.

 

Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan -ketentuan sebagai berikut:

·  Tiap instruksi dikerjakan satu persatu

·  Tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang

·  Urutan  instruksi  yang  dilaksanakan  pemroses  sama  dengan  urutan  aksi  sebagaimana yang tertulis di dalam algoritmanya

·  Akhir dari instruksi terakhir merupakan akhir algoritma.


 

 

 

 
Contoh bagan alir logika program berurutan (sequencing)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.   Struktur Algoritma Percabangan

Sebuah  program  tidak  selamanya  akan  berjalan  dengan  mengikuti  struktur  berurutan,

kadang-kadang kita perlu  merubah urutan pelaksanaan program dan menghendaki agar

pelaksanaan  program  meloncat  ke  baris  tertentu.  Peristiwa  ini  kadang  disebut  sebagai

percabangan/pemilihan atau keputusan. Hal ini seperti halnya ketika mobil/motor berada

dalam persimpangan

 

Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi yang disyaratkan dipenuhi. Pada proses seperti ini simbol flowchart Decision harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan menentukan cabang mana yang akan ditempuh.

 

Contoh Struktur percabangan untuk masalah batasan umur.

Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17

tahun maka penonton tidak diperbolehkan nonton. Buatlah flowchart untuk permasalahan tersebut.

 

Penyelesaian:

Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan jika ..maka ...(atau If ... Then dalam Bahasa Inggris.

 

Bagan alir logika (Flowchart) penyelesaian masalah nonton film


 

 

 

2.   Struktur Algoritma Perulangan / Pengulangan

Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang

berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil

 

Struktur pengulangan terdiri dari dua bagian :

·  Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan.

Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai

benar (true) atau salah (false)

·  Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang

 

Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian   insialisasi   umumnya   digunakan   untuk   memberi   nilai   awal   se buah   variable. Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan.  Ada  beberapa bentuk pengulangan  yang  dapat digunakan,  masing-masing dengan syarat dan karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk yang hanya cocok untuk kasus tertentu saja.

Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan bentuk pengulangan yang tepat bergantung pada masalah yang akan

diprogram.

 

Bagan alir logika (flowchart) untuk mencetak pernyataan sebanyak 100 kali


 

Bagan alir logika (Flowchart) untuk mencetak anggota suatu himpunan.

 

 

 

 

·    Struktur pengulangan dengan For

Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua  dalam  bahasa  pemrograman.  Hampir  semua  bahasa  pemrograman  menyediakan metode  ini,  meskipun  sintaksnya  mungkin  berbeda.  Pada  struktur  For  kita  harus  tahu terlebih  dahulu  seberapa  banyak  badan  loop  akan  diulang.  Struktur  ini  menggunakan sebuah variable yang biasa disebut sebagai loop s counter, yang nilainya akan naik atau turun selama proses pengulangan.


Contoh :

Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5, .., 19. Buatlah flowchart

untuk mencetak anggota himpunan tersebut.

 

Penyelesaian:

Pada  contoh  ini,  kita  mencoba  menentukan  hasil  dari  sebuah  flowchart  .  Bagaimana

menurut kalian jawabannya? Marilah kita uraikan jalannya fowchart tersebut. Pada flowchart, setelah Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel counter -nya adalah X dengan nilai awal 1 dan nilai akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A + 2. Pernyataan ini mungkin agak aneh, tap i ini adalah sesuatu yang pemrograman. Arti dari pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah 2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7, ..,

19.

 

 

·    Struktur pengulangan dengan While

Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena nilai

awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita

tidak  tahu  pasti  harus  berapa  kali  mengulang?  Pengulangan  dengan  While  merupa kan

jawaban dari permasalahan ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan  struktur  yang  didukung  oleh  hampir  semua  bahasa  pemrograman  namun dengan sintaks yang berbeda.

Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While

bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang. Penyelesaian: Perhatikan Gambar. bisakah kalian menentukan hasil dari flowchart tersebut? Perhatikan tahapan eksekusi flowchart berikut ini.


·    Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter.

·    Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (<b10). Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada

awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1.

·    Jalankan perintah Print B.

·    Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3).

·    Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


BAB II KEGIATAN BELAJAR Kegiatan Belajar 2 : Bahasa Pemrograman

1..   Pengenalan IDE Dev C++

Penjelasan

IDE merupakan singkatan dari Integrated Development Environment, merupakan Lembar

kerja terpadu untuk pengembangan program. IDE dari Dev C++, dapat digunakan untuk :

·    Menulis Naskah Program.

·    Mengkompilasi Program ( Compile )

·    Melakukan Pengujian Program ( Debugging )

·    Mengaitkan Object dan Library ke Program ( Linking )

 

 
·    Menjalankan Program ( Running ) Tampilan IDE Dev C++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gambar 1.2. IDE Dev C++ 4.9.9.2

 

IDE pada Dev C++, terbagi menjadi 4 (empat) bagian, yaitu :

a.   Menu Utama ( Menubar )

Menu utama terdiri dari ; File, Edit, Search, View,

Project,Execute,Debug,Tools,CVS,Windows dan Help

b.   Jendela Text Edit

Tempat  untuk  mengetikan  program  dan  membuat  program.  Jika  pertama  kali  anda

membuat program, nama file jendela editor adalah Untitled1

c.    Jendela Message

Tempat untuk menampilkan pesan-pesan pada proses kompilasi dan link program.

d.   Baris Status

Baris dimana menampilkan keterangan-keterangan pada saat anda mengaktifkan menu bar

dan sub menu.

 

4.   Membuat File Editor

Penjelasan

File Editor merupakan File Program yang dapat dikompile, dan dijalankan untuk menampilkan hasilnya serta mempunyai ekstensi .CPP. Cara mengaktifkannya : Klik Menu File Gambar 1.3 Klik New, Source File

 

Gambar 1.3 Membuat File baru

 

Gambar 1.4 Menulis kode program

 

5.   Menyimpan File Editor

Penjelasan

Setelah  selesai  mengetikan  naskah  program  yang  baru  pada  jendela  Text  Edit,  maka

selanjutnya disimpan dengan cara :

a.   Kik Menu File Save b.   Menekan Ctrl + S.

Selanjutnya tampil jendela Save File As, seperti dibawah ini :


Gambar 1.5 menyimpan file

 

 

 

6.   Menterjemahkan Program

Penjelasan

Proses Compile merupakan suatu proses menterjemahkan program dari bahasa manusia kedalam bahasa yang dimengerti oleh komputer yaitu bahasa mesin. Caranya adalah :

a.   Kik Menu Project Compile b.   Menekan HotKey Ctrl + F9

Selanjutnya tampil kotak dialog Compile, seperti dibawah ini :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gambar 1.6 Menterjemahkan/compile program


7.   Menjalankan Program

Penjelasan

Proses Run merupakan suatu proses menterjemahkan program, melakukan proses linking,

membuat file eksekusi ( .exe ) dan sekaligus menjalankan program. Caranya adalah :

a.   Kik Menu Debug Run

b.   Menekan HotKey Ctrl + F10

Selanjutnya tampil kotak dialog Run, seperti dibawah ini :

 


 

Catatan


Gambar 1.7 Menjalankan program


Jika program yang dijalankan tidak muncul, untuk melihat hasil compile dapat dijalankan di command prompt


8.   Struktur Program C/C++

 

Penjelasan

Struktur program C++, sama seperti struktur program C yang terdahulu. Struktur program C++ terdiri sejumlah blok fungsi, setiap fungsi terdiri dari satu atau beberapa pernyataan yang melaksanakan tugas tertentu.

 

 

#include <file-include>

main()

{

pernyataan;

}

 

 

Contoh-1

#include <stdio.h>

#include <conio.h>

int main()

{

printf("Bahasa C\n");

}

 

Output yang akan dihasilkan, dari program 1 diatas adalah :

Bahasa C

 

9.   Model Memori

Penjelasan

C/C++, mempunyai enam model memori untuk program dan data. Model-model memori

tersebut adalah :

·    Model Tiny

·    Model Small

·    Model Medium

·    Model Compact

·    Model Large

·    Model Huge

 

a.   Model Tiny

Penjelasan

Model memori yang menyediakan jumlah memori untuk program dan data tidak lebih dari

64 Kb.

b.   Model Small

Penjelasan

Model memori yang menyediakan jumlah memori untuk masing-masing program dan data tidak lebih dari 64 Kb.

c.   Model Medium

Penjelasan

Model memori yang menyediakan jumlah memori untuk program tidak lebih dari 64 Kb dan

data tidak lebih dari 64 K.

d.   Model Compact

Penjelasan


Model memori yang menyediakan jumlah memori untuk program lebih dari 64 Kb dan data tidak lebih dari 64 K.

e.   Model Large

Penjelasan

Model memori yang menyediakan jumlah memori untuk program dan data lebih dari 64 K.

f.    Model Huge

Penjelasan

Model memori yang menyediakan jumlah memori untuk menyimpan satu jenis data.


BAB III KEGIATAN BELAJAR Kegiatan Belajar 3 : Bahasa Pemrograman

A.   Uraian Materi

Tipe Data, Variabel Konstanta, Operator, dan Ekspresi

Variabel, konstanta dan tipe data merupakan tiga hal yang akan selalu kita jumpai ketika kita membuat program. Bahasa pemrograman apapun dari yang paling sederhana sampai yang

paling kompleks, mengharuskan kita untuk mengerti ketiga hal tersebut.

 

1.   Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan

dalam pemrograman komputer.

 

Setiap  variabel  atau  konstanta yang  ada  dalam  kode  program,  sebaiknya  kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.

 

Ada banyak tipe data yang tersedia tergantung jenis bahasa pemrograman yang dipaka i. Namun secara umum dapat dikelompokkan seperti pada Gambar dibawah ini

 


Ada 2 jenis tipe data :

1.   Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman.

2.   Tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.

 

·    Tipe data numeric

Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam

bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.

 

Jenis yang termasuk dalam tipe data numeric antara lain :

1.   integer (bilangan bulat)

2.   float (bilangan pecahan).

3.   tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas

4.   Tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.

 

Penentuan  tipe  data  numeric untuk  suatu  variabel/konstanta harus  sangat berhati-hati. Manual dan petunjuk pada masing-masing bahasa pemrograman pada bagian tipe data harus diperhatikan dengan seksama.

 

Tipe data

Ukuran memori

Jangkuan nilai

Jumlah Digit

Char

1 Byte

-128 s.d 127

 

Int

2 Byte

-32768 s.d 32767

 

Short

2 Byte

-2,147,435,648 s.d 2,147,435,647

 

Long

4 Byte

-2,147,435,648 s.d 2,147,435,647

 

Float

4 Byte

3.4 x 10-38 s.d 3.4 x 10+38

5–7

Double

8 Byte

1.7 x 10-308 s.d 1.7 x 10+308

15 – 16

Long Double

10 Byte

3.4 x 10-4932 s.d 1.1 x 10+4932

19

Tipe Data Tambahan, yang dimiliki oleh Bahasa C/C++, adalah :

Unsigned digunakan bila data yang digunakan hanya data yang positif saja

Tipe Data Tambahan

Tipe Data

Jumlah Memori

Jangkauan Nilai

Unsigned Integer

2 Byte

0 65535

Unsigned Character

1 Byte

0 255

Unsigned Long Integer

4 Byte

0 4,294,967,295

 

Contoh program bahasa C

//Contoh program tipe data

//Nama Programmer : ..........

#include "stdio.h"

#include "conio.h"

int main()

{

int x;

float y;

char z;


double w;

 

x = 10;

y = 9.45;

z = 'C';

w = 3.45E+20;

printf("Nilai dari x adalah : %i\n", x);

printf("Nilai dari y adalah : %f\n", y); printf("Nilai dari z adalah : %c\n", z); printf("Nilai dari w adalah : %lf\n", w); getch();

}

 

Dalam bahasa C terdapat lima tipe data dasar, yaitu :

1. char                           format penulisan :      %c

2. int                              format penulisan :      %i, %d

3. float                          format penulisan :      %f

4. double                      format penulisan :      %lf

5. void tidak bertipe

 

2.   Variabel

Variabel  adalah  tempat  dimana  kita  dapat  mengisi  atau  mengosongkan  nilainya  dan

memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier)

dan nilai.

Contoh Nama variabel dan nilai.

username = joni”

Nama = Udin

Harga = 2500

HargaTotal = 34000

 

Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan -aturan tersebut yaitu :

·  Nama variabel harus diawali dengan huruf.

·  Tidak  boleh  menggunakan  spasi  pada  satu  nama  variabel.  Spasi  bisa  diganti  dengan karakter underscore (_).

·  Nama variabel tidak boleh mengandung karakter-karakter khusus,seperti : .,+, -, *, /, <, >,

&, (, ) dan lain-lain.

·  Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman

 

Penamaan yang benar

Penamaan yang salah

namasiswa

XY12

nama siswa (salah karena menggunakan spasi)

12X (salah karena dimulai dengan angka)

harga_total

harga.total (salah karena menggunakan karakter)

 

 
Contoh penamaan variabel


 

JenisMotor

Jenis Motor (salah karena menggunakan spasi)

alamatRumah

for (salah karena menggunakan kata kunci bahasa

pemrograman)

 

Jenis-jenis Variabel

1)   Variabel Numerik

Variabel numerik ini dibagi menjadi menjadi 3 (tiga) macam :

·    Bilangan Bulat

·    Bilangan Desimal Berpresisi Tunggal atau Floating Point.

·    Bilangan Desimal Berpresisi Ganda atau Double Precision.

2)   Variabel Text

·    Character ( Karakter Tunggal )

·    String ( Untuk Rangkaian Karakter )

 

Deklarasi Variabel

Penjelasan

Adalah proses memperkenalkan variabel kepada bahasa C/C++ dan pendeklarasian tersebut

bersifat mutlak karena jika tidak diperkenalkan terlebih dulu maka bahasa C/C++ tidak menerima variabel tersebut. Deklarasi Variabel ini meliputi tipe variabel, seperti : integer atau character dan nama variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh tanda titik koma ( ; ).

Bentuk penulisannya:


 

Contoh Deklarasi


Tipe data nama variabel;

 

 

char nama_siswa;

char grade;

float rata_rata ;

int nilai;


 

 

 

 

3.   Konstanta

Konstanta  adalah  variabel yang nilai  datanya bersifat tetap  dan  tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.

 

Sebagai  contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.

 

Penggunaan tipe data numeric.

Kode Program A                                                 Hasil eksekusi Program A

#include stdio.h                                               X =12

Y =2.15

int main() {                                                           Z =25 int x, z;

float y;


x = 12;

y = 2.15;

z = x * y;

cout << "X =" << x << endl; cout << "Y =" << y << endl; cout << "Z =" << z << endl; return 0; }

 

Kode Program B                                                  Hasil eksekusi Program B

#include <iostream>                                          X =12

using namespace std;                                        Y =2.15

int main() {                                                           Z =25.8 int x;

float y, z;

x = 12.8;

y = 2.15;

z = x * y;

cout << "X =" << x << endl;

cout << "Y =" << y << endl;

cout << "Z =" << z << endl;

return 0; }

 

 

 

Kode Program C                                                  Hasil eksekusi Program C

#include <iostream>                                          X =12

using namespace std;                                        Y =2.15

int main() {                                                           Z =25.8

int x; float y, z; x = 12;

y = 2.15;

z = x * y;

cout << "X =" << x << endl; cout << "Y =" << y << endl; cout << "Z =" << z << endl; return 0; }

 

Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain :

-    \a : untuk bunyi bell (alert)

-    \b : mundur satu spasi (backspace)

-    \f : ganti halaman (form feed)

-    \n : ganti baris baru (new line)

-    \r : ke kolom pertama, baris yang sama (carriage return)

-    \v : tabulasi vertical

-    \0 : nilai kosong (null)

-    \’ : karakter petik tunggal

-    \” : karakter petik ganda


-    \\ : karakter garis miring

 

·    Character

Bersama dengan  tipe data numeric, character merupakan  tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (”) atau petik tunggal (’). Perhatikan contoh berikut.

 

 

 
Contoh  Deklarasi tipe data

 

 

 

 

 

 

 

 

 

 

·    Boolean

Tipe  data  Boolean  digunakan  untuk  menyimpan  nilai  True/False  (Benar/Salah).  Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF THEN atau IF THEN ELSE.

 

Contoh :

Program Pascal

If Nilai >= 60 Then

writeln(Lulus Ujian’);


Else

 

End if


Writeln(Tidak lulus’);


 

·    Array

Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan baik,

meskipun  masih  sederhana. Array mampu  menyimpan  sejumlah  data dengan  tipe yang sama (homogen) dalam sebuah variabel. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.

 

Contoh: Penggunaan Array Var

X: array[1..100] of integer;

Cara mengisi data pada elemen larik dalam pemrograman adalah seperti contoh berikut :

X[1]:= 4; X[2]:= 3;

X[3]:= 2; X[4]:= 1;


·    Record atau Struct

Seperti  halnya  Array,  Record  atau  Struct  adalah  termasuk  tipe  data  komposit.  Record

dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda - beda (heterogen).

 

Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir.  Nama  akan  akan  menggunakan  tipe  data  string,  alamat  bertipe  data  string,  usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.

 

·    Image

Image atau gambar atau citra merupakan tipe data grafik

 

·    Date Time

Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format

yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat

digunakan  untuk  menyimpan  baik  tanggal  maupun  jam.  Tipe  data  ini  masuk  dalam kelompok tipe data composite karena merupakan bentukan dari beberap a tipe data.

 

Berikut ini contoh tipe data dalam Visual Basic.

Dim WaktuLahir As Date WaktuLahir = 01/01/1997WaktuLahir = 13:03:05 AM

WaktuLahir = 02/23/1998 13:13:40 AM

WaktuLahir = #02/23/1998 13:13:40 AM#

 

·    Subrange

Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum  dan nilai batas maksimum. Tipe data ini didukung dengan  sangat baik dalam Delphi.

 

Berikut ini contoh deklarasi tipe data subrange dalam Delphi.

Type


 

 

 

Var


BatasIndeks = 1..20

RentangTahun = 1950..2030

 

Indeks : BatasIndeks

Tahun : RentangTahun


 

·    Enumerasi

Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu

persatu dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer


elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.

 

 

Berikut ini contoh deklarasi tipe data enumerasi dalam Delphi.

Type


 

 

 

 

Var


Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat, Sabtu,Minggu) Nama_Bulan = (Nol, Januari, Pebruari, Maret,April, Mei, Juni, Juli,Agustus, September, Oktober, Nopember, Desember)

 

No_Hari : Hari_dlm_Minggu

No_Bulan : Nama_Bulan


 

·    Object

Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek

yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command button yang kita beri nama Command1, kita dapat mendeklarasikan variabel sebagai berikut :

 

Contoh Penggunaan tipe data object.

Dim A As CommandButton

Set A = Command1

A.Caption = HEY!!!

A.FontBold = True

 

4.   Operator

Operator  merupakan  simbol  atau  karakter  yang  biasa  dilibatkan  dalam  program  untuk

melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain

lain.

 

Operator mempunyai sifat sebagai berikut :

·    Unary

Sifat Unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi aritmatik

Contoh : -5

·    Binary

Sifat  Binary  pada  operator  adalah  melibatkan  dua  buah  operand  pada  suatu  operasi

aritmatik

Contoh : 4 + 8

·    Ternary

Sifat  Tenary  pada  operator  adalah  melibatkan  tiga  buah  operand  pada  suatu  operasi

aritmatik

Contoh : (10 % 3) + 4 + 2

 

Operator Aritmatika

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :

Operator

Keterangan

Contoh

*

Perkalian

4 * 5

 

 
Tabel Operator Aritmatika


 

/

Pembagian

8 / 2

%

Sisa Pembagian

5 % 2

+

Penjumlahan

7 + 2

-

Pengurangan

6 - 2

 

Tabel Operator Unary

Operator

Keterangan

Contoh

+

Tanda Plus

-5

/

Tanda Minus

+6

 

 

 

//Contoh penggunaan Operator Aritmatika

//Nama programmer :.......

#include "stdio.h"

#include "conio.h" int main()

{

printf("Nilai dari 9 + 4 = %i\n", 9 + 4); printf("Nilai dari 9 - 4 = %i\n", 9 - 4); printf("Nilai dari 9 * 4 = %i\n", 9 * 4); printf("Nilai dari 9 / 4 = %i\n", 9 / 4); printf("Nilai dari 9 % 4 = %i\n", 9 % 4); getch();

}

 

/* Penggunaan operator untuk mencetak deret bilangan genap antara 1 100 */

//Nama programmer :.......

#include "conio.h"

#include "stdio.h"

int main()

{

int bil;

for (bil=1; bil<100; bil++)

{

if(bil%2==0)

printf("%5.0i", bil);

}

getch();

}

 

Operator Penambah dan Pengurang

Masih berkaitan dengan operator pemberi nilai, Bahasa C menyediakan operator penambah

dan pengurang. Dari contoh penulisan operator pemberi nilai sebagai penyederhanaannya dapat digunakan operator penambah dan pengurang.

 

Tabel Operator Penambah dan Pengurang


 

Operator

Keterangan

++

Penambahan

--

Pengurangan

 

A = A + 1 atau A = A - 1; disederhanakan menjadi :

A += 1 atau A -= 1; masih dapat disederhanakan menjadi A ++ atau A--

Notasi ++ atau “ -- “ dapat diletakan didepan atau di belakang variabel

 

Contoh : A ++ atau ++A / A-- atau –A

Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda.

·      Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi

akan langsung berubah begitu ekspresi ini ditemukan, sedangkan

·    Jika  diletakan  dibelakang  variabel,  maka  proses  penambahan  atau  pengurangan  akan dilakukan setelah ekspresi ini  dijumpai  atau nilai  variabel akan tetap pada saat ekspresi ini

ditemukan.

 

/* Penggunaan Notasi Didepan Variabel*/

// nama programmer :.....

#include <stdio.h>

#include <conio.h>

int main()

{

int a = 10, b = 5;

 

printf("Nilai   A   = %d", a); printf("\nNilai ++A  = %d", ++a); printf("\nNilai A   = %d", a); printf("\nNilai B    = %d", b); printf("\nNilai --B  = %d", --b); printf("\nNilai B    = %d", b); getch();

}

 

Output :

Nilai A              = 10

Nilai ++A          = 11

Nilai A              = 11

Nilai B               = 5

Nilai –B            = 4

Nilai B               = 4

 

/* Perbedaan operator peningkatan ++ yang diletakkan di depan dan dibelakang operand */

//Nama programmer :......

#include <stdio.h>

#include <conio.h>

int main()

{


int x, nilai;

x = 5;

nilai = ++x;                                               /* berarti x = x + 1; nilai = x; */

printf("nilai = %d, x = %d\n", nilai, x);

nilai = x++;                                               /* berarti nilai = x; nilai = x + 1; */

printf("nilai = %d, x = %d\n", nilai, x);

getch();

}

 

Outputnya : nilai = 6, x = 6 nilai = 6, x = 7

 

/*Contoh ke-2 operator peningkatan unary */

//Programmer :…

#include "stdio.h"

#include "conio.h" int main()

{

int b, nilai;

b = 15;

nilai = --b;                           /* berarti b = b - 1; nilai = b; */

printf("nilai = %d, b = %d\n", nilai, b);

nilai = b--;                            /* berarti nilai = b; b = b + 1; */

printf("nilai = %d, b = %d\n", nilai, b);

getch();

}

 

 

 

Ouputnya :   nilai = 14, b= 14 nilai = 14, b=13

 

 

5.   Komentar Program

Komentar  program  hanya  diperlukan  untuk  memudahkan  pembacaan  dan  pemahaman

suatu  program  (untuk  keperluan  dokumentasi  program).  Dengan  kata  lain,  komentar program  hanya  merupakan  keterangan  atau  penjelasan  program.  Untuk  memberikan

komentar   atau   penjelasan   dalam   bahasa   C   digunakan   pembatas   /*   dan   */   atau menggunakan  tanda  //  untuk  komentar  yang  hanya  terdiri  dari  satu  baris.  Komentar program tidak akan ikut diproses dalam program (akan diabaikan).

 

LATIHAN

1.   Sebutkan tipe data yang kamu ketahui ?

2.   Buatlah algoritma menggunakan tipe data char/string ?

3. Buatkan program C++ untuk mencari bilangan ganjil ?


BAB IV KEGIATAN BELAJAR Kegiatan Belajar 4 : Input dan Ouput

A.  Uraian Materi

1.   MEMASUKKAN DATA

Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa fungsi pustaka

yang telah tersedia. Beberapa fungsi pustaka yang bisa digunakan adalah :

 

a.   scanf()

·    Fungsi  pustaka  scanf()  digunakan  untuk  menginput  data  berupa  data  numerik, karakter dan string secara terformat.

·    Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :

-      Fungsi scanf() memakai penentu format

-      Fungsi scanf() memberi pergantian baris secara otomatis

-      Fungsi scanf() tidak memerlukan penentu lebar field

-      Variabelnya harus menggunakan operator alamat &

 

Kode penentu format :

-      %c             : Membaca sebuah karakter

-      %s             : Membaca sebuah string

-      %i, %d      : Membaca sebuah bilangan bulat (integer)

-      %f, %e      : Membaca sebuah bilangan pecahan (real)

-      %o            : membaca sebuah bilangan octal

-      %x              : Membaca sebuah bilangan heksadesimal

-      %u            : Membaca sebuah bilangan tak bertanda

 

Contoh Program :

/* Program memasukan inputan dengan beberapa tipe data */

//Nama programmer :....

#include <stdio.h>

#include <conio.h>

int main()

{

int jumlah;

char huruf, nis[10];

float nilai;

 

printf("Masukkan sebuah bilangan bulat :");

scanf("%d", &jumlah );

printf("Masukkan sebuah karakter : ");

scanf("%c", &huruf );

printf("Masukkan nis Anda : ");

scanf("%s", &nis );


printf("Masukkan sebuah bil pecahan : ");

scanf("%f", &nilai );

printf("\nNilai variable yang Anda masukkan adalah :\n");

printf("jumlah = %d \n", jumlah ); printf("huruf = %c \n", huruf ); printf("nis = %s \n", nis ); printf("nilai = %f \n", nilai ); getch();

}

 

b.   gets()

·    Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat

digunakan untuk memasukkan data numerik.

·    Harus diakhiri dengan penekanan tombol enter

·    Cursor secara otomatis akan pindah baris

·    Tidak memerlukan penentu format

 

Contoh Program :

/* Program inputan tipe data karakter string dengan fungsi gets*/

//Nama programmer :....

#include "stdio.h"

#include "conio.h"

int main()

{

char nama[40];

char alamat[40];

printf("Masukkan nama Anda : "); gets(nama); printf("Masukan alamat anda :"); gets(alamat); printf("Nama Anda adalah %s \n", nama); printf("Alamat Anda adalah %s \n", alamat); getch();

}

 

c.   getchar()

·    Fungsi getchar() digunakan untuk membaca data yang bertipe karakter

·    Harus diakhiri dengan penekanan tombol enter

·    Karakter yang dimasukkan terlihat pada layar

·    Pergantian baris secara otomatis

 

d.   getch() dan getche()

·    Fungsi getch() dan getche() digunakan untuk membaca data karakter.

·    Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.

·    Tidak memberikan efek pergantian baris secara otomatis

·    Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan

pada layer sehingga sering digunakan untuk meminta inputan berupa password.

·    Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar.

 

Contoh Program :

//contoh penggunaan getch dan getche


//Nama programmer:....

#include "stdio.h"

#include "conio.h"

int main()

{

char a1, a2;

printf("Masukkan sebuah karakter : ");

a1 = getche();

printf("\nKarakter yang Anda masukkan adalah %c\n", a1);

printf("\nMasukkan sebuah karakter lagi: ");

a2 = getch();

printf("\nKarakter yang Anda masukkan adalah : %c", a2);

getch();

}

 

CATATAN :

Jika  terdapat  beberapa  proses  input  (memasukkan  data)  sekaligus,  maka  sebaiknya

ditambahkan  fungsi  fflush(stdin);  setelah  fungsi  scanf().  Fungsi  fflush(stdin)  berfungsi

menghapus buffer di dalam alat I/O.

 

2.   MENAMPILKAN DATA

a.   Menampilkan data ke layar monitor

·    Menggunakan fungsi printf(), puts(), dan putchar().

·    Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter)

·    Fungsi  puts()  digunakan  untuk  menampilkan  data  string  dan  secara  otomatis  akan diakhiri dengan perpindahan baris.

·    Fungsi putchar() digunakan untuk menampilkan sebuah karakter.

 

b.   Mengatur tampilan bilangan pecahan (float).

Bentuk umum :

printf(“%m.nf”, argument);

·

m

: menyatakan panjang range

·

n

: menyatakan jumlah digit di belakang koma.

·

argument

: nilai atau variable yang akan ditampilkan.

 


Contoh :


 

printf(“%5.2f”, nilai);


 

artinya variable nilai akan ditampilkan sebanyak 5 digit dengan 2 digit di belakang koma.

 

Contoh Program 1 :

/* Program untuk menampilkan data berupa bilangan pecahan */

//Nama programmer:.....

#include "stdio.h"

#include "conio.h" int main()

{

float nilai;


puts("Masukkan nilai Anda :" ); scanf("%f", &nilai);

printf("\n Anda memperoleh nilai %5.2f", nilai);

printf("\n Apakah Anda telah puas mendapat nilai %6.4f ", nilai);

getch();

}

 

Contoh Program 2 :

/* Program untuk menampilkan data berupa bilangan integer dan string */

//Nama programmer:.....

#include "stdio.h"

#include "conio.h" int main()

{

int umur;

char nama[30];

puts("Masukkan nama Anda : ");

gets(nama);

puts("Masukkan umur Anda : ");

scanf("%d", &umur);

printf("Nama Anda : %s \n", nama);

printf("Umur Anda : %d \n", umur);

getch();

}

 

LATIHAN

-    Dari  contoh  program  diatas  tambahkan  untuk  memasukkan  dan  mencetak  data

masukan berupa :

1.   Alamat

2.   No telepon

3.   Hoby

4.   Kelas

5.   Jurusan

 

c.   Menampilkan data ke printer

·    Untuk menampilkan data ke printer dapat menggunakan fungsi fprintf(), fputs() dan

fputc().

·    Fungsi fprintf() digunakan untuk mencetak semua jenis tipe data ke printer dan secara otomatis memberikan efek perpindahan baris.

·    Fungsi fputs() digunakan untuk mencetak tipe data string ke printer

·    Fungsi fputc() digunakan untuk mencetak tipe data karakter ke printer

 

Contoh Program :

#include stdio.h

#include conio.h

int main()

{

fprintf(stdprn, Hallo, Saya akan tercetak di printer”);

fputs(stdprn, Saya juga akan tercetak di printer”);

}


BAB V KEGIATAN BELAJAR Kegiatan Belajar 5 : Struktur Kontrol Percabangan

A.  Tujuan Pembelajaran

Setelah mengikuti kegiatan belajar 3 ini siswa diharapkan dapat :

1.   Memahami Percabangan 1 kondisi

2.   Memahami Percabangan 2 kondisi

3.   Memahami Percabangan lebih dari 2 kondisi

4.   Memahami Percabangan bersarang

 

B.  Uraian Materi

 

Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks.

 

1.   Percabangan 1 kondisi (Tunggal) atau Struktur Kondisi IF….

 

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan.

Bentuk umum:

if(kondisi)

pernyataan;

 

Contoh Program 1 :

/* Program struktur kondisi if tunggal untuk memeriksa suatu kondisi  */

//Nama programmer :........

#include "stdio.h"

#include "conio.h"

int main()

{

float nilai;

printf("Masukan nilai yang didapat :");

scanf("%f", &nilai);

if(nilai > 65)

printf("\n ANDA LULUS !!!!\n");

getch();

}

 

INFO

Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah mencetak

perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai

yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apa-apa.


Contoh Program 2 :

 

/* Program contoh penerapan struktur kondisi if tunggal*/

//Nama programmer :........

#include "stdio.h"

#include "conio.h"

int main()

{

int a,b,c,max;

printf("Masukan bil 1 : ");fflush(stdin); scanf("%i",&a);

printf("Masukan bil 2 : ");fflush(stdin); scanf("%i",&b);

printf("Masukan bil 3 : ");fflush(stdin); scanf("%i",&c);

if((a>b)&&(a>c))

max=a;

if((b>a)&&(b>c))

max=b;

if((c>a)&&(c>b))

max=c;

printf("Bil terbesar : %i \n",max);

if(max>0)

printf("Bil tsb adalah bil positif \n");

if(max<0)

printf("Bil tsb adalah bil negatif \n");

getch();

}

 

 

 

 

1.  Percabangan Ganda

 

Percabangan ganda apabila terdapat 2 alternatif instruksi yang dijalankan. Logika ini memungkinkan kompiler menjalankan salah satu dari 2 alternatif instruksi yang ada, dan salah satu instruksi pasti dijalankan.

Notasi algoritmik yang digunkanan :

If (kondisi) { Instruksi pertama

}else{

Instruksi kedua

}

Contoh :

Program  memeriksa  inputan  apakah  bilangan  ganjil  atau  genap.  Apabila  diperiksa

bilangan genap maka  tulis  “Bilangan genap” dan  kalau  bukan  maka  tulis  Bilangan ganjil”.

#include <stdio.h>

void main(){ int angka; scanf(“%d”,&angka); if (angka % 2 == 0)

printf (“Bilangan Genap”);

else

printf(“Bilangan  Ganjil”);

}


2.  Percabangan Lebih dari 2

 

Pada dasarnya hanya terdapat 2 jenis seleksi dalam struktur algoritma

pemrograman, namun bukan berarti hanya bisa dikembangkan pada 2 jenis tersebut saja.

Struktur seleksi dapat dikembangkan menjadi bentuk yang tidak terbatas dan dapat dikombinasikan kedalam bentuk perulangan selama notasi penulisannya tidak terdapat kesalahan.

Kemampuan logika seseorang dalam merancang program dan mengamati dari permasalahan yang ada menjadi bagian yang paling penting dalam melakukan pengembangan dari bentuk seleksi ini.

Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih dari 2.

 

Contoh :

Program untuk menentukan grade dari sebuah nilai ujian, dengan aturan grade A untuk rentang nilai 80 100, grade B untuk nilai 70 80 dan grade C untuk nilai 50 70 dan grade D untuk nilai dibawah itu.

#include <stdio.h>

void main(){ int nilai; scanf(“%d”,&nilai);

if (nilai >= 80 && nilai <= 100)

print(“Grade  A”);

else if (nilai >= 70 && nilai <= 80)

printf(“Grade  B”);

else if (nilai >= 50 && nilai <= 70)

printf(“Grade  C”);

else

printf(“Grade  D”);

}

 

 

 

3.  Percabangan Bersarang Struktur Case

 

Struktur case sebenarnya memiliki fungsi yang sama dengan struktur if yang telah kita pelajari diatas. Struktur case ini dapat meringkaskan alur logika yang terjadi apabila diaplikasikan pada pada alur seleksi yang memiliki lebih dari 2 kondisi. Berikut adalah notasi algoritmanya :

 

switch (kondisi){ case kondisi_1 : break;

case kondisi2 :

break;

default : }

 

Struktur logika seleksi menggunakan struktur case ini jauh lebih ringkas apabila diaplikasikan pada struktur seleksi yang memiliki kondisi lebih dari 2.  Kompiler program akan menjalankan instruksi dari struktur case dan memeriksa setiap kondisi yang ada, apabila belum ada kondisi yang bernilai benar maka kompiler akan terus menjalankan instruksi dibawahnya sampai ditemukan kondisi yang bernilai benar. Namun apabila hingga kondisi terakhir diperiksa dan tidak ditemukan kondisi yang bernilai benar maka kondisi default yang akan dijalankan.

 

Contoh :

Program untuk  menentukan apakah karakter %‟,  spasi, „&‟  atau „$‟  yang ditekan  oleh

pengguna melalui keyboard.

#include <stdio.h>

 

void main(){ int tombol; scanf(“%d”,&tombol);


swicth(tombol){

case „32‟:

printf(“Anda menekan tombol spasi”);

break;

case ‟36: printf(“Anda menekan tombol $”);

break;

case „37‟ : printf(“Anda menekan tombol %”);

break;

case „38‟: printf(“Anda menekan tombol &”);

break;

default : printf(“Anda tidak mematahui  aturan.”);

}}

 

Perbedaan yang paling jelas antara stukrut if dengan struktur case adalah :

·   Struktur if dapat menerima kondisi yang berupa operasi logika. Sedangkan stuktur case tidak.

·   Struktur case lebih efektif apabila digunakan untuk logika seleksi lebih dari 2 kondisi.

·   Struktur case dan sktuktur if dapat dikombinasikan kedalam satu bagian, dengan catatan tata cara penulisan notasi tidak terdapat kesalahan.

·   Struktur case tidak dapat melakukan pengecekan terhadap tipe data string / kalimat.

 

 

 

 

 

 

 

Bab 6

 

Algoritma Perulangan

 

 

 

 

Kompetensi Dasar  :

·   Memahami struktur algoritma serta menganalisa data dalam suatu algoritma perulangan

·   Memecahkan permasalahan dengan algoritma perulangan

 

Pokok Bahasan       :

·   Perulangan dengan kondisi diawal

·   Perulangan dengan kondisi diakhir

·   Perulangan dengan kondisi akhir diinputkan user

·   Perulangan sebagai pencacah naik

·   Perulangan sebagai pencacah turun.

 

Tujuan Belajar        :

Setelah mempelajari ini, siswa diharapkan mampu :

·   Menyimpulkan penerapan algoritma perulangan untuk menyelesaikan masalah

·   Menganalisa algoritma perulangan dengan Pelbagai macam data

 

6.1 Perulangan

 

Salah satu bagian yang paling membedakan antara manusia dengan komputer adalah : Komputer mampu mengerjakan instruksi dalam hitungan ribuan bahkan jutaan kali tanpa mengenal lelah. Dalam mempelajari algoritma pemrograman, struktur perulangan menjadi bagian yang sangat penting untuk dipelajari.


Struktur Perulangan

Struktur perulangan terdiri dari 2 bagian, yaitu :

1.  Kondisi perulangan, yaitu ekspresi yang dilakukan sebelum pengulangan dilakukan pertama kali.

2.  Body atau tubuh pengulangan, yaitu satu atau lebih instruksi yang diulang.

 

Selain itu biasanya di perulangan juga terdapat 2 hal dibawah ini, antara lain :

·     Inisialisasi : aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.

·      Terminasi  :  aksi  yang  dilakukan  untuk  membuat  perulangan  berakhir.  Biasanya berupa sebuah kondisi.

 

Dalam  setiap  bahasa  pemrograman  pada  umumnya     biasanya  terdapat  3  jenis perulangan, antara lain :

1.  Struktur WHILE DO

2.  Struktur Do WHILE / REPEAT UNTIL

3.  Struktur FOR.

 

Ketiga jenis diatas hanyalah sebuah metode dan pada implementasinya, notasi penulisannya (sintaks) sangat tergantung dari setiap bahasa pemrograman yang digunakan.

 

6.1.1  Struktur WHILE DO

 

Ciri khas dari struktur ini adalah :

·      Dilakukan pengencekan di awal pada kondisi sebelum menjalankan instruksi di tubuh perulangan.

·     Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali.

·      Setiap  kali  hendak  melakukan  perulangan  berikutnya,  selalu  memeriksa  kondisi perulangan. Apabila kondisi perulangan telah

·     memberikan nilai false / salah. Maka perulangan akan dihentikan.

 

Notasi algoritmiknya adalah :

 

while (KONDISI){

tubuh perulangan yang berisi instruksi untuk dijalankan.

}

 

Contoh :

Progam membuat tulisan di angka 1 .. 100.

 

# include <stdio.h>

 

void main(){

int nilai_awal = 1; // inisialisasi awal. Sangat penting. While (nilai_awal <= 100){

Printf(“/n%d”,nilai_awal);

Nilai_awal  ++;  //  memanipulasi  variabel  awal  agar  tercapai  kondisi terminasi.

}}

 

Dalam struktur perulangan ini, ada 2 hal yang harus diperhatikan untuk menghindari terjadinya kesalahan logika pada program.

 

·     Inisialisasi variabel awal.

Ini dimaksudkan agar ketika kompiler program melakukan pemeriksaan terhadap kondisi

awal, ditemukan kondisi yang benar. Pada beberapa bahasa pemrograman tertentu, apabila  sebuah  variabel  tidak  diinisialisasikan  maka  nilainya  bisa  berupa  random ataupun nol. (lihat contoh dibawah)

 

·     Manipulasi variabel awal.


Banyak terjadi kesalahan pada programmer ketika mereka membuat program perulangan, memanipulasi  variabel  kondisi  sangat  penting  untuk  menjaga  program  tetap  sesuai dengan yang diinginkan. Ketika kita lupa memanipulasi variabel awal, ada kemungkinan program mengulang terus menerus (looping forever) karena kondisi yang diinginkan tercapat terus tanpa ada perubahan. (lihat contoh dbawah)

 

Contoh 1 :

Program menulis angka dari 1 .. 100.

 

# include <stdio.h>

 

void main(){

int nilai_awal ; // tidak dilakukan inisialisasi awal.

While (nilai_awal <= 100){

printf(“/n%d”,nilai_awal);

Nilai_awal  ++;  //  memanipulasi  variabel  awal  agar  tercapai  kondisi terminasi.

}}

 

Program diatas tidak melakukan inisialisasi awal terhadap variabel nilai_awal, sehingga ada kemungkinan nilai_awal berisni nilai random. Misalkan nilai_awal berisi -1200, dan secara logika -1200 memang kurang dari 100. Maka program bukan mencetak 1 100, melainkan mencetak -1200 100.

 

Contoh 2 :

Program menulis angka dari 1 .. 100.

 

 

 

 

# include <stdio.h>

 

void main(){

int nilai_awal  = 1; //  inisialisasi awal dilakukan While (nilai_awal <= 100){ Printf(“/n%d”,nilai_awal);

}}

 

Program diatas tidak melakukan manipulasi terhadap nilai_awal , sehingga nilainya selalu

1. Program bukannya mencetak 1 100, melainkan mencetak angka 1 terus menerus dan

tidak pernah berhenti karena kondisi perulangan selalu benar.

 

6.2.2  Struktur Do WHILE / REPEAT UNTIL

 

Struktur Do = WHILE / REPEAT  UNTIL hampir mirip dengan struktur WHILE   DO. Berikut adalah ciri khas dari struktur perulangan ini.

 

·     Tidak dilakukan pengecekan kondisi perulangan di awal eksekusi program.

·      Minimal perulangan yang terjadi di tubuh program sebanyak 1 kali       (Kerena tidak ada pengecekan kondisi perulanga di awal).

·      Setiap  kali  hendak  melakukan  perulangan  berikutnya,  selalu  memeriksa  kondisi perulangan. Apabila kondisi perulangan telah memberikan nilai false / salah. Maka perulangan akan dihentikan.

 

Perbedaan paling mendasar sebenarnya terletak pada pengecekan kondisi perulangan, struktur ini melakukan pengecekan kondisi perulangan di akhir tubuh perulangan (bukan di awal seperti struktur WHILE DO) sehingga mengakibatkan instruksi dijalankan minimal 1 kali.

 

Notasi algoritmiknya adalah :


do {      repeat

Tubuh perulangan              atau

}while (KONDISI); until KONDISI

 

Pada impelemntasinya notasi penulisan struktur perulangan ini juga bergantung pada bahasa pemgoraman yang digunakan. Pembahasan ini menggunakan bahasa pemrograman Turbo C dan leih ditekankan kepada konsep konsep perulangannya.

 

Contoh :

 

Program menulis angka dari 1 .. 100.

 

# include <stdio.h>

void main(){

int nilai_awal  = 1; //  inisialisasi awal dilakukan do{

Printf(“/n%d”,nilai_awal);

Nilai_awal += 1;// tambahkan nilai_awal sebanyak 1.

}while(nilai_awal <= 100);

}

 

Program untuk meminta inputan dari keyboard, apabila pengguna menekan tombol esc maka program akan berhenti.

 

#include <stdio.h>

#include <conio.h>

 

 

void main(){

char tombol;

 

do{

tombol = getch(); // peminta penekanan tombol dari keyboard.

// selama tombol yang ditekan tidak memiliki ASCII = 27 (tombol esc) maka

//program akan tetap berjalan.

}while (tombol != 27);

// program berhenti, karena pengguna telah menekan tombol escape.

}

 

Kapan menggunakan WHILE DO atau Do WHILE ?

Pemilihan  antara  kedua  struktur  ini  sangat  tergantung  pada  permasalahan  yang

dihadapi. Apabila sebuah program memerlukan instruksi dijalankan dahulu dan baru diperiksa  kondisinya  maka  strukltur  DO   WHILE  harus  digunakan  namun  apabila sebuha program harus memeriksa kondisi perulangan terlebih dahulu dan baru menjalankan tubuh perulangan, maka kondisi WHILE DO harus digunakan.

 

6.2.3  Struktur FOR

 

Struktur perulangan for ini digunakan untuk perulangan yang tidak perlu memeriksa kondisi apapun dan hanya melaksanakan perulangan sejumlah kali tertentu.

 

Struktur perulangan ini paling cocok untuk proses perulangan yang telah diketahui batas akhirnya, karena kompiler akan mengeksekusi lebih cepat daripada 2 jenis  struktur perulangan diatas.

 

Notasi algoritmiknya :

 

For (variabel awal = nilai awal; kondisi ; faktor penaik){ Tubuh perulangan

}


Contoh :

Program menulis bilangan genap dari 2 100.

 

#include <stdio.h>

 

void main(){

int nilai_genap = 2; // inisialisasi awal.

for (nilai_genap =2; nilai_genap <= 100; nilai_genap+=2)

printf(“%d”,&nilai_genap);}

 

Program diatas akan melakukan inisialisasi nilai_genap sebanyak 2, dan setelah itu akan dilakukan pemeriksaan apakan kondisi terpenuhi / memberikan nilai benar. Apabila kondisi terpenuhi maka tubuh perulangna akan dijalankan ( mencetak nilai dari nilai_genap)     dan  kemudian  menaikkan  nilai_genap  sebanyak  2.  Setlah  itu  akan dilakukan pemeriksaan kondisi sekali lagi, dan apabila kondisi tersebut terpenuhi maka tubuh perulangan akan dijalankan lagi sedangkan apabila kondisi perulangan tidak terpenuhi maka struktur perulangan akan berakhir.

 

Inti dari struktur perulangan ini adalah :

 

·       Lebih cocok untuk jenis perulangan yang memiliki batas akhir yang sudah jelas.

·        Pemeriksaan kondisi awal akan dilakukan di awal. Apabila kondisi terpenuhi, maka tubuh perulangan akan dilakukan. Apabila tidak, maka tubuh perulangan tidak akan pernah dilakukan.

·       Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali.

·       Memiliki proses yang lebih cepat dibandingkan bentuk DO WHILE atau WHLE DO

dalam proses perhitungan matematika.


6.3 Algoritma pengulangan (While, While bersarang, Repeat)

 

STATEMEN/PERYATAAN WHILE

Pernyataan while digunakan untuk perulangan yang banyaknya perulangan tidak diketahui. Peryataan while mirip dengan peryataan if yang melakukan pemeriksaan ekspresi boolean sebelum sebuah atau serangkaian peryataan dilakukan.

 

Bentuk umum: while kondisi do Statemen

 

Kondisi adalah ekspresi boolean. Jika ekspresi bernilai true statemen dijalankan dan iperiksa kembali, dan keluar dari perulangan jika bernilai false.

 

Contoh_While1:

Program deretangka_1;                                                  Hasil :

uses crt;                                                                             12345678910 var i:integer;

Begin


 

 

 

 

 

 

 

 

 

 

 

 

End.


clrscr;

i:=1;

while i <= 10 do begin

writeln(i);

i:=i+1;

end;

readln;


 

Contoh_While2:

Program deretangka_2;                                                  Hasil :

uses crt;                                                                             10987654321

var i:integer; Begin

clrscr;

i:=10;

while i > 0 do begin writeln(i);

i:=i-1;

end;

readln;


End.

 

Contoh_While3: Program jumlahinteger; uses crt;

var i,batas,hasil:integer; Begin

clrscr;

write('Masukkan integer positif :');readln(batas);

hasil:=0;

i:=0;

while i < batas do

begin


 

 

 

end;


i:=1+1;

hasil:=hasil+1;


 

 

 

 

End.


write('Jumlah 1 sampai ',batas,'=');

write(hasil);

readln;


 

 

 

While Bersarang Contoh_While4: Program bintang2; uses crt;

var baris, kolom, jumbaris:integer;

Begin

clrscr;

write('Jumlah baris : );readln(jumbaris);

baris:=1;

while baris <= jumbaris do

begin


 

 

begin end;


write('*' :jumbaris+1-baris);

kolom:=2;

while kolom <= (2*baris-1) do

 

write('*');

kolom:=kolom+1;


 

 

 

 

readln; End.


writeln; baris:=baris+1; end;


 

Bab 7

 

Pengenalan pemrograman C++

 

 

 

Kompetensi Dasar  :

 

 

 

Pokok Bahasan       :

·   Pengenalan C++

 

 

 

Tujuan Belajar        :

Setelah mempelajari ini, siswa diharapkan mampu :

·   Membuat

 

7.1 Bahasa C++

 

Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya. Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T,

Pada tahun 1983. C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya

C++ disebut a better C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa C. Keistimewaan yang sangat berari dari C++ ini adalah karena bahasa ini mendukung pemrograman yang berorientasi objek ( OOP / Object Oriented Programming).

7.2 Format Penulisan pada C++ Bentuk umum :

# prepocessor directive void main()

{

// Batang Tubuh Program Utama

}

 

Contoh :

# include <iostream.h> Void main()

{

cout << Hai, Selamat menggunakan C++ “;

}