Jumat, Agustus 20, 2021

Modul dan Praktikum : Bahasa Pemrograman C++

 

BAB I

PETA KONSEP

 

 

 

 

 

 

 

 

 

 

 

 

A.  Pengertian Algoritma

Istilah algoritma berasal dari seorang ilmuwan terkenal dari Persia yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis kitab atau buku yang berjudul Al Jabr Wal-Muqabala atau The Book of Restoration and Reduction. Dari buku tersebut diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan arithmetic, sehingga akhiran –ism berubah menjadi –ithm. Algoritma merupakan suatu prosedur, urutan langkah-langkah atau tahapan-tahapan sistematis, jelas, dan logis untuk menyelesaikan permasalahan. Langkah logis dalam algoritma harus dapat ditentukan, bernilai salah atau benar.Algoritma merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. (Moh Sjukani, “Algoritma dan Struktur Data dengan C, C++, dan Java”).

Penentuan algoritma dalam pemrograman ini merupakan hal dasar yang harus diketahui dan menjadi tahap awal dalam pembuatan program. Penyajian algoritma dapat dilakukan menjadi dua bentuk yakni dalam tulisan maupun gambar, tergantung dari metode atau tahap yang digunakan oleh seorang programmer. Penyajian dalam bentuk tulisan biasanya menggunakan pseudocode sedangkan dalam bentuk gambar biasanya dalam bentuk diagram flowchart. Tantangan tersulit adalah mengimplementasikan algoritma yang ditentukan menjadi code atau script yang tertata dan dapat berjalan sesuai keinginan. Berikut ini merupakan fungsi algoritma yang perlu Anda ketahui :

  • Pemrograman dapat mengatasi permasalahan rumit dalam program yang kemungkinan juga melibatkan perhitungan tingkat tinggi. Karena menggunakan perhitungan seringkali program yang dibuat tidak berjalan semestinya karena adanya kesalahan, hal ini dapat diminimalisir dengan menerapkan algoritma dalam pemrograman.
  • Algoritma pemrograman juga mampu menyederhanakan program, dari program yang besar menjadi program yang lebih sederhana, sehingga penggunaannya lebih efektif dan efisien. Selain itu, terdapat dua pendekatan yang dimiliki algoritma pemrograman yaitu pendekatan top-down serta pendekatan divide and conquer.
  • Fungsi dari algoritma ini bukan merupakan sekali pakai, artinya dapat digunakan secara berulang-ulang ini memberikan Anda keuntungan dalam meminimalisir penulisan program yang berulang-ulang. Jadi, Anda tidak perlu repot-repot menuliskan lagi program yang sama di lain waktu, yang hal ini memudahkan Anda dalam pembuatan program.
  • Dalam pembuatan program pastinya akan menjumpai beberapa kesalahan, hal ini sangatlah wajar. Dengan menerapkan fungsi algoritma maka pencarian kesalahan dapat lebih mudah serta dapat diperbaiki dengan cepat.
  • Adanya alur yang jelas yang dimiliki oleh algoritma pemrograman, Anda dapat dengan mudah mencari kesalahan jika terjadi kesalahan. Karena program sudah tertata atau tersusun dengan rapi, sehingga memudahkan Anda dalam pencarian dan menemukan kesalahan yang terjadi pada program di dalam perangkat komputer yang Anda miliki.

·         Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya.

·         Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah menyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.

·         Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori.

·         Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingat ingat. Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi).

·         Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram. Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut.

·         Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasi operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).

 

B.  Aspek Penting Dalam  Algoritma

Menurut Donald E. Knuth, algoritma harus mempunyai lima ciri penting, yaitu sebagai berikut.

1. Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah langkah tertentu atau terbatas.

2. Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous).

3. Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan.

4. Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada Input.

5. Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

 

C.  Ragam Struktur  Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration atau looping), atau kombinasi dari ketiganya. Struktur dasar penyajian algoritma dibedakan menjadi tiga, yaitu sebagai berikut.

1. Struktur runtunan (sequence), struktur algoritma yang mempunyai pernyataan secara berurutan atau sequential.

2. Struktur pemilihan atau percabangan (selection), struktur algoritma atau program yang menggunakan pemilihan atau penyeleksian kondisi.

3. Struktur perulangan, struktur algoritma atau program yang pernyataannya akan dieksekusi berulang-ulang sampai kondisi tertentu.

Pada algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman mana pun.

 

D.  Metode Penyajian  Algoritma

Algoritma dapat disajikan 3 cara yaitu :

1.      Penulisan dengan bahasa natural ( Bahasa manusia ,seperti bahas Inggris , bahasa Indonesia dan sebagainya )

2.      Penulisan dengan bahasa yang mendekati penulisan bahasa pemprograman ( Pseudocode ), dan

3.      Penulisan dengan ( Flowchart ).

 

1.    Pseudocode

Pseudocode adalah suatu cara penulisan algoritma agar ide dan logika dapat disampaikan / di ekpresikan algoritma dalam  bentuk pseudocode  biasanya menyadopsi beberapa noasi pada sebuah bahasa pemprograman tertentu . berikut contohnya :

algoritma 
- Nilai a ditammbah 5 letak A bila lebih besar dari 10 

- Dari 2 bilangan A dan B , cari bilangan yang terbesar . 


Dengan pseudocode 

A<- A+5

IF A > 10 THEN print A

IF A > B THEN print A else print B

2.    Flowchart
Apa sih yang dimaksud dengan flowhart ? Flowchart atau bagan aliran adalah skema / bagan ( chart ) yang menunjukan aliran ( flow ) dalam suatu program dalam logika . Berikut simbol simbol pada flowchart

Berikut adalah contoh penyajiaan dalam Flowchart :

 

E.  Flowchart Struktur Urut

Sebuah runtunan terdiri atas satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah. Sebagai contoh perhatikan operasi aritmateka berikut ini, (4+3)*7=49, tetapi bila urutan aksinya diubah maka hasil keluaran akan berbeda menjadi 4+(3*7) =25. Contoh kasus: Buatlah flowchart untuk mengonversi suhu dari Celcius ke Fahrenheit, Suhu dalam satuan Celcius dimasukkan oleh pengguna. Suhu dalam satuan Fahrenheit ditampilkan ke layar.

F.   Flowchart Struktur Percabangan

1.    Struktur Pemilihan atau Percabangan Satu Kasus

Algoritma menggunakan flowchart satu kasus ini hanya terdiri satu ekspresi kondisi dan satu pernyataan atau instruksi (aksi). Notasi yang digunakan untuk menyatakan struktur pemilihan satu kasus ini adalah satu buah belah ketupat dengan satu buah masukan dan dua buah keluaran. Sementara itu pernyataan atau instruksi yang akan dilakukan menempati pada satu keluaran pemilihan yaitu untuk kondisi terpenuhi (hasil ekspresi kondisi benar) atau kondisi tidak terpenuhi (hasil ekspresi kondisi salah). Struktur flowchart satu kasus diperlihatkan dalam gambar di bawah ini.

“Kondisi” yang ada pada simbol belah ketupat merupakan ekspresi kondisi yang terdiri atas operator yang meliputi: operator perbandingan (, ==, …..), logika (OR, AND…), operand dapat berupa variabel atau nilai variabel.

Tabel di bawah ini menjelaskan ragam contoh ekspresi kondisi.

Operand1

Operand2

Operator

Ekspresi si

Hasil

1

4

< 

1<4

False

4

2

> 

5>2

True

A=5

B=5

==

A==B

True

2.    Struktur Pemilihan atau Percabangan Dua Kasus

Algoritma menggunakan flowchart dua kasus ini hanya terdiri satu ekspresi kondisi dan dua pernyataan atau instruksi (aksi). Notasi yang digunakan untuk menyatakan struktur pemilihan satu kasus ini adalah satu buah belah ketupat dengan satu buah masukan dan dua buah keluaran. Pernyataan atau instruksi yang akan dilakukan menempati pada dua keluaran pemilihan yaitu satu pernyataan pada kondisi terpenuhi (hasil ekspresi kondisi benar). Satu pernyataan lainnya menempati pada kondisi tidak terpenuhi (hasil ekspresi kondisi salah). Pernyataan atau instruksi yang akan dieksekusi tergantung dari data masukan dan hasil ekspresi kondisi. Struktur flowchart dua kasus diperlihatkan dalam gambar di bawah ini:

Gambar di atas menjelaskan bahwa pernyataan 1 akan dieksekusi jika hasil ekpresi kondisi bernilai true atau benar dan pernyataan 2 akan dieksekusi jika hasil ekspresi kondisi bernilai false atau salah. Contoh kasus: Tulislah algoritma untuk menentukan ketuntasan atau kelulusan dari suatu nilai dengan nilai dimasukkan dari keyboard dan ketentuan sebagai berikut,

NILAI

GRADE

<60

“Maaf anda belum lulus”

>60

“Anda lulus”

 

Gambar di atas menjelaskan flowchart yang digunakan untuk menentukan kelulusan dengan kriteria jika nilai grade < 60 maka algoritma akan menampilkan ”Maaf Anda belum Lulus.“ Jika nilai grade > 60 maka program akan menampilkan ”Anda Lulus.“

3.    Struktur Pemilihan atau Percabangan Tiga Kondisi

Algoritma menggunakan Flowchart dengan tiga kasus ini terdiri dua ekspresi kondisi dan tiga pernyataan atau instruksi (aksi). Notasi yang digunakan untuk menyatakan struktur pemilihan tiga kasus ini adalah dua buah belah ketupat dengan satu buah masukan pada satu kondisi 1, satu keluaran kondisi 1 dan dua keluaran pada kondisi 2. Masing-masing keluaran memiliki satu pernyataan atau instruksi yang akan dieksekusi tergantung dengan hasil ekspresi kondisi 1 dan 2. Struktur flowchart tiga kasus diperlihatkan dalam gambar berikut:

Gambar di atas menjelaskan pernyataan 1 akan dieksekusi jika hasil ekpresi kondisi 1 bernilai true atau benar. Pernyataan 2 akan dieksekusi jika hasil ekspresi kondisi 1 bernilai false atau salah dan hasil ekspresi kondisi 2 bernilai benar. Pernyataan 3 akan dieksekusi jika hasil ekspresi kondisi 1 bernilai false atau salah dan hasil ekspresi kondisi 2 bernilai salah. Contoh kasus: Tulislah algoritma untuk menentukan ketuntasan atau kelulusan dari suatu nilai dengan nilai diinputkan dari keyboard dengan kriteria berikut:

NILAI

GRADE

>90

“Anda lulus dengan nilai sangat bagus”

60-90

“Anda lulus dengan nilai cukup”

<60

“Maaf anda belum lulus”

 

Gambar di atas menjelaskan flowchart yang digunakan untuk menentukan kelulusan dengan kriteria jika nilai Grade > 90 maka algoritma akan menampilkan ”Anda lulus dengan nilai sangat bagus.“ Jika nilai grade antara 60 dan 90 maka program akan menampilkan ” Anda lulus dengan nilai cukup.“ Jika nilai grade antara < 60 maka program akan menampilkan ” maaf Anda belum lulus.“

G.      Flowchart Struktur  Perulangan

Struktur perulangan digunakan untuk mengulang suatu perintah sebanyak yang diinginkan tanpa harus menulis ulang. Instruksi perulangan yang umum digunakan dalam bahasa pemrograman antara lain adalah: while, do-while, dan for.

1.      Struktur Perulangan Instruksi WHILE

Perintah while digunakan untuk mengulangi suatu perintah sampai kondisi tertentu. Perulangan akan terus berjalan selama kondisi masih bernilai benar. Perulangan akan berhenti jika kondisi ekspresi bernilai salah. Bedanya dengan perintah do – while, untuk instruksi while kondisi akan dicek dahulu selanjutnya pernyataan dikerjakan kemudian. Penulisan dengan notasi flowchartnya adalah sebagai berikut:

2.    Struktur Perulangan Mengunakan Instruksi Do-While

Sebagai mana instruksi while instruksi do-while merupakan proses perulangan yang akan berjalan jika ekspresi-boolean masih bernilai benar dan perulangan akan dihentikan jika kondisinya sudah bernilai salah. Perbedaannya dengan instruksi while adalah terletak pada kondisi yang diperiksa, yaitu sebagai berikut.

a. Pada perintah while, kondisi yang diperiksa terletak di awal perulangan, sehingga sebelum masuk ke dalam perulangan while kondisi harus bernilai benar.

 b. Pada perintah do … while, kondisi diperiksa di akhir perulangan. Ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan oleh perintah do … while, karena untuk masuk ke dalam perulangan tidak ada kondisi yang harus dipenuhi.

 

3.    Struktur Perulangan Menggunakan Instruksi For

Struktur perulangan menggunakan for digunakan untuk mengulangi perintah dengan jumlah perulangan yang sudah diketahui. Pada flowchart dengan struktur ini perlu dituliskan nilai awal dari variabel, suatu kondisi untuk diuji yang berupa ekspresi boolean, dan perintah yang dipakai untuk penghitung (counter). Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah perulangan dilaksanakan tergantung perintah yang akan diberikan.

4.    Struktur Perulangan Mengunakan Instruksi Do-While

Pada suatu perulangan bisa terdapat perulangan yang lain. Suatu struktur perualangan (inner loop) yang terdapat dalam perulangan lainnya (outer loop) ini sering disebut dengan istilah nested loop. Salah satu contoh penerapan algoritma nested loop adalah algoritma untuk tabel perkalian sebagai berikut.

 

 

 

 

 

 

 

BAB II

PENGENALAN

2.1  Pengenalan C++

Berbicara tentang C++ tak lepas dari C, sebagai bahasa pendahulunya. C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang berorientasi pada mesin) dan bahasa beraras tinggi (bahasa yang berorientasi pada manusia). Seperti diketahui bahasa tingkat tinggi mempunyai kompatibilitas yang tinggi antar platform.

Tujuan utama pembuatan C++ adalah untuk meningkatkan produktivitas perogram dalam membuat aplikasi. C++ dapat mengurangi kekompleksitasan, terutam pada program yang besar yang terdiri dari 10.000 baris atau lebih.

2.2  Pengenalan Program C++

Program C++ dapat ditulis menggunakan sembarang editor teks, seperti EDIT (milik DOS), WordStar, SideKick, ataupun menggunakan editor bawaan dari kompiler. Program C++ biasa ditulis dengan nama ektensi  .CPP (dari kata C Plus Plus). Agar program bisa dijalankan (dieksekusi), program harus dikompilasi terlebih dahulu dengan menggunakan kompiler C++.

Untuk praktikum ini kita menggunakan Borland C++ versi 4.45 sebagai editor sekaligus sebagai kompiler.

2.3  Contoh Program C++

Sebuah contoh program C++ yang sangat sederhana dapat anda lihat dibawah ini :

Program

   #include <iostream.h>

    void main()

    {

         cout << “Hai, Selamat belajar C++ \n”;

     }

Anda dapat menyimpan program diatas dengan nama prak1.cpp. Jika program dikompilasi dan dieksekusi, maka hasilnya berupa tulisan pada layar :

           Hai, Selamat belajar C++

Penjelasan program program diatas dapat dilihat pada beberapa sub bab berikut.

a.      Funsi Main()

Fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi, yaitu fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi program C++. Sedangkan Tubuh fungsi dimulai dari tanda { hingga tanda }. Lebih spesifik lagi, semua yang terletak didalam tanda { } disebut blok.

Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Pada fungsi main() seperti pada contoh, tidak ada argumen yang diberikan. Oleh karena itu tidak ada entri di dalam ().

Kata void yang mendahului main() dipakai untuk menyatakan bahwa funsi ini tidak memiliki nilai balik.

b.      Pernyatan

Baris :

                cout << “Hai, Selamat belajar C++ \n”;

merupakan contoh sebuah pernyataan. Pada contoh diatas, pernyataan tersebut digunakan untuk menampilkan tulisan yang terletak pada sepasang tanda petik ganda ke layar. Dalam hal ini tulisan yang terletak pada sepasang tanda petik ganda disebut konstanta string.

Setiap pernyataan harus diakhiri tanda titik koma (;). Kealpaan dalam memberikan tanda ini kan menyebabkan kompiler memberikan pesan kesalahan selama waktu komplasi.

c. Mengenal cout

cout disediakan oleh C++ untuk mengarahkan data ke standard output (normalnya adalah layar).

Contoh :

   cout  << “Hai, Selamat Belajar C++ \n”;

 

tanda << (dua buah tanda kurang dari berurutan) merupakan sebuah operator yang disebut operator “penyisipan/peletakan”. Operator ini akan mengarahkan operand (data) yang terletak disebelah kanannya ke obyek yang terletak disebelah kiri. Pada contoh di atas konstanta string diarahkan ke cout, yang memberikan hasil berupa tampilan string kelayar tersebut.

Didalam string terdapat tanda \n adalah merupakan karakter pindah baris (newline). Jadi bukan tanda \ dan n itulah sebabnya tulisan :

 

Hai, Selamat Belajar C++

 

Ditampilkan pada layar dan diikuti dengan pindah baris.

                 #include <iostream.h>

Baris :

#include <iostream.h>

bukan suatu penyataan. Itulah sebabnya tidak ada tanda titik koma yang diperlukan. Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain (pada contoh diatas adalah iostream.h) saat program dikompilasi. Baris #include <isotream.h> perlu diikut sertakan pada program yanmg melibatkan cout.

                 clrscr() untuk menghapus layar

Perintah ini biasa dilibatkan dalam program untuk membersihkan layar. Apabila penyataan clrscr() digunakan maka #include <conio.h> perlu disertakan pada program. Contoh :

Program :

   #include <iostream.h>

   #include <conio.h> 

    void main()

    {

clrscr();

                    cout << “Hai, Selamat belajar C++ \n”;

     }

 

          Gaya Penulisan Program

C++ memberikan keleluasaan kepada pemrogram dalam menuliskan bentuk atau gaya program. Misal pada program 1.2 daituliskan seperti berikut :

Program  :

   #include <iostream.h>

   #include <conio.h> 

    void main() { clrscr(); cout

        << “Hai, Selamat belajar C++ \n”

     ;

     }

Penulisan diatas akan memberikan hasil yang sama dengan contoh sebelumnya. Namun penulisan ini tidak dianjurkan. Program hendaknya ditulis dalam bentuk yang mudah dibaca oleh siapa saja.

d.   Komentar

Komentar merupakan bagian yang penting dalam program. Kehadirannya sangat membantu pemrogram ataupun orang lain dalam memehami program. Karena berupa penjelasan-penjelasan mengenai program atau bagian-bagian dari program. Komentar pada C++ diawalii dengan dua tanda garis miring (//). Semua tulisan yang terletak sesudah tanda (//) hingga akhir batas dengan sendirinya akan diperlakukan sebagai keterangan.

Sebuah contoh program yang mengginakan komentar :

Program :

   #include <iostream.h>  // menyertakan file iostream.h

   #include <conio.h> 

    void main()

    {

clrscr();  // Hapus Layar

                    cout << “Hai, Selamat belajar C++ \n”;

     }

 

2.4  Elemen Dasar C++

a.      Himpunan Karakter

           Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol).

Huruf

          A B C D E F G H I J K L M N O P Q R S T U V X Y Z

          A b c d e f g h i j k l m n o p q r s t u v w x y z

Digit 

          0 1 2 3 4 5 6 7 8 9

Simbol dan Lain-lain

          _  -  +  * dan sebagainya

b.      Pengenal (Identifier)

Pengenal adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan :

-          Variabel                                               -   Fungsi

-          Konstata bernama                   -   Label

-          Tipe data                                 -   Obyek

Serta hal-hal lain yang dideklarasikan atau didefinisikan oleh pemrogram.

  Penamaan Pengenal

          Suatu pengenal  berupa satu atau beberapa karakter :

-          Huruf                          -   Garis bawah ( _ )

-          Digit

Dan berawalan dengan huruf atau garis bawah. Disarankan agar pemberian nama pengenal menggunakan kata yang berarti dan mudah dibaca.

Huruf Kecil dan kapital Berbeda

Pada C++, huruf kecil dan huruf kapital pada suatu pengenal dianggap berbeda. sifat ini dikenal dengan istilah case sensitive. Sebab itu pengeanal NAMA, Nama dan nama menyatakan tiga pengenal yang berbeda.

c.       Kata Kunci

Kata kunci (keyword) adalah pengenal sistim yang mempunyai makna khusus bagi kompiler. Kata kunci tidak dapat dirubah. Karena itu kata kunci tidak dapat digunakan sebagai pengenal.

d.      Tipa Data

Tipe data dasar pada C++ meliputi :

-          char                             -   float                                    -  long

-          int                                -   double

-          short                            -   long double

Tipe data yang berhubungan dengan bilangan bulat adalah char, int, short dan long. Sedangkan lainya berhubungan dengan bilangan pecahan.

e.       Variabel dan Konstanta

Data pada C++ tersusun dari :

-      Variabel                         -    Konstanta

Variabel digunakan dalam program untuk menyimpan suatu nilai, nilai yang ada padanya dapat diubah selama eksekusi program berlangsung.

Mendeklarasikan dan Mendefinisikan Variabel

Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi disini berarti mengenalkan sebuah pengenal ke program dan menentukan jenis data yang disimpam didalamnya.

tipe daftar_variabel

 
Bentuk pendefinisian variabel :

 

 

Menentukan Tipe Variabel

Jika variabel hendak dipakai untuk menyimpan data bilangan bulat saja, maka pilihannya adalah tipe bilangan bulat ( seperti int , long). Jika variabel hendak dipakai untuk data bilangan pecahan, maka variabel harus didefinisikan bertipe bilangan pecahan (seperti float).

Memberikan Nilai ke Variabel

Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel yang telah dideklarasikanatau didefinisikan :

 

variabel = nilai

 
 

 

 


Pernyataan diatas sering disebut sebagai pernyataan penugasan.

Insialisai Variabel

Adakalanya dalam penulisan program, variabel langsung diberi nilai setelah didefinisikan. Sebagai contoh :

int jumlah;

jumlah = 10;

Dua pernyataan seperti diatas sebenarnya dapat disingkat melalui pendefinisian yang disertai penugasan nilai, sebagi berikut :

int jumlah = 10;

Contoh program :

//*-------------------------------------------------------*

//* contoh 1.1 : inisialisasi variabel dengan       *

//*                  nilai konstan                               *

//*-------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

     int jumlah = 10;                             // inisialisasi

     float harga_per_unit = 17.5;         // inisialisasi

     clrscr();

     cout << “Isi Jumlah                    = “

             << jumlah << ‘\n’;

     cout << “ Isi harga per per unit  = “

Isi Jumlah             = 10  

Isi harga per unit  =  17.5                  

 
              << harga_per_unit << ‘\n’;

}

                                          Hasil eksekusi :

 

Pemberian inisialisasi terhadap suatu variabel dengan menggunakan ungkapan juga dapat diperkenenkan. Sebagai contoh :

      float duaphi = 2 * 3.14;

Contoh Program :

//*-------------------------------------------------------------*

//*  Contoh  : Contoh Inisialisasi variabel            *

//*                     dengan  suatu ungkapan                  *

//*-------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

    float dupahi = 2 * 3.14;  //inisialisasi dengan ungkapan

 

    clrscr();

    cout << “Isi duaphi = “ << duaphi << ‘\n’;

}

Isi duaphi = 6.28

 
 


Hasil ekseskusi :

 

 

Pendefinisian dapat pula dilakukan dimana saja, seperti :

int i = 10;

cout << “Nilai i = “ << i << ‘\n’;

int j = 77;

cout << “Nilai j = “ << j << ‘\n’;

 

Contoh program :

//*-----------------------------------------------------------------*

//* Contoh: Pendefiniasian variabel dimana saja     *

//*-----------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

       int i = 10;  // pendefinisian dan inisialisasi

       clrscr();

      cout << “Nilai i = “ << i << ‘\n’;

      int j = 77;

      cout << “Nilai j = “ << j << ‘\n’;

}

Nilai i = 10

Nilai j = 77

 
 


Hasil Eksekusi :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB III

OPERATOR DAN UNGKAPAN

 

3.1. Pengantar Operator dan Ungkapan

Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Sebagaian operator C++ tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand).

Contoh :

                a + b

simbol “ + “ merupakan operand untuk melakukan penjumlahan dari a dan b. Karena operator penjumlahan melibatkan dua operand, operator penjumlahan tergolong sebagai operator binary.

Contoh lain :

-c

simbol “ – “ (minus) merupakan unary, karena hanya memiliki sebauh operand (yaitu c pada contoh diatas).

Ungkapan (ekspresi) dalam C++ dapat berupa :

-          Pengenal

-          Konstanta

-          Diantara kombinasi elemen diatas denan operator

Contoh ungkapan :

                       3 + 2 - 1

Pada ungkapan diatas, 3,2 dan 1 merupakan operand dan simbol  “ + “ serta “ – “ adalah operator. Nilai ungkapan sendiri adalah hasil penjumlahan 3 dan 2, dikurangi 1.

3.2. Operator Aritmatika

Operator untuk aritmatika yang tergolong sebagai operator binary. Contoh penggunan operator aritmatikamisalnya untuk memperoleh nilai diskriminan darisuatu persamaan kuadrat.

            d = b2 – 4ac

untuk mengimplementasikan contoh diatas adalah seperti berikut :

    d = b * b – 4 * a * c ;

Contoh program :

//*-----------------------------------------------------------*

//* contoh 2.1 : Contoh pemakaian operator           *

//*                      Aritmatika                                   *      

//*-----------------------------------------------------------*

 #include <iostream.h>

 #include <conio.h>

 

 void main()

 {

        int a, b, c, d;

        clrscr();

        a = 5;

        b = 600;

        c = 5;

       

        d = b * b – 4 * a * c;

        cout << “ d = “ << d << ‘\n’;

 }

d = 32220

 
 


 Hasil eksekusi :

 

 

Operator aritmatika mempunyai prioritas pengerjaan. Prioritas yang tinggi akan diuatamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas yang lebih rendah. Urutan prioritas dapat dilihat dalam tabel berikut ini :

Operator

Prioritas

+  --   (Khusus yang berkedudukan   sebagai awalan)

Tertinggi

-         ( Unary Minus ) 

 

*  /  %

 

+  -

Terendah

Jika operator memiliki prioritas yang sama, operator sebelah kiri akan diutamakan untuk dikerjakan terlebih dahulu.

Tanda kurung biasa digunakan untuk merubah urutan pengerjaan.  Misalnya :        x = ( 2 + 3) * 2 ;

akan memeberikan nilai 10 ke x, sebab 2 + 3 dikerjakan terlebih dahulu dan hasilnya baru dikalikan dengan 2.

Contoh program :

//*---------------------------------------------------------------*

//* Contoh : Penggunaan kurung untuk mengatur    *

//*                      prioritas pengerjaan terhadap suatu      *

//*                      operasi                                                   *

//*---------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

      clrscr()

       int x ;

      x = 2 + 3 * 2 ;

      cout << “ x = “ << x << ‘\n’;

      x = (2 + 3) * 2 ;

 8

 12

 
      cout << “ x = “ << x << ‘\n’;

}

   

Hasil eksekusi :

 

3.3. Operator Sisa Pembagian

Operator sisa pembagian (operator modulus) yang berupa %. Operator ini diterapkan pada operand bertipe integer. Untuk lebih jelasnya perhatikan contoh berikut :

7 % 2 ® 1

Sisa pembagian bilangan 7 dengan 2 adalah 1

6 % 2 ® 0

Sisa pembagian bilangan 6 dengan 2 adalah 0

 8 % 3 ® 2

Sisa pembagian bilangan 8 dengan 3 adalah 2

 

Contoh program :

//*----------------------------------------------------------*

//* Contoh  : Melihat sisi pembagian dengan      *

//*                      menggunakan operator %.              *

//*----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

 

void main()

{

    clrscr();

 5

 6

 0

 1

 2

 

 
    cout << 5 % 7 << ‘\n’;    //sisa 5

    cout << 6 % 7 << ‘\n’;    //sisa 6

 

    cout << 7 % 7 << ‘\n’;    //sisa 0

    cout << 8 % 7 << ‘\n’;    //sisa 1

    cout << 9 % 7 << ‘\n’;    //sisa 2

}

Hasil eksekusi :

Kegunaan operator % diantaranya bisa dipakai untuk menentukan suatu bilangan bulat termasuk ganjil atau genap.

3.4. Operator Penurunan dan Penaikan

Kedua operator ini digunakan pada operand bertipe bilangan bulat. Operator penaikan digunakan untuk menaikan nilai variabel sebesar satu, sedangkan operator penurunan dipakai untuk menurunkan nilai variabel sebesar satu. Sebagai contoh :

    x = x + 1 ;

    y = y – 1 ;

bisa ditulis menjadi :

   ++ x ;

-- y ;

atau :

   x ++ ;

   y -- ;

Panaikan dibelakang

Efek peletakkan tanda ++ dibelakang variabel ditunjukkan pada program berikut :

Contoh program :

//*-----------------------------------------------------------*

//* Contoh: Pemakaian operator penaikan di     *

//*                      belakang variabel                            *

//*-----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

  int r = 10;

  int s;

  clrscr();

     s = 10 + r++ ;

  cout << “ r = “ << r << ‘\n’ ;

 

  cout << “s  = “ << s << ‘\n’ ;

 r = 11

 s = 20

 
}

Hasil eksekusi :

 

 

 

Pada contoh diatas s diisi dengan penjumlahan nilai 10 dan r. Dengan demikian s akan bernilai 20. setelah s diisi dengan 20, nilai r baru dinaikan karena operator ++ ditulis dibelakang r. Disebut post-increment yang artinya dinaikkan dibelakang setelah penjumlahan anatara r dan 10 dilaksanakan.

Penaikan di Depan

Efek peletakkan tanda ++ di depan variabel ditunjukkan pada program berikut ini :

Contoh program :

//*-----------------------------------------------------------*

//* Contoh : Pemakaian operator penaikan di    *

//*                      belakang variabel                           *

//*-----------------------------------------------------------*

 

#include <iostream.h>

#include <conio.h>

void main()

{

  int r = 10;

  int s;

  clrscr();

     s = 10 + ++r ;

  cout << “ r = “ << r << ‘\n’ ;

 r = 11

 s = 21

 
  cout << “s  = “ << s << ‘\n’ ;

}

Hasil eksekusi :

 

Pada contoh ini, nilai r mula-mula dinaikan terlebih dahulu karena operator ++ ditempatkan didepan r. Disebut pre-increment kemudian nilainnya dijumlahkan dengan 10 dan diberikan ke s. Dengan demikian s bernilai 21 dan r sama dengan 11.

 

 

 

 

3.5. Operator Majemuk

Operator majemuk digunakan untuk memendekkan penulisan operasi penugasan semacam :

                x = x + 2 ;

                y = y * 4 ;

menjadi :

                x += 2;

                y *= 4;

Contoh program :

//*--------------------------------------------------------------*

//* Contoh  : penggunaan operator majemuk            *

//*--------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

   int x = 2;  // Mula-mula x bernilai 2

   clrscr();   

   cout << “x = “ << x << ‘\n’ ;

   x += 3 ;

   cout << “Setelah x += 3, x = “ << x << ‘\n’ ;

   x *= 2 ;

   cout << “Setelah x *= 2, x = “ << x << ‘\n’ ;

}

 

 x = 2

 Setelah x += 3, x = 5

 Setelah x += 3, x = 5

 

 
Hasil eksekusi :

 

 

 

 

3.6. Operator Kondisi

Operator kondisi biasa dipakai untuk mendapatkan sebuah nilai dari dua buah kemungkinan, berdasarkan suatu kondisi. Format pemakaiannya :

ungkapan1 ? ungkapan 2 : ungkapan 3

 
 

 


Contoh program :

//*-----------------------------------------------------------*

//* Contoh  : Penggunaan operator kondisi untuk *

//*                      memperoleh bilangan terkecil          *     

//*                      diantara dua buah bilangan              *

//*------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

    int bil1, bil2, minim;

    clrscr();

    bil1 = 53;

    bil2 = 6;

    minim = bil1 < bil2 ? bil1 : bil2;

    cout << “ Bilangan terkecil = “ << minim << ‘\n’;

}

Bilangan terkecil = 6

 
 


Hasil eksekusi :

 

minim = bil1 < bil2 ? bil1 : bil2;

akan menyebabkan minim bernilai bil1 kalau ungkapan :

    bil1 < bil2

bernilai benar. Untuk keadaan sebaliknya, minim akan bernilai bil2.

3.7. Ungkapan Kondisi

Ungkapan adalah ungkapan yang menjadi dasar bagi pernyataan berkondisi (misalnya if ). Hasil ungkapan berupa 1 kalau ungkapan bernilai benar dan ungkapan berupa 0 kalau ungkapan bernilai salah.

Oprator Relasi

Operator  biasa digunakan untuk membandingkan dua buah nilai. Macam operator relasi dapat dilihat dalam tabel berikut :

Operator

Keterangan

==

Sama dengan (bukan penugasan)

!=

Tidak sama dengan

> 

Lebih dari

< 

Kurang dari

>=

Lebih dari atau sama dengan

<=

Kurang dari atau sama dengan

 

Contoh program :

//*------------------------------------------------*

//* Contoh       : untuk menunjukkan nilai   *

//*                      hasil ungkapan kondisi      *

//*------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

    int nilai;

    clrscr();

    nilai = 3 > 2 ; // hasil ungkapan  : benar

    cout << “Nilai = “ << nilai << endl;

 

   nilai = 2 > 3 ; // hasil ungkapan  : salah

    cout << “Nilai = “ << nilai << endl;

 Nilai = 1

 Nilai = 0

 
 }

Hasil eksekusi :

 

Agar tidak salah dalam menuliskan suatu ungkapan, pengetahuan tentang prioritas operator perlu diketahui.

Contoh 1 :

        a = b = c

pada pernyataan diatas, operator yang dilibatkan ( = ) mempunyai sifat pengerjaan dimulai dari kanan. Berarti :

         b = c

akan dikerjakan terlebih dahulu, barulah kemudian mengerjakan :

         a = b

Contoh 2 :       x = 2 * 3 * 4 ;

pada pernyataan diatas, 2 * 3 akan dikerjakan terlebih dahulu, barulah kemudian mengerjakan perkalian hasil 6 dengan 4. Adapun prioritas  = lebih rendah dari *, maka 2 * 3 * 4 dikerjakan lebih dahulu. Selanjutnya hasilnya baru diberikan ke x.

3.8. Fungsi Pustaka

Dalam melakukan operasi seperti memeperoleh akar kuadrat ataupun memeperoleh logaritma alamiah dari suatu nilai. Pada C++ memang tidak terdapat operator-operator yang khusus untuk melaksanakan operasi-oerasi seperti itu. Tetapi tidak berarti C++ tidak dapat melakukan operasi itu. C++ menyediakan sejumlah fungsi pustaka (library fuctions) yang dirancang untuk memenuhi solusi dari berbagai persoalan.

Misalkan kita akan menghitung sebuah akar kuadrat, pemrogram bisa menggunakan fungsi sqrt(). Seperti contoh program berikut :

Contoh program :

//*-----------------------------------------------------------*

//* Contoh  : Pemakaian pustaka fungsi sqrt()      *

//*-----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

#include <math.h>  // Perlu disertakan untuk funsi sqrt()

void main ()

{

     clrscr();

     cout << “Akar dari 27 = “ << sqrt(27) << ‘\n’;

}

 Akar dari 27 = 5.196152

 
Hasil eksekusi :

 

Jika program ingin menggunakan fungsi pustaka, perlulah untuk mencatumkan deklarasi dari funsi bersangkutan. Untuk keperluan ini program mesti menyertakan baris : 

#include <nama_file>

 

dengan nama_file adalah nama header, yaitu file yang berakhiran .h. sebagai contoh program diatas menyertakan #include <math.h> disebabkan file header tersebut berisi deklarasi (prototipe) dari fungsi sqrt().

 

 

 

BAB IV

OPERASI DASAR MASUKAN DAN KELUARAN

4.1. Cout

Dengan cout pemrogram dapat meletakkan suatu informasi ke standart output (normalnya berupa layar). Sebagai contoh, pernyatan berikut akan menampilkan tulisan “Pilihan Anda salah” dikuti dengan bunyi bel (speker) :

    cout  << “Pilihan Anda salah !\a\n”;

Untuk lebih jelasnya dapat memeperhatikan program dibawah ini :

Contoh program :

//*------------------------------------------------------*

//* Contoh      : Memperkenalkan cout dan      *

//*                      membunyikan bel dengan       *

//*                      karakter \a                                *

//*------------------------------------------------------*

#include <iostream.h>

void main()

{

        cout << “Pilihan Anda Salah ! \a”;

}

 

4.2. Manipulator

Manipulator umumnya digunakan untuk mengatur tampilan data. Misalnya untuk mengatur agar suatu nilai ditampilkan dengan lebar 10 karakter dan diatur rat kanan terhadap lebar tersebut.

Manipulator endl

Manipulator endl digunakan untuk menyisipkan karakter newline. Dengan kata lain manipulato ini identik dengan ‘\n’.

Contoh program berikut menunjukkan penggunan endl.

Contoh program :

//*-------------------------------------------------------------*

//* Contoh      : Menampilkan 3 jumlah barang dan  *

//*                      menggunakan manipulator endl       *

//*-------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int jumbar1 = 150;

             jumbar2 = 23;

             jumbar3 = 1401;

clrscr();  // Hapus layar

cout << “Barang 1 = “ << jumbar1 << endl;

cout << “Barang2 = “ << jumbar2 << endl;

cout << “Barang3 = “ << jumbar3 << endl;

 Barang 1 = 150

 Barang 2 = 23

 Barang 3 = 1401

 
}

 

Hasil eksekusi :

Manipulator setw()

Manipulator setw() bermanfaat untuk mangatur lebar dari suatu tampilan data. Untuk lebih jelasnya dapat dilihat dalam program berikut :

Contoh program :

//*-------------------------------------------------------------*

//* Contoh      : Manampilkan 3 buah barang dengan  *

//*                      menggunakan manipulator setw()      *

//*-------------------------------------------------------------*

#include <iostream.h>

#include <iomaip.h>   // Untuk manipulator setw()

#include <conio.h>

void main()

{

int jumbar1 = 150;

             jumbar2 = 23;

             jumbar3 = 1401;

 

clrscr();  // Hapus layar

cout << “Barang 1 = “ << setw(4) << jumbar1 << endl;

cout << “Barang2 = “  << setw(4)  << jumbar2 << endl;

cout << “Barang3 = “  << setw(4)  << jumbar3 << endl;

 Barang 1 =     150

 Barang 2 =       23

 Barang 3 =   1401

 
}

 

Hasil eksekusi :

 

 

 

Dengan menggunakan setw(), terlihat hasil eksekusi adalah rata kanan. Ini dapat di bedakan dengan hasil eksekusi pada contoh yang rata kiri.

Manipulator setfill()

Manipulator setfill() berguna untuk mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setw(), yang tidak dipakai untuk menampilkan data.

Untuk lebih jelas dapat melihat program berikut :

Contoh program :

//*-------------------------------------------------*

//* Contoh  : Pemakaian setfill()             *

//*-------------------------------------------------*

#include <iostream.h>

#include <iomanip.h>

#include <conio.h>

void main()

{

float harga = 123.45

 

clrscr();

cout << “ setw(8) << harga << endl;

cout << setfill(‘*’) ; // Karakter pemenuh ® *

cout << setw(8) << harga << endl;

}

    123.45

**123.45

 
 


Hasil eksekusi :

 

 

 

Pada program diatas 123.45 ditampilkan dengan lebar 8 karakter dan didahului oleh 2 karakter spasi. Apabila terdapat pernyataan setfill(‘*’) maka 2 karakter spasi diisi oleh karakter ‘ * ‘ .

Pemakaian setiosflag()

Manipulator setiosflag() merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum dalam tebel berikut :

Tanda Format

Keterangan

ios::left

Menyetel rata kiri terhadap lebar feeld yang diatur melalui setw()

ios::rigth

Menyetel rata kanan terhadap lebar feeld yang diatur melalui setw()

ios::scientific

Menformat keluaran dalam notasi eksponensial

ios::fixed

Menformat keluaran dalam bentuk notasi desimal

ios::dec

Menformat keluaran dalam basis 10 (desimal)

ios::oct

Memformat keluaran basisi 8 (oktal)

ios::hex

Memformat huruf dalam basis 16 (heksadesimal)

ios::uppercase

Memformat huruf pada notasi heksadesimal dalam bentuk huruf kapital

ios::showbase

Manmpilkan awalan 0x untuk bilanagan heksadesimal atau 0 (nol) untuk bilangan oktal

ios::showpoint

Menampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan

ios::showpos

Untuk menampilkan tanda + pada bilangan positif

Manipulator setprecision()

Apabila anda bekerja dalam bilangan pecahan, Anda juga mengatur jumah digit pecahan yang ingin ditampilkan. Hal ini dapat dilakukan dengan menggunakan manipulator setprecision(). Bentuknya :

    setprecision(n)

dengan n menyatakan jumlah digit pecahan yang diinginkan.

Sebagai contoh :

            cout << setprecision(2) << 123.56789 << endl;

akan menapilkan :

                123.57

bagian pecahan terdiri atas dua digit sesuai dengan argumen pada setprecision().

 

Contoh Program :

//*-------------------------------------------------------*

//* Contoh      : Menunjukkan efek manipulator  *

//*                      setprecisoin()                              *

//*-----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

void main()

{

float nilai = 123.45;

clrscr();

123

123.4

123.45

123.450

123.4500

123.45000

123.449997

123.4499969

 
cout << setiosflags(ios::fixed);

cout << setprecision(0) << nilai << endl;

cout << setprecision(1) << nilai << endl;   

cout << setprecision(2) << nilai << endl;

cout << setprecision(3) << nilai << endl;

cout << setprecision(4) << nilai << endl;

cout << setprecision(5) << nilai << endl;

cout << setprecision(6) << nilai << endl;

cout << setprecision(7) << nilai << endl;

}

Hasil eksekusi :

 

Contoh berikut menunjukkan hasil bila setw() dipakai tetapi ios::fixed tidak diikut sertakan.

//*---------------------------------------------------------*

//* Contoh      : Menunjukkan efek setprecision()  *

//*                      tanpa tanda format ios::fixed         *

//*---------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

void main()

{

float nilai = 123.45;

clrscr(); // Hapus layar

cout << setprecision(0) << nilai << endl;

cout << setprecision(1) << nilai << endl;   

cout << setprecision(2) << nilai << endl;

cout << setprecision(3) << nilai << endl;

cout << setprecision(4) << nilai << endl;

cout << setprecision(5) << nilai << endl;

cout << setprecision(6) << nilai << endl;

cout << setprecision(7) << nilai << endl;

1e+02

1e+02

1.2e+02

123

123.4

123.45

123.45

123.45

 
}

 

Hasil eksekusi :

 

 

 

 

 

 

4.3. cin

Obyek cin bermanfaat untuk untuk membaca data dari standart input (normalnya adalah keyboard).

cin dengan sebuah variabel

Bentuk pernyataan cin untuk membaca data dari keyboard dan meletakkan ke sebuah variabel variabel bernama var :

cin >> var

 
 

 

 


Contoh program yang menunjukkan penmakaian cin untuk membaca data bertipe int dan float.

//*------------------------------------------------------*

//* Contoh      : Membaca data bertipe int dan   *

//*                      float dari keyboard                    *

//*------------------------------------------------------*

#include <iostream.h>

void main ()

{

int bil_x ;  // Definisi bilangan bulat

float bil_y ; // Definisi bilangan pecahan

cout << “Masukkan sebuah bilangan bulat  = “ ;

cin  >> bil_x ;

cout << “Masukkan sebuah bilangan pecahan = “ ;

cin >> bil_y;

 

cout << “ Bilangan Bulat = “ << bil_x << endl;

cout  << “ Bilangan Pecahan = “ << bil_y << endl;

 }

Masukkan sebuah bilangan bulat = 123

Masukkan sebuah bilangan pecahan = 23.1

Bilangan Bulat = 123

Bilangan Pecahan 23.1

 
 


Hasil eksekusi :

 

 

 

 

Tampak bahwa bentuk perintah untuk membaca data bertipe int ataupun float sama saja. Hal ini berlaku untuk semua jenis data dasar ( char, int, long, float ataupun double).

Salah satu manfaat dari adanya fasilitas pemasukkan dari keyboard adalah memungkinkan untuk membuat program yang membaca data yang berubah-ubah.

cin dengan lebih dari satu variabel

Bentuk cin dapat juga sebagai berikut :

    cin >> bil_x >> bil_y ;

Pada contoh ini kedua bilangan dapat bilangan dapat dimasukkan dari keyboard dengan pemisah berupa spasi, tab atau enter.

Contoh program :

//*-----------------------------------------------------------*

//* Contoh       : Untuk membaca data dengan lebih  *

//*                      dari satu variabel                              *

//*-----------------------------------------------------------*

#include <iostream.h>

void main ()

{

int bil_x ;  // Definisi bilangan bulat

float bil_y ; // Definisi bilangan pecahan

cout << “Masukkan sebuah bilangan bulat  dan “ << endl;

cout << “Masukkan sebuah bilangan pecahan  “ << endl ;

cin >> bil_x  >> bil_y;

 

cout << “ Bilangan Bulat = “ << bil_x << endl;

cout  << “ Bilangan Pecahan = “ << bil_y << endl;

Masukkan sebuah bilangan bulat dan

Masukkan sebuah bilangan pecahan 20 23.2 ¿

Bilangan Bulat = 20

Bilangan Pecahan 23.2

 
 }

Hasil eksekusi :

 

 

 

cin untuk membaca karakter 

cin juga dapat dipakai untuk membaca sebuah karakter. Sebagai contoh :

//*------------------------------------------------------------*

//* Contoh     : Membaca karakter dengan cin          *

//*------------------------------------------------------------*

#include <iostream.h>

#include <iomanip.h>

#include <conio.h>

void main ()

{

char karakter;

clrscr();

cout << “Masukkan sebuah karakter  “;

cin >> karakter;

cout << “Anda mengetik “ << karakter << endl;

cout << “Masukkan sebuah karakter “;

cin >> karakter;

cout << “Anda mengetik “ << karakter << endl;

Masukkan sebuah karakter a ¿

Anda mengetik a

Masukkan sebuah karakter b ¿

Anda mengetik b

 
 }

 

Hasil eksekusi :

 

 

 

Tampak pada contoh program diatas, untuk setiap karakter yang dimasukkan harus diakhiri dengan enter (¿ ). Penekanan enter pada pemasukkan sebuah karakter terkadang tidak dikehendaki oleh pemakai. Jika demikian, anda dapat menggunakan fungsi getch() ataupun  getche().

4.4. Fungsi getc() dan getche()

Fungsi getc() dan getche() berguna untuk membaca sebuah karakter tanpa perlu menekan enter. Selain itu, fungsi ini juga dapat dipakai untuk membaca tombol seperti spasi, tab ataupun enter.

Bentuk pemakaiannya :

karakter = getch()

karakter = getche()

 
 

 

 

 

 


Perbedaan kedua fungsi ini adalah :

- getch()               : tidak menampilkan karakter dari tombol yang ditekan

- getche()             : menamilkan karakter dari tombol yang ditekan

Contoh program :

//*-------------------------------------------------------------*

//* Contoh  : Membaca karakter dengan getch()   *

//*-------------------------------------------------------------*

#include <iostream.h>

#include <iomanip.h>

#include <conio.h>

void main()

{

char karakter;

clrscr();

cout << “Masukkan sebuah karakter “;

karakter = getch();

cout << “Anda mengetik “ << karakter << endl;

cout << “Masukkan sebuah karakter “;

karakter = getch();

cout << ”Anda mengetik  “ << karakter << endl;

}

Masukkan sebuah karakter  a    7 Tidak ditampilkan

Anda mengetik  a

Masukkan sebuah karakter  b    7 Tidak ditampilkan

Anda mengetik  b

 
 

 

 

 

 


Sebuah getch() bisa pula dimanfaatkan untuk menunggu sembarang tombol ditekan. Pada keadaan seperti ini tidak perlu diletakkan ke variabel.

Contoh program :

//*--------------------------------------------------------------*

//* Contoh  : getch() untuk memebaca sembarang *

//*                         tombol                                               *

//*--------------------------------------------------------------*

#include <iostream.h >

#include <conio.h>

void main()

{

cout << “Tekanlah sembarang tombol” << endl;

cout << “Untuk mengakhiri program ini “ ;

getch();

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB V

PERNYATAAN DASAR

5.1. Pernyataan if

Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ada dua macam :

-          if

-          if else

Pernyataan if sederhana

Pernyataan if paling sederhana berbentuk :

if (kondisi)

       pernyataan

 
 

 


 

 

 

-          Kondisi digunakan untuk menentukan pengambilan keputusan

-          Pernyataan dapat berupa sebuah pernyataan-pernyataan majemuk.

Penerapan if misalnya untuk menentukan seseorang   boleh atau tidak menonton pertunjukkan bioskop. Kondisi yang digunakan seseorang boleh menonton kalau sudah berusia 17 tahun.

Contoh program :

//*-----------------------------------------------------------*

//* Contoh  : Penggunaan if dalam pengambilan  *

//*                      keputusan                                         *

//*-----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

 

void main()

{

int usia;

clrscr();   // Hapus layar

cout << “Berapa usia anda  ? “;

cin >> usia;

if (usia < 17)

    cout << “ Anda tidak diperkenankan menonton” << endl;

Barapa usia anda ? 16 ¿

Anda Tidak diperkenankan menonton

 
}

Hasil eksekusi :

 

 

 

Apabila program dieksekuisi lagi untuk memasukkan usia diatas 17 maka :

Tampak diatas bila dimasukkan usia diatas 17 maka pesan tidak akan ditampilkan. Untuk mengatasi hal ini dapat dilakukan dengan menggunakan pernyataan kondisi if else.

Barapa usia anda ? 21 ¿

 
 

 
 

 


Pernyataan if else

  Pernytaan if else mempunyai bentuk sebagai berikut :

if (kondisi)

    Pernyataan 1;

else

    Pernyataan 2;

 

 
 

 

 

 

 

 


Untuk if else kita dapat menggunakan contoh 5.1 untuk melihat perbedaan dengan if sederhana.

Contoh program :

//*-----------------------------------------------------------*

//* Contoh       : Penggunaan if else dalam                *

//*                      pengambilan  keputusan                  *

//*-----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int usia;

clrscr();   // Hapus layar

cout << “Berapa usia anda  ? “;

cin >> usia;

if (usia < 17)

    cout << “ Anda tidak diperkenankan menonton” << endl;

else

    cout << “ Selamat menonton” << endl;

Barapa usia anda ? 16 ¿

Anda Tidak diperkenankan menonton

 
}

 

Hasil eksekusi :

   

 

Apabila kita memasukkan umur lebih dari 17 maka hasil eksekusi yang didapat adalah :

Barapa usia anda ? 21 ¿

Selamat menonton

 
 

 

 

 


Pernyataan if dalam if

if (kondisi1)

    pernyataan1;

else if (kondisi2)

    pernyataan2;

else if (kondisi3)

    pernyataan3;

if (kondisiM)

    pernyataanM;

else                              /*Opsional*/

    pernyataanN;          /*Opsional*/ 

 
Pernyataan if yang terletak dalam if sering disebut nested if atau if bersarang. Salah satu bentuknya adalah :

 

 

 

 

 

 

 

Bentuk pernyatan if seperti ini bermanfaat untuk menyeleksi sejumlah kemungkinan tindakan. Penyeleksian dilakukan secara bertingkat.

 

Contoh program :

//*------------------------------------------------------*

//* Contoh       : Pemakaian if bertingkat untuk  *

//*                      menentukan nama hari              *

//*------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main ()

{

int kode_hari;

clrscr();    // Hapus layar

cout << “Menentukan hari “ << endl;

cout << “1 = Senin    3 = Rabu      5 = Jum’at    7 = Minggu  “<< endl;

cout << “2 = Selasa   4 = Kamis    6 = Sabtu “ << endl;

cout << “Kode hari [1..7] : “ ;

cin >> kode_hari;

// Proses seleksi;

if (kode_hari = = 1)

   cout << “Senin” << endl;

if (kode_hari = = 2)

   cout << “Selasa” << endl;

if (kode_hari = = 3)

   cout << “Rabu” << endl;

if (kode_hari = = 4)

   cout << “Kamis” << endl;

if (kode_hari = = 5)

   cout << “Jum’at” << endl;

if (kode_hari = = 6)

   cout << “Sabtu” << endl;

if (kode_hari = = 7)

   cout << “Minggu” << endl;

else

    cout << “Kode hari salah” << endl;

Menentukan hari

1 = Senin    3 = Rabu      5 = Jum’at    7 = Minggu  “<< endl;

2 = Selasa   4 = Kamis    6 = Sabtu “ << endl;

Kode hari [1..7] : 2 ¿

Selasa

 
}

 

Hasil eksekusi :

 

 

Program diatas pertama-tama meminta kode hari dimasukkan dari keyboard. Kemudian if dan else secara bertingkat akan menyeleksi nilai tersebut dan memeberikan nama hari. Bila anda memasukkan kode hari yang salah maka :

 

 

 

 

Menentukan hari

1 = Senin    3 = Rabu      5 = Jum’at    7 = Minggu  “<< endl;

2 = Selasa   4 = Kamis    6 = Sabtu “ << endl;

Kode hari [1..7] : 9 ¿

Kode hari salah

 
 

 

 

 

 

 

 


5.2. Pernyataan switch

switch adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksi.

Kaidah umum pernyataan switch :

switch (ungkapan)

{

     case ungkapan1;

             pernyataan_1;

             break;

     case ungkapan2;

             pernyataan_2;

             break;

      ……….

      default :                            /*Opsinal*/

             pernyataan_x;             /*Opsinal*/

}

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 


Pada pernyataan switch, ungkapan dapat berupa ungkapan, konstanta ataupun variabel. Adapun ungkapan1, ungkapan2 dan seterusnya dapat berupa sembarang konstanta bertipe int atau char.

Contoh program :

//*--------------------------------------------------------------*

//* Contoh       : Pemakaian switch untuk menentukan  *

//*                      nama hari                                             *

//*--------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int kode_hari;

clrscr();  // Hapus layar

cout << “Menentukan Hari”” << endl;

cout << “1 = Senin    3 = Rabu      5 = Jum’at    7 = Minggu  “<< endl;

cout << “2 = Selasa   4 = Kamis    6 = Sabtu “ << endl;

cout << “Kode hari [1..7] : “ ;

cin >> kode_hari;

// Proses seleksi dengan switch

switch (kode_hari)

{

case 1:

   cout << “Senin” << endl;

   break;

case 2 :

   cout << “Selasa” << endl;

   break;

case 3 :

   cout << “Rabu” << endl;

   break;

case 4 :

   cout << “Kamis” << endl;

   break;

case 5 :

   cout << “Jum’at” << endl;

   break;

case 6 :

   cout << “Sabtu” << endl;

   break;

case 7 :

   cout << “Minggu” << endl;

   break;

default :

    cout << “Kode hari salah” << endl;

   break;

} // akhir switch

}

Menentukan Hari

1 = Senin    3 = Rabu      5 = Jum’at    7 = Minggu  

2 = Selasa   4 = Kamis    6 = Sabtu

Kode hari [1..7] : 2 ¿

Selasa

 

 
 


Hasil eksekusi :

 

 

 

 

 

 

 

Kehadiran break pada setiap case sangat penting. Sebab break akan menyebabkan keluar dari switch.

5.3. Pernyataan while

Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Bentuk pernyataan while :

 while (ungkapan);

          pernyataan;

 
 

 

 

 


Pernyataan bisa berupa pernyataan majemuk, sehingga bentuknya bisa seperti :

 

 

 while (ungkapan);

  {

          pernyataan1;

          pernyataan2;

          ……

          pernyataanN;

   }

 
 

 

 

 

 

 

 

 


Bagian pernyataan yang mengikuti while akan dieksekusi selama ungkapan pada while bernilai benar (tidak sama dengan nol). Pengujian terhadap ungkapan while dilakukan sebelum bagian pernyataan.

Contoh program :

//*----------------------------------------------------*

//* Contoh       : pemakaian while untuk           * 

//*                      menampilkan tulisan C++       *

//*                      sebanyak 10 kali                     *

//*---------------------------------------------------- * 

#include <iostream.h>

#include <conio.h>

void main()

{

int i;  // Sebagai variabel pencacah yang menyatakan

         // jumlah tulisan C++ yang harus ditampilkan

clrscr();  // Hapus layar

i = 0;       // Mula-mula diisi sama dengan nol

while ( i < 10 )

{

       cout << “ C++ ” << endl;

       i ++ ;              // Menaikkan pencacah sebesar 1

}

 C++

 C++

 C++

 C++

 C++

 C++

 C++

 C++

 C++

 C++

 
}

 

Hasil eksekusi :

 

 

 

 

 

 

 

Pada program diatas, variabel i bertindak sebagai pencacah yang gunanya untuk mengingat jumlah tulisa C++ yang telah ditampilkan. Itulah sebabnya mula-mula didisi dengan nol. Kemudian untuk setiap putaran, isi variabel ini dinaikkan. Oleh karena variabel i dijadikan sebagai kondisi pada while, suatu ketika ketika kondisi i<10 akan bernilai salah, maka while berakhir.

5.4. Pernyataan do-while

Format :

 

do

{

    pernyataan1;

    pernyataan2;

   …. 

    pernyataanN;

} while (ungkapan)

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 


Bagian pernyataan1 hingga pernyataanN dijalankan secara berulang sampai ungkapan bernilai salah (sama dengan nol). Namn berbeda dengan while, pengujian ungkapan  dilakukan dibelakang (setelah bagian peryataan).

Contoh program :

//*-----------------------------------------------------*

//* Contoh       : pemakaian do-while untuk      *

//*                      menampilkan tulisan C++       *

//*                      sebanyak 10 kali                      *

//*---------------------------------------------------- * 

#include <iostream.h>

#include <conio.h>

void main()

{

int i;    // Sebagai variabel pencacah yang menyatakan

           // jumlah tulisan C++ yang harus ditampilkan

clrscr();  // Hapus layar

i = 0;       // Mula-mula diisi sama dengan nol

do

{

       cout << “ C++ ” << endl;

       i ++ ;              // Menaikkan pencacah sebesar 1

} while ( i < 10 );

}

 

5.5. Pernyataan for

for (ungkapan1; ungkapan2; ungkapan3)

       pernyataan;

 
Pernyataan for berguna untuk menggulang pengeksekusian terhadap satu atau sejumlah pernyataan. Bentuk format :

 

 

 

 

Contoh program :

//*----------------------------------------------------------*

//* Contoh      : Menampilkan bilangan genap       *

//*                      yang nilainya kurang atau sama    *

//*                      dengan n dan ditampilkan dari      *

//*                      terbesar sampai nol                       *

//*----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int n;

clrscr();

cout << “Menampilkan bilangan genap yang nilainya  “<< endl;

cout <<” kurang atau sama dengan n “ << endl;   

cout << “Masukkan nilai n = “ ;

cin >> n;

// Jika n ganjil, maka dikurangi 1

if ( n % 2)

     n --;

// tampilkan deret bilangan genap dari besar ke kecil

for (   ; n >= 0; n -= 2 )

     cout << n << ‘  ‘;

Menampilkan bilangan genap yang nilainya 

kurang atau sama dengan n

Masukkan nilai n =  11 ¿

10  8  6  4  2  0

 

 
}

 

Hasil eksekusi :

 

 

 

 

Pada program diatas terdapat :

   n --;                          ungkapan kosong         

   for (   ; n >= 0; n -= 2 )

sama artinya dengan :

for (n -- ; n >= 0 ; n - = 2 )

for bersarang ( Nested for )

Pada aplikasi tertentu, terkadang kita menggunakan pernyataan for yang juga berada dalam pernyataan for.

Contoh program :

//*--------------------------------------------------------------*

//*  Contoh       : Memebentuk segitiga yang berisi       *

//*                       karakter ‘ * ‘ dengan menggunakan   *

//*                       for didalam for                                   *

//*--------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int tinggi,    // Menyatakan tinggi segi tiga

     baris,      // Pencacah untuk baris

     kolom;   //  Pencacah untuk kolom

clrscr();

cout << “ Tinggi segitiga = “ ;

cin >> tinggi;

cout << endl;   //Membuat baris kosong

for (baris = 1; kolom <= baris; kolom ++ )

{

      for (klom = 1; kolom <= baris ; klom ++ )

      cout << ‘ * ‘ ;

      cout << endl ;   // Pindah baris

 }

}

 

Tinggi segitiga = 5 ¿

*

**

***

****

*****

 

 
Hasil eksekusi :

 

 

 

 

 

 

 

 

 

5.6. Pernyataan Continue

Kegunaan dari continue dipakai untuk mengarahkan eksekusi ke putaran atau iterasi berikutnya pada pernyataan pengulangan. Efek dari dari perintah ini pada for, while dan do-while :

-          Pada for :

Ungkapan ke tiga pada for (ungkapan terkanan yang terletak didalam ( ) pada for ) akan dijalankan dan kemudian ungkapan ke dua diuji lagi.

-          Pada while dan do-while :

Pengujian terhadap ungkapan pada while dilakkan kembali.

Contoh menunjukan efek continue pada for :

//*-------------------------------------------------------*

//* Contoh      : Melihat efek continue pada for  *

//*-------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int bil;

clrscr();

for ( bil = 0; bil < 10; bil++)

{

   cout << bil << ‘  ‘ ;

   continue;

   cout << “Perhatikan apakah saya muncul” << endl;

}

}

0  1  2  3  4  5  6  7  8  9

 
 


Hasil eksekusi :                                                                               

 

 

Pernyataan : cout << “Perhatikan apakah saya muncul “ << endl;

Tidak pernah tersentuh (hal ini akan dilaporkan sewaktu pengompilasian program), sebab continue menyebabkab bil++ diproses dan bil < 10 diuji kembali.

Contoh program penggunaan continue pada while :

//*----------------------------------------------------*

//* Contoh      : Pengunaan continue pada       *

//*                      while                                       *

//*----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int pencacah;    // Manyatakan banyaknya nilai

float nilai;        //  Menyatakan nilai yang dimasukkan

float total;        //  Menyatakan total dari nilai

 

clrscr();

cout << “Menghitung nilai rata-rata “ <<endl;

cout << “Akhiri dengan memasukkan nilai negatif “ << endl ;

pencacah = 0;   // Mula-mula diisi dengan nol

total = 0;         

while ( 1 )     // Ungkapan selalu benar

{

cout << “Nilai ke- “ << pencacah + 1 << “ = “;

cin >> nilai ;   // Baca nilai

if  (nilai > 100)

{

cout << “ Nilai diatas diabaikan” << endl;

continue;     // Ulangi keawal while

}

 

if ( nilai < 0 )

   break;        // keluar dar while

pencacah ++;      // Naikkan pencacah sebesar 1

total += nilai ;     // Tambahkan nilai ke total

}

cout << “Jumlah nilai     = “ << pencacah << endl;

cout << “ Nilai rata-rata = “ << total / pencacah << endl;

Menghitung nilai rata-rata

Akhiri dengan memasukkan nilai negatif

Nilai ke-1 = 50 ¿

Nilai ke-2 = 60 ¿

Nilai ke-3 = 700 ¿

Nilai diatas diabaikan

Nilai ke-3 = 70 ¿

Nilai ke-4 = -1 ¿

Jumlah nilai    = 3

Nilai rata-rata = 60

 
}

 

Hasil eksekusi :

 

 

 

 

 

5.7. Menghentikan Program dengan exit()

Suatu eksekusi program dapat dihentikan melalui pemanggilan funsi exit(). Hal ini dapat dilakukan jika dalam sebuah program ada suatu eksekusi kondisi yang tidak dikehendaki.

exit (nilai_keluar);

 
Bentuk pemakaian exit() :

 

 

nilai_keluar dapat disi dengan dengan 0 sampai dengan 255. Umumnya jika program dapat melakukan tugasnya dengan bauk maka nilain keluarnya adalah 0. nilai keluar tidak sama dengan nol untuk menyatakan suatu kesalahan.

Contoh program :

//*------------------------------------------------------*

//* Contoh        : Penggunaan exit()                   *

//*------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

#include <ctype.h>      // Untuk toupper()

#include <stdlib.h>     // Untuk exit()

void main()

{

char jawab;

cout << “ Y = ya, T = Tidak. Pilihan ( Y/T ) : “ ;

for ( ;  ; )

{

// Baca tombol dan ubah ke hurf kapital

jawab = toupper(getch());

if ((jawab = = ‘Y’) || (jawab = = ‘T’))

{

cout << jawab << endl;

if ( jawab = = ‘Y’)

    exit(1);

else

     exit(0);

}

}

}

 

 

 

 

 

 

 

 

 

 

 

MODUL VI

F  U  N  G   S  I

6.1. Definisi Fungsi

Setiap fungsi yang dipanggil didalam program harus didefinisikan. Letaknya dapat dimana saja.

Contoh definisi kuadrat() :

// Prototipe funsi

long kuadrat (long 1);

-------------------------------------

// Definisi fungsi

long kuadrat(long 1)

{

   return(1 * 1);

}

Pernyataan return di dalam fungsi digunakan untuk memeberikan nilai balik fungsi. Pada contoh diatas, fungsi kuadrat() memberikan nilai balik berupa nilai kuadrat dari argumen.

Contoh program :

//*------------------------------------------------------------*

//* Contoh      : Pembuatan fungsi dengan argumen  *

//*                      bertipe long dan nilai balik berupa   *

//*                      long                                                   *

//*------------------------------------------------------------*

#include <iostream.h>

#include <iomanip.h>

#include <conio.h>

long kuadrat(long1);   // prototipe fungsi

void main()

{

clrscr();

for ( long bil = 200; bil < 2000; bil+= 200 )

    cout << setw(8) << bil

            << setw(8) << kuadrat(bil) << endl;

}

 

 

// Definisi fungsi

 

  200        40000

  400      160000

  600      360000

  800      640000

1000      1000000

1200          1440000

1400          1960000

1600          2560000

1800    3240000

 
long kuadrat(long 1)

{

   return( 1 * 1 );

}

 

 

Hasil eksekusi :

 

 

 

 

6.2. Fungsi tanpa Nilai Balik

Adakalanya suatu fungsi  tidak perlu memiliki nilai balik. Misalnya fungsi yang hanya dimaksudkan untuk menampilkan suatu keterangan saja.pada funsi seperti ini, tipe nilai balik fungsi yang diperlukan adalah void.]

Contoh :

void tampilkan_judul ()

{

cout << “PT. Aria perkasa Manunggal” << endl;

cout << “Jl. Kertadipura Tenggara 27R” << endl;

cout << “Kudus” << endl;

}

pada contoh funsi diatas, tidak ada pernyataan return, mengingat fungsi tidak memiliki nilai balik. Namaun penggunaan pernyataan return secara eksplisit juga diperkenenkan. Dalam hal ini digunakan berbentuk :

    return

saja.

Jadi contoh diatas dapat ditulis :

void tampilkan_judul ()

{

cout << “PT. Aria perkasa Manunggal” << endl;

cout << “Jl. Kertadipura Tenggara 27R” << endl;

cout << “Kudus” << endl;

return;  

}

 

6.3. Lingkup variabel

Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.

 
Variabel Otomatis

Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal didalam fungsi tempat variabel didefinisikan.

Contoh program :

//*---------------------------------------------------------*

//* Contoh      : Memperlihatkan efek variabel     *

//*                      otomatis (lokal)                *

//*---------------------------------------------------------*

#include < iostream.h>

#include <conio.h>

void alpha();      // Prototipe fungsi

void main()

{

int x = 22;                  // Variabel lokal pada main()

double y = 2.22;

clrscr();

cout << “ Pada main() : x = “ << x

        << “ y = “ << y << endl;

alpha();               // Panggil fungsi alpha

cout << “Pada main() : x = “ << x

        << “ y = “ << y << endl;

}

 

// Definisi fungsi alpha()

 

void alpha()

{

int x = 20;                    // Variabel lokal pada alpha()

double y = 3.14;         

cout << “Pada alpha() : x = “ << x

        << “ y = “ << y << endl;

Pada main() : x = 22   y = 2.22

Pada alpha() : x = 22   y = 3.14

Pada main() : x = 22   y = 2.22

 

 
}

Hasil ekseskusi :

 

 

 

 

Tampak bahwa perubahan x dan y pada alpha() tidak mempengaruhi variabel bernama sama pada main(). Karena variabel-variabel tersebut bersiafat lokal bagi masing-masing fungsi yag mendefinisikannya. Variabel x dan y pada fungsi alpha() yang disebut sebagai variabel otomatis.

Variabel Eksternal

Variabel eksternal adalah variabel yang didefinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi.

Contoh program :

//*---------------------------------------------------------------*

//* Contoh      : Pemakaian Variabel eksternal              *

//*---------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

int oblade = 550;              // Variabel eksternal     

void tambah();                 // Prototipe fungsi

void main()

{

clrscr();

cout << oblade << endl;

tambah();

 

 

 

cout << oblade << endl;

tambah();

cout << oblade << endl;

}

// Definisi fungsi

void tambah ()

{

oblada ++ ;       // Variabel eksternal dinaikkan

}

 

 551

 552

 553

 
Hasil eksekusi :

 

 

 

Guna memeperjelas suatu variabel didalam suatu fungsi yang menggunakannya dapat mendeklarasikan (bukan mendefinisikan, karena tidak ada pengalokasian memori) dengan menambahkan kata extern didepan tipa data.

 

Contoh program :

//*------------------------------------------------------------*

//* Contoh       : Pemakaian Variabel eksternal           *

//*                      dengan tambahan kata extern            *   

//*------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

int oblade = 550;              // Variabel eksternal     

void tambah();                 // Prototipe fungsi

void main()

{

clrscr();

cout << oblade << endl;

tambah();

cout << oblade << endl;

tambah();

cout << oblade << endl;

}

 

// Definisi fungsi

void tambah ()

{

extern oblade;   

oblada ++ ;       // Variabel eksternal dinaikkan

}

 

Variabel Statis

Variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat :

-          Jika variabel lokal berdiri sebagai variabel satatis, maka :

-          Variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya

-          Variabel tidak hilang saat eksekusi fungsi berakhir

-          Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan.

-          Jika variabel eksternal dijadikan sebagai variabel statis,variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut.

Contoh program :

//*-----------------------------------------------------------*

//* Contoh     : Menunjukkan efek variabel satatis  *

//*-----------------------------------------------------------*

#include<iostream.h>

#include <conio.h>

void saya_ingat();    // Prototipe fungsi

void main()

{

int mana = 50;

clrscr();

saya_ingat();

saya_ingat();

saya_ingat();

cout << “ main()        : mana = “ << mana << endl;

}

// Pada fungsi berikut

// mana didefinisikan sebagai variabel statis

void saya_ingat()

{

static int mana = 77;   // variabel statis

mana ++;                    // Naikkan sebesar 1

cout << “ Saya_ingat () : mana = “ << mana << endl;

}

Saya_ingat ()  : mana = 78

Saya_ingat ()  : mana = 79

Saya_ingat ()  : mana = 80

main()        : mana = 50

 
Hasil eksekusi :

 

 

 

 

Berdasarkan hasil diatas, terlihat bahwa variabel statis mana pada fungsi saya_ingat () hanya diinisialisasi (bernilai 77) sekali saja. Kemudian setiap kali saya_ingat () dipanggil nilai variabel tersebut dinaikkan sebesar 1.

6.4. Operator Resolusi Lingkup

Pada C++ terdapat operator dua buah tanda titik-dua ( :: ). Operator ini disebut operator resolusi lingkup (scope resolution). Kegunaanya untuk mengakses variabel yang didefinisikan diluar suatu fungsi.

Contoh program :

//*---------------------------------------------------------*

//* Contoh       : Pemakaian operator resolusi         *

//*                      lingkup ( :: )                                  *

//*---------------------------------------------------------*

#include < iostream.h>

#include <conio.h>

int x = 50;            // Variabel eksternal

void main()

{

double x;              // Definisi variabel lokal

clrscr();

x = 5.678901234;   // Variabel lokal yang diberi nilai

cout << x << “ “ << ::x << endl;

::x = 77;            // Variabel eksternal yang diberi nilai

cout << x << “ “ << ::x << endl;

}

5.6789               50

5.6789      77

 
 


Hasil eksekusi :

 

 

 

Program diatas mengungkapkan bahwa sekalipun didalam suatu fungsi terdapat variabel yang namanya sama dengan nama variabel eksternal, kedua variabel tersebut tetap bisa diakses.

6.5. Nilai Bawaan Untuk Nilai Fungsi

Salah satu keistimewaan C++ adalah adanya kemampuan untuk menyetel nilai bawaan (default) argumen fungsi. Argumen-argumen yang mempunyai nilai bawaan nantinya dapat tidak disertakan didalam pemanggilan fungsi dan dengan sendirinya C++ akan menggunakan nilai bawaan dari argumen yang tidak disertakan.

Contoh program :

//*--------------------------------------------------------------*

//* Contoh      : Menggambarkan nilai bawaan dalam  *

//*                      argumen fungsi                                    *

//*--------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void tulis_cplus(int jum);    // Prototipe fungsi

void main() 

{

clrscr();

tulis_cplus(1);    // Untuk menuliskan sebuah tulisan C++

}

 

void tulis_cplus(int jum);

{

for (int i = 0; i < jum; i ++)

     cout << “ C++ “ << endl;

cout << “ Seleseai “ << endl;

}

 

C++

Selesai

 
Hasil eksekusi :

 

 

 

 

Contoh program :

//*------------------------------------------------------*

//* Contoh      : Menggambarkan nilai bawaan  *

//*                      Dalam argumen fungsi              *

//*----- ---------------------------------------------*

#include <iostream.h>

#include <conio.h>

 void tulis_cplus(int jum = 1);    // Prototipe fungsi

                                                   // Dan menyetel nilai bawaan fungsi

void main() 

{

clrscr();

tulis_cplus();    // Argumen tidak perlu disebutkan

}

 

void tulis_cplus(int jum);

{

for (int i = 0; i < jum; i ++)

     cout << “ C++ “ << endl;

cout << “ Seleseai “ << endl;

}

 

Pada contoh program 5.7 dan 5.8 mempunyai kesamaan hanya saja pada contoh program 5.8 dalam prototipe fungsi nilai bawaannya dikut sertakan sehingga pada saat argumen pemanggilan fungsi tidak perlu di tuliskan lagi.

6.7. Referensi

Referensi digunakan untuk memberikan nama alias dari variabel. Bentuk pendeklarasiannya :

    Int &ref = nama_variable ;

 
 

 

 


Tanda & mengawali nama referensi.

Setelah pendeklarasian seperti diatas, ref menjadi nama alias dari nama_variabel. Penggubahan nilai terhadap nama_variabel dapat dilakukan melalui nama_variabel itu sendiri atau melalui referensi ref, sebagaimana dapat dilihat pada contoh dibawah ini.

Contoh program :

 

//*-----------------------------------------------------*

//* Contoh 5.9 : contoh referensi                        *

//*-----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int i ;

int &r = 1;     // Deklarasi referensi

clrscr();

i =10;

cout << “i =  “ << i << endl;

cout << “ r = “ << r << endl;

r = 55;

cout << “i =  “ << i << endl;

cout << “ r = “ << r << endl;

}

i = 10

r = 10

i = 55

r = 55

 
 


Hasil eksekusi :

 

 

 

 

 

Tampak bahwa pengubahan nilai terhadap i maupun r memberikan efek sama.

Operator juga bekerja pada suatu variabel maupun referensinya dengan efek yang sama. Sebagai contoh :

//*-----------------------------------------------------*

//* Contoh          : Operasi penaikan isi variabel*

//*                         melalui referensi                   *

//*-----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int i  = 55;

int &r = i;     // Referensi

clrscr();

cout << “i =  “ << i << “ r = “ <<  r  <<endl;

i ++ ;

cout << “ i = ” << i <<“ r = “ << r << endl;

r ++ ;

cout << “i =  “ << i << “ r = “ << r << endl;

}

i = 55   r = 55

i = 56   r = 56

i = 57   r = 57

 
 


Hasil eksekusi :

 

 

 

Operator  ++ pada i maupun r akan mengubah nilai keduanya, karena i dan r menyiratkan memori yang sama.

 

 

6.8. Inline Function

Inline function dengan cukup menyisipkan kata-kata inline didepan tipe nilai balik fungsi dalam pendefinisian fungsi. Contoh :

    inline jumlah (int x, int y)

{

            return(x + y);

}

inline function disarankan dipakai pada fungsi yang sering dipanggil dan ukurannya kecil (terdiri satu atau dua pernyataan), terutama jika dilibatkan pada pernyataan pengulangan proses (while, for dan do-while). Misalnya pada bentuk seperti berikut :

    for  (int i = 1; i < 100; i++)

         cout << i << “.” << jumlah (i, 2 * i) << endl;

jika fungsi jumlah () tidak ditulis sebagai inline function, proses tersebut akan menjadi relatif lambat.

Contoh program :

//*---------------------------------------------------------*

//* Contoh  : Pembuatan fungsi inline             *

//*---------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

// Definisi fungsi sebagai inline

inline int jumlah(int x, int y)

{

       return(x + y );

}

void main()

{

       clrscr();

        for (int i = 1; i < 100; i ++ )

        cout << i << “ . “ << jumlah(i, 2 * i) << endl;

}

  1. 3
  2. 6
  3. 9
  4. 12
  5. 15
  6. 18

 
 


Hasil eksekusi :

 

 

 

 

 

 

 

6.9. Function Overloading

Function Overloading atau Overloading terhadap fungsi memungkinkan sebuah fungsi dapat menerima bermacam-macam tipe dan memberikan nilai balik yang bervariasi pula.

Contoh program :

//*-----------------------------------------------*

//* Contoh        : Contoh overloading       *

//*                         terhadap fungsi             *

//*-----------------------------------------------*

 

#include <iostream.h>

#include <conio.h>

// Prototipe fungsi

int kuadrat (int i);

long kuadrat(long l);

double kuadrat(double d);

void main()

{

cout << kuadrat(2) << endl;

cout << kuadrat(66666) << endl;

cout << kuadrat(1.2) << endl;

}

 

// Definisi fungsi

int kuadrat (int i)

{

return(i * i);

}

long kuadrat (long l)

{

return(l * l);

}

double kuadrat (double d)

{

return(d * d);

4

149388260

1.44

 
}

 

Hasil rekursi :

 

 

 

Program ini menunjukkan pemanggilan fungsi kuadrat() dengan berbagai bentuk tipe data.

 

6.10. Rekursi

Fungsi dalam C++ dapat dipakai secara rekursi, artinya suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri. Penerapan rekursi diantaranya untuk menghitung nilai :

Xn

Dengan n merupakan bilangan bulat positif. Solusi dari persoalan ini berupa :

    Jika n = 1 maka Xn = X

    Selain itu  : Xn = X * Xn – 1

Contoh program :

//*------------------------------------------------*

//* Contoh        : Opreasi pangkat secara   *

//*                         rekursi                            *

//*------------------------------------------------*

# include <iostream.h>

#include <conio.h>

long int pangkat ( int x, int n);

void main()

{

int x, y;

clrscr();

cout << “ Menghitung x ^ y “<< endl;

cout << “ x = “ ;

cin >> x ;

cout << “ y = “ ;

cin >> y ;

cout << x << “ ^ “ << y << endl;

        << pangkat(x, y) << endl;

}

 

long int pangkat(int x, int n)

{

 if (n = = 1 )

    return(x);

else

    return(x * pangkat(x, n – 1));

}

Menghitung x ^ y

x = 2 ¿

y = 3 ¿

2 ^ 3 = 8

 
Hasil elsekusi :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BAB VII

MENGENAL ARRAY

7.1. Array Dimensi Satu

Gambaran sebuah array ditunjukkan pada Contoh Program di baawah ini. Program ini meminta pemakai untuk memasukkan 5 buah data temperatur dari keyboard. Kelima data tersebut disimpan pada array bernam suhu. Selanjutnya data yang ada pada array tersebut ditampilkan ke layar.

Contoh program :

//*------------------------------------------------*

//* Contoh      : program menggunakan     *

//*                     array                                   *

//*------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

float suhu[5];   // Array dengan elemen 5 bertipe float

clrscr();

// Membaca data dari keyboard dan meletakkan array

cout << “Masukkan 5 buah data suhu” << endl;

for (int i = 0; i < 5; i ++)

{

       cout << i + 1 << “ . “;

       cin >> suhu[i];

}

// Menampilkan isi array ke layar

cout << “Data suhu yang anda masukkan : “ << endl;

for ( i = 0; i < 5; i ++ )

    cout << suhu[i] << endl;

Masukkan 5 buah data suhu

1 : 27.5 ¿

2 : 28 ¿

3 : 27.5 ¿

4 : 30.5 ¿

5 : 27 ¿

Data suhu yang anda masukkan

27.5

28

27.5

30.5

27

 
}

 

Hasil eksekusi :

 

 

 

 

 

 

 

 

 

 

 

 

Tampak diatas terdapat pernyataan :

-          float suhu[5]; menyatakan array suhu dapat menyimpan 5 (lima) buah data bertipe float.

-          suhu[i] menyatakan elemen suhu dengan subscript sama dengan i.

-          cin >> suhu[i]; : membaca data dari keyboard dan meletakkan ke elemen nomor i pada array suhu.

-          cout << suhu[i]; : akan menampilkan elemen bernomor i pada array suhu.

7.2. Array Berdimensi Dua

Array ini dapat digunakan untuk berbagai keperluan. Sebagai gambaran, data kelulusan dari jurusan Teknik Tnformatika, Manajemen Informatika dan Teknik Komputer pada sekolah tinggi Komputer dari tahun 1992 hingga 1995 dapat dinyatakan dengan array berdimensi dua.

Sebelum membahas cara pendefinisian array berdimensi dua, perhatikan tabel berikut :

Jurusan

2012

2013

2014

2015

1. Teknik Informatika

35

45

80

120

2. Manajemen Informatika

100

110

70

101

3. Teknik Komputer

10

15

20

17

Bentuk seperti tabel diatas dapat dituangkan kedalam array berdimensi dua. Pendefinisiannya :

    int data_lulus[3][4];

pada pendefiniasian diatas :

3 menyatakan jumlah baris (mewakili jurusan)

4 menyatakan jumlah kolom (mewakili tahun kelulusan)

nama_array[subscript_baris, subscript_kolom]

 
array berdimensi dua dapat diakses dengan bentuk :

 

 

Contoh program :

//*-----------------------------------------------------*

//* Contoh       : Pemakaian array berdimensi    *

//*                      dua                                           *

//*-----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

int data_lulus[3][4];    // Array berdimensi dua

int tahun, jurusan;

clrscr();

// Memberikan data ke elemen array data_lulus

data_lulus[0][0] = 35;           // data TI – 2012

data_lulus[0][1] = 45;           // data TI - 2013

data_lulus[0][2] = 90;           // data TI - 2014

data_lulus[0][3] = 120;         // data TI - 2015

 

data_lulus[1][0] = 100;         // data MI – 2012

data_lulus[1][1] = 110;         // data MI - 2013

data_lulus[1][2] = 70;           // data MI – 2014

data_lulus[1][3] = 101;         // data MI - 2015

data_lulus[2][0] = 10;          // data TK – 2012

data_lulus[2][1] = 15;          // data TK - 2013

data_lulus[2][2] = 20;          // data TK - 2014

data_lulus[2][3] = 17;          // data TK – 2015

// Proses untuk memperoleh informasi kelulusan

while (1)

{

cout << “Jurusan ( 0 = TI, 1 = MI, 2 = TK ) : “ ;

cin >> jurusan;

if ((jurusan = = 0 ) || (jurusan = = 1) || (jurusan = = 3))

     break;         // Keluar dari while

}

while (1)

{

cout << “Tahun ( 1992 – 1995) : “ ;

cin >> tahun;

if (( tahun >= 1992 ) && ( tahun <= 1995 )

{

tahun  - = 1992;    // Konversi ke 0, 1, 2 atau  3

break;                   // Keluar dari while

}

}

cout << “Jumlah yang lulus = “

        << data_lulus[jurusan][tahun] << endl;

}

Jurusan ( 0 = TI, 1 = MI, 2 = TK ) : 1 ¿

Tahun (1992 – 1195) : 1992 ¿

Jumlah yang lulus = 100

 
 


Hasil eksekusi :

 

 

 

 

Mula-mula program mengisi data ke array data_lulus. Kemudian program meminta data jurusan dan tahun dari keyboard. Kedua data masukkan dipastikan tidak akan berada diluar jangkauan kedua subscript-nya.

7.3. Array Berdimensi Tiga

tipe nama_array[subscript1][subcsript2][subscript3]

 
Bentuk umum pendefinisian array berdimensi tiga :

 

 

Sebagai contoh :

int huruf[2][8][8] ;

merupakan pendefinisian array data_huruf sebagai array berdimensi tiga.

 

 

 

 

 

 

 

 

 

MODUL VIII

DASAR STRING

8.1. Konstatnta String

Suatu konstanta string ditulis dengan awalan dan akhiran tanda petik ganda ( “ ). Misalnya :

    “ C++ “

Konstanta string disimpan dalam memori secara berurutan, setiap karakter menempati memori sebesar 1 byte. Setelah karakter yang terakhir terdapat karakter NULL (karakter dengan nilai ASCII sama dengan nol atau disimbolkan dengan ‘\0’, yaitu tanda \ diikuti nol).

Bila suatu string hanya berisi karakter NULL, string disebut sebagai string kosong.

8.2. Variabel String

Variabel string adalah variabel yang dipakai untuk menyimpan string. Misalnya :

char teks[10];

merupakan pernyataan untuk mendefinisikan variabel string dengan panjang maksimal 15 karakter (sudah termasuk karakter NULL).

8.3. Memasukan Data String Dari Keyboard

Setelah suatu variabel string didefinisikan, bisa mengisikan data ke variabel tersebut. Pemasukkan data dapat ditangani oleh cin.

Contoh program :

//*---------------------------------------------------------*

//* Contoh       : Pendefinisian variabel string dan  *

//*                      pengisian variabel melalui cin      *

//*---------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

char teks[13];                  // String dengan panjang maksimal

                                        // 13 karakter

clrscr();

cout << “Masukkan sebuah kata “ << endl;

cin >> teks;

cout << “Yang Anda Masukkan : “ << teks << endl;

Masukkan sebuah kata

Halo  ¿

Yang Anda Masukkan : Halo

 
}

Hasil eksekusi :

 

 

 

 

Pada contoh diatas bila Anda memasukkan sebuah kata seperti :

“Halo, Sobat”. Maka kata setelah spasi tidak akan terbaca, untuk mengatasi hal ini anda dapat menggunakan fungsi anggota get() pada obyek cin (cin.get()). Seperti contoh program berikut :

//*------------------------------------------------------------*

//* Contoh       : Pendefinisian variabel string dan      *

//*                      pengisian variabel melalui cin.get()  *

//*------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

char teks[13];                  // String dengan panjang maksimal

                                        // 13 karakter

clrscr();

cout << “Masukkan sebuah kata “ << endl;

cin.get >> (teks, 13);

cout << “Yang Anda Masukkan : “ << teks << endl;

}

Masukkan sebuah kata

Halo, Sobat  ¿

Yang Anda Masukkan : Halo Sobat

 
 


Hasil eksekusi :

 

 

 

 

8.4. Fungsi dan Makro Berbasis Karakter

Fungsi Makso berguna untuk menganalisis karakter-karakter yang terdapat pada suatu string ataupun untuk melakukan konversi (misalnya huruf kecil menjadi huruf kapital).

Makro keluarga is...

Sejumlah makro dengan awalan is, adalah sebagai berikut :

- isalnum()                       : karakter alphanumeris (digit, huruf kecil atau huruf kapital)

- asalpha()                        : karakter alphabetis ( huruf kecil atau huruf kapital)

- isascii()              : karakter ASCII standar

- iscntrl()              : karakter kontrol

- isdigit()             : karakter digit (0 sampai dengan 9)

- isgraph()                        : karakter yang dapat ditampilkan tetapi spasi tidak

- islower()                        : huruf kecil (a sampai z)

- isprint()             : karakter yang dapat ditampilkan termasuk spasi

- ispunct()                        : tanda pungtuasi ( seperti ! ataupun ?)

- isupper()                        : huruf kapital ( A sampai Z)

- isxdigit()                       : digit heksadesimal ( 0 samapi 9, Asamapai F, a sampai f)

 

Contoh program :

//*---------------------------------------------------------------*

//* Contoh      : Contoh pemakaian islower(), isupper() *

//*                      isdigit(), ispunct()                                  *

//*----------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

char st[128];

int jum_kapital = 0,

     jum_kecil = 0,

     jum_pungtuasi = 0,

     jum_digit = 0;

clrscr();

cout << “Masukkan string apa saja : “ << endl;

cin.getline(st, sizeof(st)) ;

for (int i = 0; st[i]; i ++ )

{

if (islower(st[i]))

    jum_kecil++;

 

if (isupper(st[i]))

    jum_kapital++;   

if (isdigit(st[i]))

    jum_digit++;

if (ispunct(st[i]))

    jum_pungtuasi++;

}

cout << endl ;         // Pindah baris

cout << Jumlah Huruf Kapital : “ << jum_kapital << endl;

cout << Jumlah Huruf Kecil : “ << jum_kecil << endl;   

cout << Jumlah Digit : “ << jum_digit << endl;

cout << Jumlah pungtuasi : “ << jum_pungtuasi << endl;

}

Masukkan string apa saja :

123 halo 123. Test  ¿

 

Jumlah Huruf Kapital : 1

Jumlah Huruf Kecil :  6  

Jumlah Digit : 6

Jumlah pungtuasi : 2

 
 


Hasil eksekusi :

 

 

 

 

 

 

 

 

 

8.5. Konversi String ke Angka atau Sebaliknya

Untuk melakukan konversi string ke bilangan, Anda dapat menggunakan sejumlah fungsi bawaan. Fungsi yang tersidia adalah sebagai berikut :

Fungsi

Prototipe

Keterangan

atio()

stdlib.h

Mengkonversi string argumen menjadi nilai bertipe int

atof()

stdlib.h

Mengkonversi string argumen menjadi nilai bertipe float

atol()

stdlib.h

Mengkonversi string argumen menjadi nilai bertipe long int

_atold()

stdlib.h

Mengkonversi string argumen menjadi nilai bertipe long double (hanya terdapat dalam borland C++)

Adapun fungsi untuk bilangan ke string adalah sebagai berikut :

Fungsi

Prototipe

Keterangan

Itoa()

stdlib.h

Untuk mengkonversi suatu bilangan bertipe int menjadi string

Ltoa()

stdlib.h

Untuk mengkonversi suatu bilangan bertipe long int menjadi string

ultoa()

stdlib.h

Untuk mengkonversi suatu bilangan bertipe  unsigned long int menjadi string

8.6. String sebagai Parameter Fungsi

String sebagai parameter fungsi pada dasarnya sama dengan array sebagai parameter fungsi.

Contoh program :

//*-------------------------------------------------------------*

//* Contoh      : pembuatan fungsi yang melibatkan    *

//*                      argument bertipe string                      *

//*-------------------------------------------------------------*

#include <iosstream.h>

#include <conio.h>

#include <string.h>

void RataKiri(char hasil[], char st[], int n);

void main()

{

char teks[] = “Bahasa C++”;

char hasil[128];

clrscr();

int panjang = strlen(teks);

for (int i = 0; i < panjang; i++)

{

RataKiri(hasil, teks, i+1);

B

Ba

Bah

Baha

Bahas

Bahasa

Bahasa

Bahasa C

Bahasa C+

Bahasa C++

 
cout << hasil << endl;

}

}

Hasil eksekusi :

 

 

 

 

 

 

 

 

Dalam program diatas argumen fungsi ditulis dengan bentuk seperti hasil[] pada pendefinisian fungsi. Tetapi hal ini tidaklah umum sebagai pengantinya argumen string dinyatakan dengan pointer yang menunjuk ke tipe char.

 

BAB IX

MENGENAL POINTER

9.1. Mendefinisikan Variabel Pointer

tirp_data *nama_variabel

 
Suatu variabel pointer didefinisikan dengan bentuk sebagai berikut :

 

 

-          tipe_data dapat berupa sembarang tipe seperti halnya pada pendefinisian variabel bukan pointer.

-          nama_variabel  adalah nama variabel pointer

Supaya suatu variabel menunjuk ke variabel lan, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk.

Contoh program :

//*--------------------------------------------------------------*

//* Contoh 9.1 : Pendefinisian variabel pointer dan      *

//*                      pengisian alamat ke variabel tersebut  *

//*--------------------------------------------------------------*

#include <iostreamh>

#include <conio.h>

void main()

{

int vint = 55;     // Variabel bukan pointer

int *pint;           // Variabel pointer

clrscr();

pint = &vint;     // Pointer menunjuk ke vint

cout << “ Alamat vint = “ << &vint << endl;

cout << “pint = “ << pint << endl;

 Alamat vint = 0xfff4

pint = 0xfff4

 
}

 

Hasil eksekusi :

 

 

 

 

Pada program diatas :

cout << “pint = “ << pint << endl;

ternyata menampilkan isi pointer itu sendiri, bukan isi dari variabel vint.

9.2. Mengakses Nilai yang ditunjuk Pointer

Berdasarkan contoh program didepan, nilai dari vint dapat diakses melalui pint setelah pernyataan :

pint  = &vint

dijalankan. Caranya dengan melibatkan operator “tak langsung”. Operator ini berupa simbol “ * “ dan diletakkan di depan nama variabel pointer.Contoh

                *pint

 

Contoh program :

//*--------------------------------------------------------*

//* Contoh       : Pengaksesan nilai melalui suatu  *

//*                      pointer                                          *

//*--------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

 

void main()

{

int vint = 55;       // Variabel bukan pointer

int *pint;           // Variabel pointer

clrscr();

pint = &vint;     // Pointer menunjuk ke vint

cout << “ Nilai yang ditunjuk oleh pint = 

 

 

 

 

       << *pint << endl;

}

Nilai yang ditunjuk oleh pint = 55

 
 


Hasil ekseskusi :

 

 

 

 

 

9.3. Pointer Void

Untuk memebuat pointer yang tidak bertipe yakni dengan meletakkan kata kunci pada void pada bagian penentu tipe pointer. Contoh :

    void *ptr;

Merupakan pernyataan untuk mendefinisikan ptr sebagai variabel pointer void.

Suatu pointer void adalah pointer yang dapat menunjuk ke sembarang tipe data. Misalnya, Anda dapat mengatur agar pointer ini menunjuk ke tipe data int, tetapi di saat lain diperlukan untuk menunjuk data bertipe float.

Contoh program :

//*--------------------------------------*

//* Contoh      : Pointer void         *

//*--------------------------------------*

#include <iostream.h>

#include <conoi.h>

void main()

{

clrscr();

void *ptr;            // Pointer tak bertipe

int vint = 50;

float vfl = 51.5;

ptr = &vint;             // menunjuk ke int

cout << “Nilai yang ditunjuk oleh ptr = “

        << *(int *)ptr << endl;

ptr = &vfl;              // menunjuk ke float

cout << “Nilai yang ditunjuk oleh ptr : “

        << “*(float *) ptr << endl;

}

 

Hasil eksekusi :

Nilai yang ditunjuk oleh ptr = 50

Nilai yang ditunjuk oleh ptr = 51.5

 
 

 

 

 


Dari program diatas bahwa variabel pointer ptr dapat menunjuk ke tipe int ataupun float.

Pointer dapat pula digabungkan dengan array, karena pada umumnya antara pointer dan array mempunyai kesamaan.

Contoh program :

//*--------------------------------------------------------*

//* Contoh     : Pointer yang menunjuk ke array  *

//*--------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

clrscr();

int tgl_lahir[] = {28, 11, 1982 };

int *ptgl;

ptgl = tgl_lahir;           // ptgl menunjuk ke array

cout << “Nilai yang ditunjuk oleh ptgl  : “

        << *ptgl << endl;

cout << “Nilai dari tgl_lahir[0] : “

        << tgl_lahir << endl;

Nilai yang ditujuk oleh ptgl  : 24

Nilai dari tgl_lahir[0] : 24

 
}

 

Hasil ekseskusi :

 

 

 

 

 

Setelah penugasan ptgl = tgl_lahir ptgl akan menunjuk ke elemen pertama (tgl_lahir[0]) dari array tgl_lahir.

 

Tugas Minggu VIII :

Buatlah program menentukan bulan.

Contoh :

Masukkan Kelahiran Anda : 28 / 11 /1982

Anda Lahir pada : 28 November 1982

(simpan degan nama tugas8.cpp)

 

 

BAB X

STRUKTUR, ENUM, UNION, BIT-FIELD DAN TYPEDEF

10.1. Struktur

Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan. Apabila suatu struktur telah dideklarasikan, struktur ini dapat dgunakan untuk mendefinisikan suatu variabel.

variable_struktur.nama_anggota

 
Suatu struktur juga dapat mengandung struktur yang lain dan anggota struktur dapat diakses menggunakan bentuk :

 

 

 

Contoh program lengkap yang melibatkan pendeklarasian dan pendefinisian variabel struktur dan juga pengaksesan terhadap anggota variabel struktur dapat dilihat dibawah ini :

//*----------------------------------------------------------*

//* Contoh       : Pendeklarasian, pendefinisian dan *

//*                      pengaksesan struktur                      *

//*----------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

struct data_tanggal               // Pendeklarasian

{

int tahun;

int bulan;

int tanggal;

};

data_tanggal tanggal_lahir     // Pendefinisian struktur

// Pengaksesan anggota struktur

tanggal_lahir.tangal = 28;

tanggal_lahir.bulan = 11;

tanggal_lahir.tahun = 1982;

cout << tanggal_lahir.tanggal << ‘ / ’

       << tanggal_lahir.bulan << ‘/ ’

        << tanggal_lahir.tahun << endl;

}

 

 

 

 

28/11/1982

 
Hasil eksekusi :

 

 

 

 

 

Pada program diatas tanda titik diantara nama variabel dan nama anggota menyatakan penugasan untuk memberikan nilai 28 ke anggota tanggal pada variabel struktur tanggal_lahir.

Pemberian nilai terhadap suatu struktur dapat dilakukan dengan bentuk :

    var1 = var2;

sepanjang kedua variabel adalah variabel struktur bertipe sama.

Contoh program :

//*--------------------------------------------*

//* Contoh  : Penugasan struktur       *

//*--------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

struct data_tanggal               // Pendeklarasian

{

int tahun;

int bulan;

int tanggal;

};

 

data_tanggal tgl1, tgl2 ;     // Pendefinisian struktur

// Penugasan per anggota

tgl1.tanggal = 28;

tgl1.bulan = 11;

tgl1.tahun = 1982;

// Penugasan antaranggota struktur

tgl1 = tgl2;

cout << tgl2.tanggal << ‘ / ’

       << tgl2.bulan << ‘ / ’

        << tgl2.tahun << endl;

}

 

28/11/1982

 
Hasil eksekusi :

 

 

 

 

10.2. Union

Union menyerupai struktur (termasuk dalam hal pengaksesannya), namun mempunyai perbedaan nyata. Union biasa dipakai untuk menyatakan suatu memori dengan nama lebih dari satu.

Contoh program :

//*----------------------------------------------*

//* Contoh  : Pendefinisian union        *

//*----------------------------------------------*

#include <iostream.h>

#include <conio.h>

union bil_bulat

{

unsigned int di;

unsigned char dc[2];

};

 

void main()

{

clrscr();

bil_bulat bil_x;        // Pendefinisian union

bil_x.di = 0x2345;

cout << setiosflags(ios::showbase);

cout << hex << “di      : “ << bil_x.di << endl;

cout << hex << “dc[0] : “ << int(bil_x.dc[0]) << endl;

cout <<             “dc[1] : “ << int(bil_x.dc[1) << endl;

}

 

Di     : 0x2345

dc[0] : 0x45

dc[1] : 0x23

 
Hasil eksekusi :

 

 

 

 

 

Tampak bahwa dengan mengisikan nilai bil_x.di, data dapat diakses melalui bil_x.dc. dalam hal ini, bil_x.dc[0] menyimpan byte rendah dari bil_x.di dan bil_x.dc[1] berkaitan dengan byte tinggi dari bil_x.di (mengingat bil_x.di berukuran dua byte).

Seperti halnya struktur, variabel union juga dapat diinisialisasi saat didefinisikan.

Contoh program :

//*--------------------------------------------*

//* Contoh : Inisialisasi Union         *

//*--------------------------------------------*

#include <iostream.h>

#include <conio.h>

union bil_bulat

{

unsigned int di;

unsigned char dc[2];

};

 

void main()

{

clrscr();

bil_bulat bil_x = 0x2345;     // Inisialisasi

 

cout << setiosflags(ios::showbase);

cout << hex << “di      : “ << bil_x.di << endl;

cout << hex << “dc[0] : “ << int(bil_x.dc[0]) << endl;

cout <<             “dc[1] : “ << int(bil_x.dc[1) << endl;

}

 

10.3. Struktur Bit-field

Satu bit atau beberapa bit dalam sebuah data berukuran suatu byte atau dua byte dapat diakses dengan mudah malalui bit-field. Dengan cara ini suatu bit atau beberapa bit dapat diakses tanpa melibatkan operator manipulasi bit (seperti & dan || ). Selain itu satu atau dua byte meri dapat dipakai untuk menyimpan sejumlah informasi.

Conto program :

//*---------------------------------------------------------*

//* Contoh  : bit-filed untuk mengakses  bit-bit *

//*                      dalam sebuah byte data                 *

//*---------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

// Pendeklarasian bit-field

struct info_bit

{

unsigned bit0 : 1;

unsigned bit1 : 1;

unsigned bit2 : 1;

unsigned bit3 : 1;

unsigned bit4 : 1;

unsigned bit5 : 1;

unsigned bit6 : 1;

unsigned bit7 : 1;

};

void main()

{

clrscr();

union ubyte       // Pendeklarasian union

{

unsigned char byte;

info_bit bit;

};

ubyte ascii;             // Pendeklarian variabel union

int nilai;

cout << “ Masukkan ascii antara 0 s/d 255 : “;

cout << ascii.bit.bit7 << ascii.bit.bit6

cout << ascii.bit.bit5 << ascii.bit.bit4

cout << ascii.bit.bit3 << ascii.bit.bit2

       << ascii.bit.bit1 << ascii.bit.bit0 << endl;

Masukkan ascii antara 0 s/d 255 : 128 ¿

76543210 ß Posisi bit

10000000

 

 
}

 

Hasil eksekusi :

 

 

Masukkan ascii antara 0 s/d 255 : 16 ¿

76543210 ß Posisi bit

00010000

 

 
 

 

 

 

 

 

 

 

 


Perlu diketahui, suatu variabel yang didefinisikan sebagai bit-field tidak bisa diisi secara langsung dengan suatu nilai. Oleh karena itu biasa dibentuk didalam union.

10.4. Enum

Tipe enum biasa dipakai kalau kemungkinan nilai dari suatu data telah diketahui, dan jumlah kemungkinannya tidak banyak.

Contoh program :

//*-----------------------------------------------------*

//* Contoh      : tipe enum                                 *

//*-----------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

clrscr();

enum nama_hari { Senin, Selasa, Rabu, Kamis, Jumat,

                               Sabtu, Minggu };

nama_hari hari1, hari2;     // Pendefinisian enum

// Pemberian nilai enum

hari1 = Senin;            

hari2 = Jumat;

int selisih = hari2 – hari1;

cout << “Selisih Hari : “ << selisih << endl;

Selisih Hari : 4

 
}

Hasil eksekusi :

 

 

 

Pada contoh diatas terdapat pendeklarasian tipe enum berupa nama_hari­. Anggota tipe enum nama_hari berupa Senin, Selasa, Rabu dan seterusnya.

nma_hari hari1, hari2 merupakan pernytaan untuk mendefinisikan variabel bernama hari1 dan hari2 yang bertipe enum nama_hari.

10.5. typedef

typedef biasa dipakai untuk memberikan nama alias terhadap suatu tipe data. Sebagai contoh anda dapat memberikan nama alias dari unsigned char berupa BYTE.

Contoh program :

//*-----------------------------------------------*

//* Contoh      : typedef                             *

//*-----------------------------------------------*

#include <iostream.h>

#include <conio.h>

void main()

{

clrscr();

typedef unsigned char BYTE;      

BYTE kode;               // Sebagai pemendekan dari : unsigned char code;

kode = 65;

cout << kode;  // Karakter ASCII 65

}

 

A

 
Hasil eksekusi :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 1 : Pengenalan

Tujuan

Setelah mengerjakan LKP 1 ini, anda diharapkan dapat:

1.    mengenal lingkungan salah satu compiler bahasa pemrograman C yaitu Turbo C++ 4.5.

2.    menggunakan compiler tersebut untuk menyelesaikan kasus sederhana.

 

Dasar Teori

Lingkungan Turbo C++ 4.5

Turbo C++ 4.5 adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C++ 4.5.

 

4

 

3

 

2

 

1

 

 

1 : Menu Utama

2 : Toolbar

3 : Jendela pengetikan kode program

4 : Jendela Message/Pesan kesalahan kode

 

Create new, Open, Save, Save As File

Untuk memulai membuat kode program di Turbo C++ 4.5 langkah-langkahnya adalah sebagai berikut :

1.      Buka Turbo C++ 4.5 dari menu program sehingga akan keluar jendela Turbo C++ berikut :

 

 

2.      Kemudian pilih menu File > New maka akan tampil jendela baru (di dalam jendela utama Turbo C++) untuk menuliskan kode program.

 

 

3.      Setelah menuliskan kode program maka simpan dengan memilih menu File > Save as (untuk menyimpan dengan nama baru) atau File > Save (Tidak menyimpan dengan nama baru bila sudah pernah disimpan). Tentukan dirve dan direktori tempat penyimpanan.

 

 

Untuk membuka file atau kode program yang sudah pernah dibuat maka langkah-langkahnya adalah seperti berikut :

1.      Pilih menu File > Open maka akan tampil jendela seperti berikut :

 

2.    Tentukan drive dan direktori lokasi tempat menyimpan file program kemudian klik OK.

 

Compile Program, Pendeteksian Error dan Warning, Run Program

Setelah menuliskan kode program, maka berikutnya adalah compile program dengan tujuan untuk mendeteksi kesalahan-kesalahan dalam penulisan kode program. Adapun langkah-langkahnya adalah sebagai berikut :

1.      Pilih menu Project > Compile, atau kombinasi tombol ALT+F9, akan tampil jendela status compile seperti berikut :

 

Dari status di atas maka tidak ditemukan error atau warning pada program.

Dari status di atas dapat dilihat bahwa terdapat error pada program. Untuk melihat pesan error tersebut klik OK maka akan tampil jendela pesan error seperti berikut :

Jendela di bawah ini menunjukkan terdapat warning pada program.

Untuk melihat pesan warning tersebut, klik tombol OK.

 

 

2.      Setelah kode program di-compile maka langkah berikutnya adalah menjalankannya, yaitu dengan memilih menu Debug > Run atau kombinasi tombol CTRL+F9.

 

Contoh Program :

Program mengeluarkan tulisan ”Selamat Datang”

Text Box: 1:	#include <stdio.h> //header
2:
3:	void main()//fungsi utama
4:	{
5:		printf(“Selamat Datang”);//statement
6:	}
 

Daftar tools yang digunakan

1.    Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

                        -

            Algoritma :

                  write(“Selamat Datang di STKIP INVADA CIREBON)

                  write(“Nama Anda”)

                  write(“Nim Anda”)

                  write(“Jurusan Anda”)

Langkah-langkah Praktik

  1. Bukalah software Turbo C++
  2. Ketikkan kode program berdasarkan algoritma yang diberikan
  3. Compile program dengan menekan Alt + F9 atau pilih menu Project à Compile
  4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug à Run
  5. Simpan file dengan nama Praktikum1.cpp

 

Skenario devc++ dalam OS windows

1. Membuat proyek baru di devc++ dalam OS windows

Step 1 : Pada aplikasi c++, pilih File > New Project > New Source File

Tampilan project baru

Step 2 : Ketikkan kode program pada area kerja

Tampilan source code

 

Task 2 : Menyimpan proyek baru

Step 1 : Pilih Menu File > Save As >

Step 2 : Pilih direktori penyimpanan dan beri nama file

Tampilan Save As

Task 3 : Kompilasi dan Eksekusi program

Step 1 : Pilih menu Execute > Compile

Tampilan compile program

Step 2 : Pilih menu Execute > Run

Tampilan running program

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 2: Tipe Data dan Ekspresi

Tujuan

Setelah mengerjakan LKP 2 ini, anda diharapkan dapat:

1.    mengenal berbagai tipe data pada bahasa C.

2.    menggunakan tipe data untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Tipe Data dapat dibedakan menjadi dua, yaitu tipe data dasar dan tipe data bentukan

Tipe Data Dasar

Adalah tipe yang dapat langsung dipakai.

Tipe Dasar

Ukuran Memori  (byte)

Jangkauan Nilai

Jumlah Digit Presisi

Char

1

-128 hingga +127

-

Int

2

-32768 hingga +32767

-

Long

4

-2.147.438.648 hingga  2.147.438.647

-

Float

4

3,4E-38 hingga 3,4E38

6-7

Double

8

1.7E-308 hingga 1.7E308

15-16

long double

10

3.4E-4932 hingga 1.1E4932

19

  

Beberapa format yang dipakai untuk mencetak nilai numerik integer :

Kode Format

Hasil yang dicetak

%i atau %d

%u

%li

%lu

Numerik integer bertanda

Numerik integer tak bertanda (unsigned integer)

Numerik Long integer bertanda

Numerik Unsigned Long Integerl

%c

Karakter ASCII

%x

%o

Hexadecimal Integer

Octal Integer

 

Tipe Bentukan

Tipe bentukan adalah type yang dibentuk dari type dasar atau dari type bentukan lain yang sudah didefinisikan, contohnya tipe struktur. Struktur terdiri dari data yang disebut field. Field–field tersebut digabungkan menjadi satu tujuan untuk kemudahan dalam operasi. Mengenai tipe data bentukan akan dibahas lebih lanjut pada mata kuliah Algoritma dan Pemrograman 2.

 

 

Contoh Program :

1:    #include <stdio.h>

2:    #include <conio.h>

3:    void main()

4:    {

5:         int nilai,hasil;

6:        

7:         printf(“Masukkan Suatu Nilai : ”);

8:         scanf(“%d”,&nilai);

9:

10:       clrscr();

11:       hasil = nilai + nilai ;

11:       printf(“Hasil dari nilai + nilai adalah :\n%d”, hasil);

12:  }

Daftar tools yang digunakan

1.    Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

                  const Phi = 3.14 {konstanta}

                  L : real

                  K, p, l : integer

            Algoritma :

                  read(p)

                  read (l)

                  Kß2*(p+l)

                  write(K)

                  bersihkan layar

                  read (r)

                  L ß Phi*r*r

                  write(L)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 3: Kondisi

Tujuan

Setelah mengerjakan LKP 3 ini, anda diharapkan dapat:

1.        memahami konsep pengkondisian dalam pemrograman

2.        mengenal berbagai bentuk pengkondisian pada bahasa C.

3.        menggunakan pengkondisian untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Bentuk IF

Penggunaan seleksi dapat menggunakan bentuk if, sintaks penulisannya adalah sebagai berikut :

if (kondisi)

{

Statement

}

Contoh Program :

1:    #include <stdio.h>

2:    void main()

3:    {

4:         int a;

5:         int b;

6:

7:         a = 10;

8:         b = 9;

9:

10:       if (a>b)

11:       {

12:                   printf(“%d lebih besar dari %d”,a,b);

13:       }

14:  }

Bentuk IF dengan Operator

 Terkadang ada lebih dari satu kondisi yang harus terpenuhi, untuk itu dapat digunakan operator logika AND dan OR, pada bahasa C sintaks penulisannya adalah sebagai berikut,

Untuk operator logika AND :

if (kondisi1 && kondisi2 )

{

Statement

}

 

ContohProgram :

1:    #include <stdio.h>

2:    void main()

3:    {

4:         int a = 10;

5:

6:         if (a< 15 && a>9)

7:         {

8:                     printf(“15 lebih besar dari %d lebih besar dari 9”,a);

9:         }

10:  }

Untuk operator logika OR :

if (kondisi1 || kondisi2 )

{

Statement

}

 ContohProgram :

1:    #include <stdio.h>

2:    void main()

3:    {

4:         int a = 15;

5:

6:         if (a%5==0 || a%2==0)

7:         {

8:                     printf(“%d habis dibagi 5 atau 2”,a);

9:         }

10:  }

Bentuk IF – ELSE IF – ELSE

Penggunaan bentuk if diatas adalah penggunaan untuk kasus yang tidak memiliki alternative, untuk penggunaan if dengan alternative, sintaks penulisannya :

if (kondisi)

{

Statement1

}

else

{

Statement2

}

Atau

if (kondisi)

{

Statement1

}

else if (kondisi2)

{

Statement2

}

Else

{

Statement3

}

Contoh Program :

1:    #include <stdio.h>

2:   

3:    void main()

4:    {

5:         int T;

6:

7:         printf(“Masukkan Nilai Suhu = ”);

8:         scanf(“%d”,&T);

9:

10:       if (T<=)

11:       {

12:                   printf(“Kondisi Beku”);

13:       }

14:       else if (T>0 && T<= 100)

15:       {

16:                   printf(“Kondisi Cair”);

17:       }

18:       else

19:       {

20:                   printf(“Kondisi Uap”);

21:       }

22:  }

Bentuk Nested IF

Dalam penggunaan kondisi terkadang diperlukan suatu bentuk if yang bertingkat, sintaks penulisannya adalah, sebagai berikut :

if (kondisi1)

{

Statement1

if (kondisi1-1)

{

Statement1-1

}

else

{

Statement1-2

}

}

else

{

Statement2

}

 

 

 

 

Contoh Program :

1:    #include <stdio.h>

2:    void main()

3:    {

4:         int a = 10;

5:         int b = 5;

6:         int c = 2;

7:

8:         if(a%b == 0)

9:         {

10:                   printf(“%d adalah bilangan kelipatan %d\n”,a,b);

11:                   if(a%c == 0)

12:                   {

13:                               printf(“%d adalah bilangan genap\n”,a);

14:                   }

15:                   else

16:                   {

17:                               printf(“%d adalah bilangan ganjil\n”,a);

18:                   }

19:       }

20:  }

Bentuk SWITCH

Selain bentuk if, pengkondisian dalam bahasa C dapat pula menggunakan bentuk switch, sintaks penulisannya adalah sebagai berikut:

switch(nilai)

{

case(kondisi1):

{

Statement1

}

break;

case(kondisi2):

{

Statement2

}

break;

case(kondisi3):

{

Statement3

}

break;

default:

{

StatementDefault

}

break;

}

Contoh Program :

1:    #include <stdio.h>

2:   

3:    void main()

4:    {

5:         int nilai;

6:         printf(”Masukkan nilai : “);

7:         scanf(“%d”,&nilai);

8:

9:         switch(nilai)

10:       {

11:                   case(1):

12:                   {

13:                               printf(“satu\n”);

14:                   }

15:                   break;

16:                   case(2):

17:                   {

19:                               printf(“dua\n”);

20:                   }

21:                   break;

22:                   case(3):

23;                   {

24:                               printf(“tiga\n”);

25:                   }

26:                   break;

27:                   default:

28:                   {

29:                               printf(“tidak ada nilai\n”);

30:                   }

31:                   break;

32:       }

33:  }

Daftar tools yang digunakan

1.    Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

                        a,b,c : real

                        D,x1,x2 : real

            Algoritma :

                        read(a);

                        read (b);

                        read (c);

           

                        if(a>0)

                                    D=b*b-4*a*c;

                                    if (D>0)

                                                write("Akar Real");

                                                x1=(-b+root(D))/(2*a);

                                                x2=(-b-root(D))/(2*a);

                                                write(x1);

                                                write(x2);

                                    elseif (D==0)

                                                write("Akar Kembar");

                                                x1=(-b)/(2*a);

                                                write(x1);

                                    else {D<0}

                                                write("Akar Imaginer");

                                    endif

                        else

                                    write("nilai a harus > 0");

                        endif

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 4: Pengulangan

Tujuan

Setelah mengerjakan LKP 4 ini, anda diharapkan dapat:

1.    memahami konsep pengulangan dalam pemrograman

2.    mengenal berbagai bentuk pengulangan pada bahasa C.

3.    menggunakan pengulangan untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Bentuk FOR

Perulangan dalam bahasa C dapat menggunakan bentuk FOR, sintaks penulisannya adalah sebagai berikut :

for (nilai awal; kondisi perulangan; operasi)

{

Statement

}

Contoh Program :

1:    #include <stdio.h>

2:    void main()

3:    {

4:         for(int i = 0; i < 9; i++)

5:         {

6:                     printf(“%d ”,i);

7:         }

8:    }

Bentuk WHILE

Perulangan dalam bahasa C dapat pula menggunakan bentuk WHILE, sintaks penulisannya adalah sebagai berikut :

while(kondisi)

{

Statement

operasi

}

Contoh Program :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         int i = 0;

6:         while(i<10)

7:         {

8:                     printf(“%d\n”,i);;

9:                     i++;

10:       }

11:       printf(“Nilai akhir =  ”);

12:

13:       while(i<10)

14:       {

15:                   printf(“%d ”,i);

16:                   i++;

17:       }

18:  }

Bentuk DO-WHILE

Perulangan dalam bahasa C dapat pula menggunakan bentuk DO-WHILE, sintaks penulisannya adalah sebagai berikut :

do

{

Statement

Operasi

}

while(kondisi);

Contoh Program :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         int i = 0;

6:         do

7:         {

8:                     printf(“%d\n”,i);

9:                     i++;

10:       }

11:       while(i<10);

12:       printf(“Nilai akhir =  ”);

13:

14:       do

15:       {

16:                   printf(“%d ”,i);

17:                   i++;

18:       }

19:       while(i<10);

20:  }

Daftar tools yang digunakan

1.      Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

                        i,j : integer

            Algoritma :

                        for i ß 1 to 5 do

                                    for j ß 5 to i do

                                                write(“*”)

                                    endfor

                                    write(“\n”)

                        endfor

Lembar Kerja Praktikum 5: Array

Tujuan

Setelah mengerjakan LKP 5 ini, anda diharapkan dapat:

1.    memahami konsep array dalam pemrograman

2.    menggunakan array untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Array satu dimensi

Dalam bahasa pemrograman, array adalah variabel yang sejenis yang berderet sedemikian rupa sehingga alamatnya saling bersambung/kontigu atau dengan kata lain variabel berindeks.

Bentuk umum :

tipe_array nama_array [jumlah data]

 
 

 


Ilustrasi array satu dimensi :

 

 

 

 

 

 

Array di atas mempunyai enam element.

Contoh Program :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         int a[5] = {10,25,30,45,50};

6:         int i;

7:

8:         for(i=0;i<5;i++)

9:         {

10:                   printf(“%d = %d\n”,i,a[i]);

11:       }

12:  }

Array Multidimensi

Array multidimensi adalah array yang mempunyai lebih dari satu dimensi.  Misal : A[3][5] artinya array tersebut mempunyai 3 baris 5 kolom.

Bentuk umum :

tipe_array nama_array [jumlah data][jumlah data]

 
 

 

 


                                                                                                                                                       

Ilustrasi array multi dimensi :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Array di atas mempunyai delapan belas element.

Contoh Program :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         int a[3][3] = {{10,20,30},{40,50,60},{70,80,90}};

6:         int i,j;

7:

8:         for(i=0;i<3;i++)

9:         {

10:                   for(j=0;j<3;j++)

11:                   {

12:                               printf(“%d ”,a[i][j]);

13:                   }

14:                   printf(“\n”);

15:       }

16:  }

Daftar tools yang digunakan

1.      Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

               const Nmaks =  20

               NilaiAngka : array [1..Nmaks] of real

               NilaiHuruf : array [1..Nmaks] of char

               i : integer

            Algoritma :

               for iß1 to n do

                     if (NilaiAngka[i] > 85) then

                                 NilaiHuruf[i] ß’A’

                     elseif (NilaiAngka[i] > 70) and (NilaiAngka[i] < 85) then

                                 NilaiHuruf[i]ß’B’

                     elseif (NilaiAngka[i] > 55) and (NilaiAngka[i] < 70) then

                                 NilaiHuruf[i]ß’C’

                     elseif (NilaiAngka[i] > 45) and (NilaiAngka[i] < 55) then

                                 NilaiHuruf[i]ß’D’

                     else

                                 NilaiHuruf[i]ß’E’

                     endif

               endfor

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 6: Pointer

Tujuan

Setelah mengerjakan LKP 6 ini, anda diharapkan dapat:

1.    memahami konsep pointer dalam pemrograman.

2.    menggunakan pointer untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Definisi

Pointer dapat diartikan sebagai suatu nilai yang menunjuk alamat suatu lokasi memori. Lokasi memori tersebut mungkin diwakili oleh sebuah variabel atau mungkin juga lokasi bebas dalam memori. Sedangkan pointer sendiri yang berupa nilai ditampung dalam sebuah variabel yang disebut variabel pointer. Jadi variabel pointer atau pointer berisi suatu nilai yang menyatakan alamat suatu lokasi. 

Contoh :

 

 

 

 

 

 


Step:

  1. d=&a à *d = 2 ; d = A
  2. c=&b à *c = 3 ; c = B
  3. b=*d  à b = 2 ; &b = B
  4. *d=*cà *d = 2 ; d = A

 

Dari contoh di atas terlihat bahwa addres pada variabel pointer dapat berubah – ubah, apabila addres suatu variabel pointer berubah maka valuenya akan berubah sesuai addres yang ditunjuk oleh pointer tersebut. Apabila pada address yang ditunjuk oleh pointer tersebut mengalami perubahan value, maka value pada pointer juga akan berubah.

Contoh Program :

1:    #include <stdio.h>

2:

3:    void main()

4: {

5:         int a,b;

6:         int *c;

7:         int *d;

8:

9:         a = 2;

10:   b = 3;

11:

12:   d = &a;

13:   printf("a = %d\n",a);

14:   printf("alamat a = %d\n",&a);

15:   printf("d = %d\n",*d);

16:   printf("alamat d = %d\n",d);

17:

18:   c = &b;

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

20:   printf("alamat b = %d\n",&b);

21:   printf("c = %d\n",*c);

22:   printf("alamat c = %d\n",c);

23:

24:   b = *d;

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

26:   printf("alamat b = %d\n",&b);

27:   printf("d = %d\n",*d);

28:   printf("alamat d = %d\n",d);

29:

30:   *d = *c;

31:   printf("d = %d\n",*d);

32:   printf("alamat d = %d\n",d);

33:   printf("c = %d\n",*c);

34:   printf("alamat c = %d\n",c);

35:  }

Daftar tools yang digunakan

1.      Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

               a : array [1..5] of integer

               *b : integer

               i : integer

            Algoritma :

               b = a

               for i = 0 to 5 do

                  read(b)

                  b++

               endfor

               b = a

               for i = 0 to 5 do

                  write(b)

                  b++

               endfor

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 7: Fungsi dan Prosedur

Tujuan

Setelah mengerjakan LKP 7 ini, anda diharapkan dapat:

1.    memahami konsep fungsi dan prosedur dalam pemrograman

2.    menggunakan fungsi dan prosedur untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Definisi dan Bentuk Umum Fungsi

Fungsi adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri, yang berfungsi untuk menyelesaikan suatu pekerjaan. Bahasa C minimal mempunyai satu buah fungsi yang disebut Fungsi main() yaitu fungsi induk/utama. Sintaks penulisannya adalah sebagai berikut :

TipeData NamaFungsi()

{

Statement

return variabel

}

Ingat bahwa pemrograman bersifat terstruktur, karena itu untuk fungsi yang dibuat setelah main, harus dideklarasikan lebih dahulu di bagian atas.

Definisi dan Bentuk Umum Prosedur

Prosedur adalah suatu fungsi yang tidak mengembalikan nilai, karena itu tipe data untuk prosedur adalah void atau kosong. Sintaks penulisannya adalah sebagai berikut :

void NamaProsedur()

{

Statement

}

Ingat bahwa pemrograman bersifat terstruktur, karena itu untuk prosedur yang dibuat setelah main, harus dideklarasikan lebih dahulu di bagian atas.

Penggunaan Parameter

Ada 2 jenis Parameter

·       Formal Parameter, merupakan parameter yang muncul di definisi fungsi atau prosedur.

·       Actual Parameter, merupakan parameter yang muncul di program saat pemanggilan fungsi atau prosedur.

Berikut adalah sintaks untuk penggunaan parameter

TipeData NamaFungsi(TipeData Variabel1, TipeData Variabel2)

{

Statement

return variabel

}

 

TipeData NamaProsedur(TipeData Variabel1, TipeData Variabel2)

{

Statement

return variabel

}

Contoh Program :

Fungsi :

1:    #include <stdio.h>

2:

3:    int tambah(int a, int b);

4:

5:    void main()

6:    {

7:         int a,b,hasil;

8:

9:         printf(“Nilai a = “);

10:       scanf(“%d”,&a);

11:

12:       printf(“Nilai b = “);

13:       scanf(“%d”,&b);

14:

15:       hasil = tambah(a,b);

16:

17:

19:       printf(“Hasil = %d\n”,hasil);

18:  }

20:

21:  int tambah(int a, int b)

22:  {

23:  int Hasil;

24:  Hasil = a + b;

25:  return Hasil;

26:  }

Prosedur :

1:    #include <stdio.h>

2:   

3:    void tambah();

4:

5:    void main()

6:    {

7:         tambah();

8:    }

9:

10:  void tambah()

11:  {

12:       int a,b,c;

13:       printf(“Nilai a = “);

14:       scanf(“%d”,&a);

15:

16:       printf(“Nilai b = “);

17:       scanf(“%d”,&b);

18:

19:       c = a + b;

20:

21:       printf(“Hasil = %d\n”,c);

22:  }

Daftar tools yang digunakan

1.      Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

               m,n, kpk : integer

               function KPK(input m,n : integer) à integer {menghitung KPK}

               procedure cetak (input kpk : integer) {cetak KPK}

            Algoritma :

               read(m)

               read(n)

               kpk ß KPK(m,n)

               cetak(kpk)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 8: File Eksternal

Tujuan

Setelah mengerjakan LKP 8 ini, anda diharapkan dapat:

1.    memahami konsep file dalam pemrograman

2.    menggunakan file untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Sejauh ini praktikum yang dilakukan pada LKP ini menggunakan input dari keyboard dan memberikan output pada layar monitor. Pada kenyataannya seringkali dilakukan pembacaan input dari arsip dan penulisan output ke arsip.

Berikut adalah keyword yang penting dalam pemrosesan arsip

FILE*             à Tipe data pengaksesan arsip

fopen               à Fungsi untuk membuka arsip

fclose              à Fungsi untuk menutup arsip

fprintf             à Fungsi untuk menulis ke dalam arsip

fscanf              à Fungsi untuk membaca dari dalam arsip

Contoh Program :

Menulis ke dalam arsip :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         FILE* file;

6:         file = fopen("arsip.txt","w");

8:         fprintf(file,"Selamat_Datang_di_Fakultas_Ilmu_Komputer");

9:    }

Membaca dari dalam arsip :

1:    #include <stdio.h>

2:

3:    void main()

4:    {

5:         FILE* file;

6:         char teks1[100];

7:         file = fopen("arsip.txt","r");

8:

9:         fscanf(file,"%s",teks1);

10:

11:       printf("%s",teks1);

12:  }

Catatan :

w dan r adalah kunci untuk pengaksesan arsip, w berarti write, digunakan agar arsip yang diakses hanya dapat ditulis saja, sedangkan r berarti read, digunakan agar arsip yang diakses hanya dapat dibaca saja.

Daftar tools yang digunakan

1.      Compiler C: Turbo C++ 4.5

Algoritma

            Deklarasi :

               file : FILE

               nama, nim, jurusan : string

            Algoritma :

               read(nama)

               read(nim)

               read(jurusan)

               file ß nama,nim,jurusan

               nama, nim, jurusan ß file

               write(nama)

               write(nim)

               write(jurusan)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 9 :  Variabel

 

Script :

 

#include “iostream.h”
#include “conio.h”

main ()
{
int a,b,c;

cout << “Masukkan nilai A : “; cin >> a;
cout << “Masukkan nilai B : “; cin >> b;
c = a + b;
cout << “Nilai A+B = “<< c;
getch();
}

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 10 : SEGITIGA

 

Script

 

#include “iostream.h”
#include “conio.h”

main ()
{
//kamus
float alas,tinggi,luas;

//deskripsi
cout << “Masukkan Alas = “; cin >> alas;
cout << “Masukkan Tinggi = “; cin >> tinggi;
luas = (alas * tinggi) / 2;
cout << “Luas Segitiga = ” << luas;
getch(); //tekan sembarang tombol
}

 

 

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 11 : Menukar nilai a ke variabel b

 

Script

 

#include “iostream.h”
#include “conio.h”

main()
{
int A,B,Cadangan;

cout<< “Masukan Nilai A = “; cin >> A;
cout<< “Masukan Nilai B = “; cin >> B;

Cadangan = A;
A=B;
B=Cadangan;

Cadangan =0;

cout << “Nilai A =” << A << “\n” ;
cout << “Nilai B =” << B;

getch();
}

 

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 12 : Menentukan presdikat

/*
Untuk Menentukan Predikat Kelulusan di perlukan input Nilai dengan keterangan :

A = > = 85 dan <= 100

B = > = 75 dan > 85

C = > = 60 dan > 75

D = < 60

 

Script

 

*/

#include “iostream.h”
#include “conio.h”

main()
{
char Predikat;
float Nilai;

cout<< “masukan Nilai Siswa : “; cin >> Nilai;

if (Nilai>=85 && Nilai <=100)
Predikat = ‘A’;
else if (Nilai>=75 && Nilai <=85)
Predikat =’B’;
else if (Nilai>=60 && Nilai <=75)
Predikat =’C’;
elae if (Nilai<60)
Predikat = ‘D’;
else
Predikat = ”;

cout << “Nilai Huruf : “<< Predikat ;
getch();
}

Ranning Program

 

 

 

 

 

 

 

Lembar Kerja Praktikum 13 : Gaji Bersih


Hitung Gaji Bersih dari :
Gapok : 1.500.000
Tunjangan : 500.000
Pajak : 5%
BPJS : 5%

Input : Nama dan Banyak Bulan ?

Script

*/

#include “iostream.h”
#include “conio.h”

main ()
{
int Gapok, Tunj, nBulan, Gaber, TotalGaji, JumGaber;
float Pajak,BPJS;
char Nama[30];

cout << “Nama Pegawai : “; cin >> Nama;
cout << “Banyak Bulan : “; cin >> nBulan;

Gapok = 1500000;
Tunj = 500000 ;
TotalGaji = Gapok + Tunj;
Pajak = 0.05 * TotalGaji;
BPJS = 0.03 * TotalGaji;

Gaber = TotalGaji – Pajak – BPJS;

JumGaber = Gaber * nBulan;

cout << “SLIP GAJI PEGAWAI\n” << “==========================\n”;
cout << “Nama : ” << Nama << “\n”;
cout << “Gaji Pokok : ” << Gapok <<“\n”;
cout << “Tunjangan : ” << Tunj << “\n”;
cout << “Pajak : ” << Pajak <<“\n”;
cout << “BPJS : ” << BPJS << “\n”;
cout << “Selama : ” << nBulan<<“\n”;
cout << “==================================\n”;
cout << ” Gaji Bersih : ” << “jumGaber” << “\n”;

getch();

}

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 14 : Menetukan bilangan bulat ganjil

Scipt

#include “iostream.h”
#include “conio.h”

main ()
{
int input, sisabagi;

cout << “Masukan Bilangan Bulat :”; cin>> input;
sisabagi = input%2;

if ( sisabagi ==0 )
cout << input << ” adalah Bilangan Genap.”;
else
cout << input << ” adalah Bilangan Ganjil.”;

getch ();
}

 

 

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 15 : Mencetak karakter bintang dengan bentuk-bentuk segitiga dengan menggunakan perulangan dalam perulangan

 

/*
Mencetak Karakter
*
**
**
***
****
*****

 

Scrip

*/

#include “iostream.h”
#include “conio.h”

main ()
{
int baris,kolom,max ;
char karakter ;

karakter = ‘*’ ;
max = 15;

cout << “Bentuk Pertaama” << endl ;

for (baris=1; baris<=max; baris++)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}

cout << “Bentuk Kedua” << endl ;

for (baris=1; baris<=max; baris++)
{
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}

cout << “Bentuk Ketiga” << endl ;

for (baris=max; baris>=1; baris–)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}

cout << “Bentuk Keempat” << endl ;

for (baris=max ; baris>=1; baris–)
{
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}

cout << “Bentuk Refleksi Satu” << endl ;

for (baris=1; baris<=max; baris++)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
getch ();
}

 

 

Ranning Program

 

 

 

 

 

 

 

 

 

 

 

Lembar Kerja Praktikum 16 : Mencetak deret bilangan menggunakan perulangan

 

Script

#include “iostream.h”
#include “conio.h”

main ()
{
int ulang;

//perulangan for
for (ulang=1; ulang<=10; ulang++)
{
cout << “Cetang Angka = ” << ulang << endl;
}

//perulangan while
ulang=1;
while (ulang <=10)
{
cout << “Cetak Angka = ” << ulang << endl;
ulang++;
}

//perulangan do while
ulang=1;
do
{
cout << “Cetak Angka = ” << ulang << endl;
ulang++ ;
}
while (ulang<=10);

getch () ;
}

 

Ranning Program

Lembar Kerja Praktikum 17 : Soal cerita

Sebuah Toko perlengkapan bahan bangunan yang bernama “TB BARUDAK” memeberikan promo harga Cat Tembok 25 Kg. Bagi konsumen yang membeli sebanyak 3 pile akan mendapatkan potongan harga sebesar 80%, promo ini berlaku bagi setiap konsumen yang membeli mminimal 3 pile atau kelipatannya akan mendapatkan potongan harga 80%, sementara harga 1 pile cat tembok 25 Kg Rp. 154.000,-

# Selesaikan kasus diatas dengan mengunakan bahasa pemrograman C/C++ agar dapat dengan mudah berapa jumlah yang harus dibayarkan oleh konsumen.

Script

 

Ranning Program

 

 

Lembar Kerja Praktikum 18 : Soal cerita

Seorang tukang cat tembok mempunyai ukuran dalam pengecatan yang terbagi dalam 3 kategori kualitas yaitu kualitas tinggi, kualitas sedang dan kualitas rendah. Untuk kualitas tingggi 5 Kg cat tembok dapat menutupi bidang dengan baik seluas 3 X 4 m2 atau seluas 12 m2 dan kualitas sedang 5 Kg cat tembok dapat menutupi bidaang seluas 4 X 5 m2 atau seluas 20 m2 serta kualitas rendah 5 Kg cat tembok dapat menutupi seluas 6 X 11 m2 atau seluas 66 m2.

Buatlah penyelesaian studi kasus diatas dengan menggunakan bahasa pemrograman C/C++ untuk mempermudah dalam menghitung berapa jumlah cat tembok yang dibutuhkan untuk ke 3 kategori kualitas.

Script

Running program

Lembar Kerja Praktikum 19 : Soal Cerita

Buatlah Program menggunakan struktur tentang biaya kuliah mahasiswa dengan ketentuan sebagai berikut

1. D3

Spp tetap = Rp. 500

Spp Variable = Rp. 250/sks

2. S1

Spp Tetap = Rp. 750

SPP variable = Rp. 500/sks

 

Script


#include<conio.h>

#include<iostream.h>

struct mhs

{

char nama[20], nim[20], prodi[3];

int sks, program;

}bayar;

main()

{

int var, tetap;

cout<<" Nama Mahasiswa \t\t : "; cin>>bayar.nama;

cout<<" Nim Mahasiswa \t\t\t : "; cin>>bayar.nim;

cout<<" Prodi [ TI SI MI] \t\t : "; cin>>bayar.prodi;

input:

cout<<" Program [1 = D3 / 2 = S1] \t : ";

cin>>bayar.program;

if(bayar.program < 1 || bayar.program > 2)

{

cout<<" Program Tidak Sesuai ";

goto input;

}

cout<<" Jumlah SKS \t\t\t : "; cin>>bayar.sks;

if(bayar.program == 1)

{

tetap = 500;

var = bayar.sks*250;

}

else if(bayar.program == 2)

{

tetap = 750;

var = bayar.sks*500;

}

cout<<" "<<endl;

cout<<" -----------------------------------------------------"<<endl;

cout<<" \t\t\t OUT PUT "<<endl;

cout<<" -----------------------------------------------------"<<endl;

cout<<" Nama \t\t\t : "<<bayar.nama<<endl;

cout<<" Nim \t\t\t : "<<bayar.nim<<endl;

cout<<" Prodi \t\t\t : "<<bayar.prodi<<endl;

cout<<" Program \t\t : "<<bayar.program<<endl;

cout<<" Jumlah SKS \t\t : "<<bayar.sks<<endl;

cout<<" Biaya SPP Tetap \t : "<<tetap<<endl;

cout<<" Biaya SPP Variable \t : "<<var<<endl;

cout<<" -----------------------------------------------------"<<endl;

getch();

return 0;

}


Hasil Running



     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DAFTAR ISI

 

1.        Bruce Eckel. (2000). Thinking in C++, Volume 1, 2nd Edition. Prentice Hall.

2.        Desphande P.S., O.G. Kakde (2004). C dan Data Structures. Charles River Media, Inc. Massachusetts

3.        Frieyadie. (2006). Panduan Pemrograman C++. Andi : Yogyakarta

4.        Heriyanto, Imam, Budi Raharjo (2003). Pemrograman Borland C++ Builder. Informatika Bandung.

5.        Hermanto Bambang, M.Cs, Tim Asisten Dasar-Dasar Pemrograman, Edisi I (2017),  Modul Praktikum Dasar-Dasar Pemrograman, Laboratorium Komputasi Dasar D3 Manajemen Informatika FMIPA Universitas Lampung

6.        Indrajit, Richardus Eko. Manajemen Sistem Informasi dan Teknologi Informasi.

7.        Indrajit, Richardus Eko. Kajian Strategis Analisa Cost-Benefit Investasi Teknologi Informasi.

8.        Kadir, Abdul. (2003). Pemrograman C++. Andi : Yogyakarta

9.        Kristanto, Andri. (2003). Struktur Data Dengan C++. Penerbit Graha Ilmu. Yogyakarta

10.    Lidya, Leoni, rinaldi Munir (2002). Algoritama dan Pemrograman dalam Bahas Pascal dan C. Informatika Bandung.

11.    Moh.Sjukani, (2013), “Struktur Data (Algoritma &Struktur Data 1) dengan C,C++”,  Mitra Wacana Media: Jakarta

12.    Moh.Sjukani, (2012), “Struktur Data (Algoritma &Struktur Data 2) dengan C,C++”,  Mitra Wacana Media: Jakarta

13.    Muliono Rizki, S.Kom., M.Kom, (2018), Modul Praktikum Algoritma Struktur Data, Teknik Informatika, Universitas Medan Area, Medan  

14.    Nugroho Adi. (2009). Algoritma Dan Struktur Data Dalam Bahasa Java. Andi : Yogyakarta

15.    Sanjaya, Dwi (2005). Asyiknya Belajar Struktur Data di Planet C++. Elex Media Komputindo.

16.    Sjukani Moh. (2009). Struktur Data (Algoritma & struktur Data 2) Dengan C, C++. Edisi 3. Mitra Wacana Media : Jakarta

17.    Solichin, Achmad (2003). Pemrograman Bahasa C dengan Turbo C. IlmuKomputer.Com

18.    https://www.thecrazyprogrammer.com/2017/05/travelling-salesman-problem.html

19.    https://www.geeksforgeeks.org/graph-and-its-representations/

20.    https://repository.bsi.ac.id/index.php/unduh/item/283413/Modul_strukturData.pdf