modul algoritma dan pemrograman pet 1-9

47
Modul Algoritma dan Pemrograman ATKP Medan 1 Dosen Ismael, S.Kom. M. Kom MODUL 1 1. PERTEMUAN : 1 2. JUDUL : ALGORITMA 3. TUJUAN : a. Definisi Algoritma b. Simbol-simbol Flowchart c. Mampu memahami suatu permasalahan d. Menyusun langkah-langkah penyelesaian masalah e. Membuat algoritma deskriptif, flowchart dan pseudo code 4. DASAR TEORI Kata Algoritma diambil dari nama ilmuwan muslim Abu Ja‟far Muhammad bin Musa Al-Khwarizmi (780-846 M) yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik. Algorithma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Langkah-langkah tersebut harus logis ini berarti nilai kebenarannya harus dapat di tentukan, benar atau salah. Langah-langkah yang tidak benar dapat memberikan hasil yang salah. Algorithma merupakan jantung ilmu komputer atau informatika tetapi algoritma tidak selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari banyak terdapat proses yang digambarkan dalam suatu algorithma. Contohnya resep masakan/membuat kue (resep kue), membuat pakaian (pola pakaian), merakit mobil (panduan merakit). CIRI-CIRI ALGORITMA YANG BAIK. a) Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan b) Flexible dan portable : Flexible untuk dikembangkan lebih lanjut Portable untuk digunakan pada berbagai sistem dan mesin c) Bersih dari kesalahan sistem ataupun lojik d) Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. e) Murah:

Upload: endi96

Post on 16-Apr-2015

191 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

1 Dosen Ismael, S.Kom. M. Kom

MODUL 1

1. PERTEMUAN : 1

2. JUDUL : ALGORITMA

3. TUJUAN :

a. Definisi Algoritma

b. Simbol-simbol Flowchart

c. Mampu memahami suatu permasalahan

d. Menyusun langkah-langkah penyelesaian masalah

e. Membuat algoritma deskriptif, flowchart dan pseudo code

4. DASAR TEORI

Kata Algoritma diambil dari nama ilmuwan muslim Abu Ja‟far Muhammad bin Musa

Al-Khwarizmi (780-846 M) yang banyak menghasilkan karya dalam bidang matematika,

disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik.

Algorithma adalah urutan langkah-langkah logis penyelesaian masalah yang

disusun secara sistematis. Langkah-langkah tersebut harus logis ini berarti nilai

kebenarannya harus dapat di tentukan, benar atau salah. Langah-langkah yang tidak benar

dapat memberikan hasil yang salah.

Algorithma merupakan jantung ilmu komputer atau informatika tetapi algoritma tidak

selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari banyak terdapat

proses yang digambarkan dalam suatu algorithma. Contohnya resep masakan/membuat kue

(resep kue), membuat pakaian (pola pakaian), merakit mobil (panduan merakit).

CIRI-CIRI ALGORITMA YANG BAIK.

a) Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan

b) Flexible dan portable :

Flexible untuk dikembangkan lebih lanjut

Portable untuk digunakan pada berbagai sistem dan mesin

c) Bersih dari kesalahan sistem ataupun lojik

d) Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah

waktu yang masuk akal.

e) Murah:

Page 2: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

2 Dosen Ismael, S.Kom. M. Kom

Efisien dalam penggunaan piranti memori dan penyimpanan lainnya.

Cepat waktu pelaksanaannya.

f) Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan pengembangan.

g) Algoritma merupakan pemberian (description) pelaksanaan suatu proses.

h) Tidak ambiguous : tidak bermakna ganda.

i) Harus berhenti setelah mengerjakan sejumlah langkah terbatas.

ATURAN PENULISAN TEKS ALGORITMA

Ada tiga cara penulisan Algoritma, yaitu :

1. Uraian deskriftif

Contoh : Buat algoritma untuk menentukan apakah suatu bilangan merupakan

bilangan ganjil atau bilangan genap.

Algoritmanya :

a. Masukkan sebuah bilangan sembarang

b. Bagi bilangan tersebut dengan bilangan 2

c. Hitung sisa hasil bagi pada langkah 2.

Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila

sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.

2. Menggunakan kata-kata atau kalimat yang mirip dengan bahasa pemrograman yaitu

Psudo Code

Contoh suatu Pseudocode :

Start

Nilai a=3 ; b=5 ; c=0

Hitung c= a * b

Tampilkan nilai c

End

3. Menggunakan bagan-bagan/symbol-simbol tertentu seperti Diagram Alir (Flowchart)

DIAGRAM ALIR

Flow-chart atau bagan alir adalah suatu skema/gambar yang memperlihatkan urutan

intruksi/kegiatan dan hubungan antar proses beserta instruksinya.

Gambaran ini dinyatakan dengan symbol. Dengan demikian setiap symbol

menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis

penghubung.

Page 3: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

3 Dosen Ismael, S.Kom. M. Kom

Flow-chart dibedakan atas dua jenis, yaitu :

1. Diagram alir sistem (System Flow-chart)

Bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file dalam

media tertentu.

System flowchart menggambarkan :

a. Hubungan antar suatu file dengan file lainnya

b. Media yang dipakai untuk setiap file

2. Diagram alir program(Program Flow-chart)

Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program.

Penulisan dengan menggunakan bagan alir sudah tidak banyak digunakan, dengan alasan :

Hanya cocok untuk masalah kecil. Memerlukan kemampuan menggambar yang baik, tetapi

sangat bermanfaat jika digunakan untuk menggambarkan logika pemecahan masalah untuk

pengajaran

Berikut merupakan simbol dari diagram alir program

Simbol Arti

Terminator (Awal / Akhir) suatu flowchart

Proses (Pengolah Data)

Input / Output (mewakili data input dan data output)

Preparation (untuk Insialisai Awal variabel / untuk Loop

(perulangan))

Decision / Pengambilan Keputusan (perbandingan antara

dua buah nilai atau lebihi)

Off Page Connector (penghubung di halaman yang berbeda)

On Page Conntector (penghubung di halaman yang sama)

Page 4: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

4 Dosen Ismael, S.Kom. M. Kom

Flow Lines (Arah Arus / Data / Proses

Predefine (sebuah program yang terpisah yang dapat

dipanggil dari main program)

KAIDAH-KAIDAH UMUM PEMBUATAN FLOWCHART

Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak.

Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah

dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu

pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri

dari 3 bagian utama, yaitu:

- Input

- Proses Pengolahan dan

- Output

Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah :

START, berisi instruksi untuk persiapan peralatan yang diperlukan sebelum

menangani pemecahan persoalan

READ, berisi instruksi kegiatan untuk membaca data dari suatu peralatan input

PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai

dengan data yang dibaca

WRITE, berisi instruksi untuk merekan hasil kegiatan ke peralatan output

END, mengakhiri kegiatan pengolahan

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

beberapa anjuran:

Hindari pengulangan proses yang tidak perlu dan logika yang berbelit

sehingga jalannya proses menjadi singkat

Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah

untuk memperjelas

Input Proses Output

Page 5: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

5 Dosen Ismael, S.Kom. M. Kom

Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

Contoh pemakaian flowchart

1. algoritma untuk membersihkan bak mandi

2. Algoritma untuk menentukan sebuah bilangan genap atau ganjil

T

Y

Start

Buka penutup

dasar Bak

Koson

gg ?

Sikat dinging &

dasar Bak

Siram bak

Sumbat Bak &

Hidupkn Kran Ari

T

Y

Bersih

?

a

T

Y

Penuh

?

a

Matikan Kran

Air

Stop

Page 6: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

6 Dosen Ismael, S.Kom. M. Kom

5. PERCOBAAN

Buatlah algoritma dalam bentuk Flowchart masalah dibawah ini :

1. Menjumlahkan 2 buah bilangan dan mencetak hasilnya

2. Mengalikan 2 buah bilangan dan mencetak hasilnya

3. Menukarkan isi dua buah variabel dan mencetak hasilnya

4. Menghitung Luas Lingkaran dan hasilnya

5. Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar

salah satunya, dan tampilkan hasilnya

6. Menghitung sigma (akumulasi) dari bilangan 1 sampai dengan n, dan menampilkan

hasilnya

Page 7: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

7 Dosen Ismael, S.Kom. M. Kom

MODUL 2

1. PERTEMUAN : 2

2. JUDUL : STRUKTUR DASAR PEMROGRAMAN C++

3. TUJUAN :

a. Memahami IDE (Integrated Development Environment) bahasa C++

b. Dapat menggunakan sintaks dan fungsi-fungsi dalam bahasa C++

c. Mampu menterjemahkan algoritma untuk memecahkan suatu masalah kedalam

bahasa C++

4. DASAR TEORI

Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan

beberapa hal dari bahasa C yang dinamakan “C with Classes” yang pada mulanya disebut “a

better C” dan berganti nama pada tahun 1983 menjadi C++ oleh Rick Mascitti, dibuat di

Laboratorium Bell, AT&T.

Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat- sifatnya yang

disebut dengan Object Oriented Programming (OOP), yang mempunyai tujuan utamanya

adalah membantu dan mengelola program yang besar dan kompleks.

Bahasa Pemrograman C++ merupakan bahasa yang biasa dipakai untuk pemrogram sistem,

antara lain:

Assembler

Interpreter

Program paket

Sistem operasi

Editor

Kompiler

Program bantu (utility)

Selain digunakan untuk pemrograman sistem juga digunakan untuk membuat berbagai

program aplikasi, seperti aplikasi bisnis, matematis, maupun games (permainan), serta untuk

menyusun program kecerdasan buatan (artificial intelligence).

Page 8: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

8 Dosen Ismael, S.Kom. M. Kom

4.1. Pengenalan IDE Borland C++

IDE merupakan singkatan dari Integrated Development Environment, merupakan

Lembar kerja terpadu untuk pengembangan program. IDE dari Borland C++, dapat

digunakan untuk:

1. Menulis Naskah Program.

2. Mengkompilasi Program ( Compile )

3. Melakukan Pengujian Program ( Debugging )

4. Mengaitkan Object dan Library ke Program ( Linking )

5. Menjalankan Program ( Running )

Untuk mengaktifkan aplikasi Borland C++, lakukanlah langkah-langkah berikut ini:

Klik tombol Start pilih Program Borland C++ 5.02 klik Borland C++

Gambar 1. Menu Untuk Mengaktifkan Program Borland C++

Page 9: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

9 Dosen Ismael, S.Kom. M. Kom

Berikut lDE dari Borland C++, seperti gambar dibawah ini:

Gambar 2.Layar Pembuka Borland C++

Gambar 3. IDE Borland C++ 5.02

IDE pada Borland C++, terbagi menjadi 5 (empat) bagian, yaitu:

1. Baris Menu ( Menu Bar )

Menu utama terdiri dari; File, Edit, Search, Run, Compile, Debug, Project, Options,

Window dan Help.

2. Baris Peralatan (Tools Bar)

Baris yang menampilkan shortcuts (icons) untuk mempermudah pengguna dalam

pembuatan program-program C++, seperti icon open, save, compiler, run dan lain-

lain.

3. Jendela Editor

Menu Bar

Tools Bar

Jendela

Editor

Jendela Pesan

Status

Page 10: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

10 Dosen Ismael, S.Kom. M. Kom

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

membuat program, nama file jendela editor adalah NONAME00.CPP

4. Jendela Message

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

Jika ada kesalahan sintax program maupun varibel dan objek, maka akan diberikan

pesan kesalahannya yang kemudian dapat didouble klik pada pesan tersebut untuk

mendapatkan petunjuk di baris yang mana terdapat kesalahannya.

5. Baris Status (Status Bar)

Baris yang akan menampilkan keterangan-keterangan pada saat mengaktifkan menu

bar dan sub menu serta keterangan-keterangan lain (seperti petunjuk baris dan kolom,

waktu yang sedang berjalan).

4.2 Struktur Program C++

Pemrograman C++ disusun oleh sejumlah blok fungsi. Sebuah program minimal terdiri dari

sebuah fungsi. Setiap fungsi terdiri dari satu atau beberapa pernyataan.

Bentuk Umum Struktur Program C++ :

Penjelasan:

1. include

Adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor

selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Preprocessor dipakai

untuk membaca file yang dinamakan dengan file-judul (header file), yaitu file yang berisi

deklarasi fungsi dan defenisi konstanta. File ini mempunyai ciri yaitu namanya diakhiri

dengan extension .h.

Bentuk umumnya :

tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk

pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan

#include <file-header>

main()

{

pernyataan;

}

# include <nama_file>

Page 11: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

11 Dosen Ismael, S.Kom. M. Kom

kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file

header) yaitu file yang berisi sebagai deklarasi contohnya:

- # include <iostream.h> : diperlukan pada program yang melibatkan objek cout

- # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah

untuk membersihkan layar.

- # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat

untuk mengatur lebar dari suatu tampilan data.

- # include <math.h> : diperlukan pada program yang menggunkan operasi

sqrt () yang bermanfaat untuk operasi matematika kuadrat.

2. Fungsi main ()

Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi.

Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program

utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama,

maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi.

Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang

coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi

main().

3. Komentar

Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis

komentar, yaitu:

Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu baris

*/

Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )

4. Tanda Semicolon

Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan

harus diakhiri dengan sebuah tanda semicolon.

5. Mengenal cout(dibaca : C out)

Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk

mengarahkan data ke dalam standar output (cetak pada layar)

Contoh :

Page 12: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

12 Dosen Ismael, S.Kom. M. Kom

1. #include <file-header> merupakan preprocessor pada C++ untuk pemanggilan file

header yang memuat beberapa perintah-perintah dari C++ (contoh, apabila ingin

menggunakan perintah cout maka harus menggunakan file header iostream.h)

2. main() merupakan awal mula dari blok program utama

3. tanda { dan } sebagai punctuator yang awal blok program hingga akhir blok program

4. cout merupakan perintah keluaran pada C++

5. getch(); apabila ditempatkan sebelum funtuator }, maka berfungsi sebagai penahan

dari tampilan hasil

4.3 Membuat File Editor

File Editor merupakan file kode program yang dapat dikompilasi, kemudian

dijalankan untuk menampilkan hasilnya yang mempunyai ekstensi file .CPP.

Cara mengaktifkannya : Klik Menu File Klik New Text Edit

Gambar 4 Cara membuat Text Editor

Page 13: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

13 Dosen Ismael, S.Kom. M. Kom

Gambar 5 Jendela Text Editor

4.4. Menyimpan File Editor

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

selanjutnya disimpan dengan cara :

a. Kik Menu File Save

b. Menekan HotKey Ctrl + KS.

Selanjutnya tampil jendela Save File As, seperti dibawah ini :

Gambar 6. Jendela Save File As

Page 14: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

14 Dosen Ismael, S.Kom. M. Kom

Pada Borland C++ 5.02 terdapat tiga cara menyimpan file editor, diantaranya yaitu :

Save Digunakan untuk menyimpan File Program pada jendela yang sedang aktif

kedalam disk. Hotkey yang ada bisa gunakan untuk menyimpan dengan

menekan tombol Ctrl + KS.

Save As Digunakan untuk menyimpan File Program pada jendela yang sedang aktif

kedalam disk dengan nama file yang berbeda.

Save All Digunakan untuk menyimpan semua File Program pada jendela yang sedang

aktif kedalam disk.

4.5. Menterjemahkan Program

Proses Compile merupakan suatu proses menterjemahkan program dari bahasa

manusia kedalam bahasa yang dimengerti oleh komputer yaitu bahasa mesin, yaitu dengan

cara :

1. Kik Menu Debug Compile

2. Menekan HotKey Alt + F9

Selanjutnya tampil kotak dialog Compile, seperti dibawah ini :

Gambar 7. Kotak Dialog Compile

4.6. Menjalankan Program

Proses Run merupakan suatu proses menterjemahkan program,melakukan proses

linking, membuat file eksekusi ( .exe ) dan sekaligus menjalankan program, yaitu dengan

cara:

6. Kik Menu Debug Run

Page 15: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

15 Dosen Ismael, S.Kom. M. Kom

7. Menekan HotKey Ctrl + F9

Selanjutnya tampil hasil Run, seperti dibawah ini :

Gambar 8. Contoh Hasil Keluaran Program

4.7. Membuka File Editor

Penjelasan Membuka atau memanggil file editor yang sudah pernah dibuat, dengan

cara : Klik Menu File Open

Selanjutnya tampil Jendela Open, seperti dibawah ini :

Gambar 9. Jendela Open File pada C++

5. PERCOBAAN

a. Terjemahkan Algoritma yang telah dibuat dalam tugas modul 1 menggunakan bahasa

pemrograman C++ .

1. Menjumlahkan 2 buah bilangan dan mencetak hasilnya

Page 16: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

16 Dosen Ismael, S.Kom. M. Kom

2. Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar

salah satunya, dan tampilkan hasilnya

3. Menghitung sigma (akumulasi) dari bilangan 1 sampai dengan n, dan menampilkan

hasilnya

#include <conio.h>

#include <iostream.h>

main()

{

int a,b,c;

a=10;

b=21;

c=a+b;

cout<<"a + b = "<<c<<endl;

cout<<a<<" + "<<b<<"= "<<c;

getch();

}

#include <conio.h>

#include <iostream.h>

main()

{

int a,b,c;

a=10;

b=21;

if (a==b)

{

cout<<a<<" Sama Dengan "<<b;

}else if(a>b)

{

cout<<a<<" Besar dari "<<b;

}else

{

cout<<a<<" Kecil dari "<<b;

}

getch();

}

Page 17: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

17 Dosen Ismael, S.Kom. M. Kom

#include <conio.h>

#include <iostream.h>

main()

{

int i, total=0;

for (i=1;i<=10;i++)

{

total=total+I;

}

cout<<"Total Nilai Keseluruhan :"<<total;

getch();

}

Page 18: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

18 Dosen Ismael, S.Kom. M. Kom

MODUL 3

ELEMEN-ELEMEN BAHASA PEMROGRAMAN C++

1. PERTEMUAN : 3

2. JUDUL : STRUKTUR DASAR PEMROGRAMAN C++

3. TUJUAN :

a. Menjelaskan dan menggunkan tipe data dasar (jenis dan jangkauannya)

b. Menjelaskan dan menggunakan Variabel

c. Menjelaskan dan menggunakan konstanta

d. Menjelaskan dan menggunakan berbagai jenis operator

4. DASAR TEORI

4.1. Tipe Data

Data menggambarkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau

variabel. Dimana konstanta menyatakan suatu nilai yang tetap dan variabel menyatakan nilai

yang dapat diubah-ubah selama eksekusi program berlangsung.

Tipe data dapat dikelompokkan menjadi atas dua macam :

1. Tipe Dasar.

2. Tipe Bentukkan.

Tipe 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

NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe)

Tipe data dapat diubah ( type cast ), misalkan:

Page 19: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

19 Dosen Ismael, S.Kom. M. Kom

float x = 3.345;

int p = int(x);

maka nilai p adalah 3 ( terjadi truncating ).

Tipe Bentukan

Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.

Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri

dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan

untuk kemudahan dalam operasi.

Bentuk umumnya :

4.2. Variabel

Variabel digunakan untuk menyimpan suatu nilai dalam program, dan nilai tersebut dapat

diubah-ubah selama eksekusi program berlangsung

a. Deklarasi variabel

Varibel yang digunakan dalam program harus dideklarasikan terlebih dahulu, yaitu

pemesanan memori dan penentuan jenis data yang bisa disimpan dalam variabel

tersebut. Bentuk umum deklarasi variabel :

Pada deklarasi variabel, nama-variabel dapat terdiri dari satu variabel atau beberapa

variabel yang dipisahkan dengan tanda koma (,).

Contoh :

int R ;

float nilai, nilai_total, ipk;

b. Memberikan nilai variabel

Bentuk umum memberikan nilai ke suatu variabel :

Contoh :

R=10;

tyedef struct{ tipe nama_field1; tipe nama_field2;

tipe nama_field3;

.... }nama_variabel;

Tipe nama-variabel;

variabel=nilai;

Page 20: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

20 Dosen Ismael, S.Kom. M. Kom

nilai=70.5; ipk=3.4;

c. inisialisasi variabel

Merupakan pemberian nilai awal terhadap suatu variabel. Adakalanya dalam

pembuatan program, setelah variabel dideklarasikan langsung diberi nilai awal.

Contoh :

int total; atau int total=0;

total=0;

4.3. Konstanta

Konstanta menyatakan nilai tetap. Tidak perlu dideklarasikan, dan mempunyai tipe data.

Aturan penulisan:

Konstanta karakter : diawali dan diakhiri dengan tanda petik tunggal, Contoh : „A‟ dan

„@‟.

Konstanta integer : ditulis dengan angka (tanpa tanda petik) tanpa mengandung pemisah

ribuan dan tak mengandung bagian pecahan. Contoh : –1 dan 32767.

Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik)

dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya

: 27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5 (maksudnya 2,1 x 105

).

Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda

petik-ganda (“). Contoh: “Program Dasar”.

Menggunakan keyword #define

#define <nama_konstanta> <nilai> atau

Menggunakan keyword const

const <tipe_konstanta> <nama_konstanta> = <nilai>; Contoh:

#define PI 3.14159

atau : const float PI = 3.14159;

Page 21: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

21 Dosen Ismael, S.Kom. M. Kom

4.4. Operator

Operator merupakan simbol atau karakter yang digunakan untuk melakukan suatu operasi

atau manipulasi seperti operasi matematika, operasi logika dan lain sebagainya.

a. Opeartor Arimatika

Operator Operasi

* Perkalian

/ Pembagian

% Sisa pembagian

+ Penjumlahan

- Pengurangan

b. Operator penaikan dan penurunan

Operator Operasi

++ Penaikan

- - Penurunan

c. Operator relasi

Operator relasi (hubungan) biasa dipakai untuk membandingkan dua buah nilai. Hasil

perbandingan berupa keadaan benar atau salah.

Operator Operasi

> Besar dari

>= Besar dari atau sama dengan

< Kurang dari

<= Kurang dari atau sama dengan

== Sama dengan

!= Tidak sama dengan

d. Operator Logika

Biasa digunakan untuk menghubungkan ungkapan relasi

Operator Operasi

&& Dan (AND)

| | Atau (OR)

! Tidak (NOT)

Page 22: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

22 Dosen Ismael, S.Kom. M. Kom

5. PERCOBAAN

1. Tipe-tipe data dasar

2. Mengenal beberapa operator

/* File program : data.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int var_bulat = 32767;

float var_pecahan1 = 339.2345678f;

double var_pecahan2 = 3.4567e+40;

char var_karakter = 'S';

printf("Variabel bulat = %d\n", var_bulat);

printf("Variabel pecahan1 = %f\n", var_pecahan1);

printf("Variabel pecahan2 = %le\n", var_pecahan2);

printf("Variabel karakter = %c\n", var_karakter);

getch();

}

/* File program : operator.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int a, b, c, hasil;

printf("Masukkan nilai a = ");

scanf("%d", &a);

printf("Masukkan nilai b = ");

scanf("%d", &b);

printf("Masukkan nilai c = ");

scanf("%d", &c);

printf("\n");

hasil = a - b;

printf("Hasil pengurangan : a - b = %d\n", hasil);

printf("Hasil perkalian : b * c = %d\n", b * c);

hasil = a / c;

printf("Hasil pembagian : a / c = %d\n", hasil);

printf("Hasil operasi : a + b * c = %d\n", a + b * c);

getch();

}

Page 23: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

23 Dosen Ismael, S.Kom. M. Kom

3. Operator Modulus

4. Menghitung diskriminan pers kuadrat ax^2 + bx + c = 0

5. Penggunaan pre & post Increment operator

/* File program : modulus.cpp*/

#include <stdio.h>

#include <conio.h>

main()

{

int a = 14, b = 2, c = 3, d = 4;

printf("a = %d, b = %d, c = %d, d = %d\n\n",

a, b, c, d);

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

printf("Hasil a %% c = %d\n", a % c);

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

printf("Hasil a / d * d + a %% d = %d\n", a / d * d + a % d);

getch();

}

/* File program : diskrim.cpp */

# include <stdio.h>

# include <conio.h>

main()

{

float a,b,c,d = 0;

a = 3.0f;

b = 4.0f;

c = 7.0f;

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

printf("Diskriminan = %f\n",d);

getch();

}

/* File program : pre_post.Cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int count = 0, loop;

loop = ++count; /* count=count+1; loop=count; */

printf("loop = %d, count = %d\n", loop, count);

loop = count++; /* loop=count; count=count+1; */

printf("loop = %d, count = %d\n", loop, count);

getch();

}

Page 24: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

24 Dosen Ismael, S.Kom. M. Kom

6. Perbedaan format %g, %e dan %f

7. Penggunaan format panjang medan data

6. LATIHAN

Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit dengan rumus

F = C * 1.8 + 32

Input : suhu dalam Celcius

Output : suhu dalam Fahrenheit

/* File program : form_efg.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

float x;

printf("Masukkan nilai pecahan yg akan

ditampilkan : ");

scanf("%f", &x);

printf("format e => %e\n", x);

printf("format f => %f\n", x);

printf("format g => %g\n", x);

getch();

}

/* File program : formatpjg.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int nilai1 = 20;

float nilai2 = 500.0f;

printf("Abad %5d\n", nilai1);

printf("%10.2f\n", nilai2);

printf("%10s\n", "Bahasa C"); /* String rata

kanan */

printf("%-10s\n", "Bahasa C"); /* String rata

kiri */

getch();

}

Page 25: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

25 Dosen Ismael, S.Kom. M. Kom

MODUL 4

1. PERTEMUAN : 4 dan 5

2. JUDUL : PROGRAM INPUT DAN OUTPUT

3. TUJUAN :

a. Menjelaskan dan menggunakan fungsi untuk input data

b. Menjelaskan dan menggunakan fungsi untuk menampilkan/mencetak informasi

c. Menggunakan penentu format

4. LANDASAN TEORI

Input data dan menampilkan data/informasi (output) merupakan kegiatan yang sering

dilakukan dalam pemrograman. Input data dilakukan melalui keyboard menghasilkan output

melalui piranti monitor atau printer.

4.1 Program Input

Data diinputkan melalui keyboard saat eksekusi program berlangsung. Fungsi yang

digunakan untuk input data yaitu : scanf(), getch() dan getche(), cin().

a. scanf()

Fungsi ini digunakan untuk menginputkan berbagai jenis data dengan menggunakan

penentu format data.

Daftar penentu format data :

Kode Keterangan

%c Membaca sebuah karakter

%s Membaca sebuah string

% i atau %d Membaca sebuah integer

%e atau %f Membaca sebuah bilangan real (bisa dalam bentuk eksponensial)

%o Membaca sebuah integer oktal

%x Membaca sebuah integer hexadesimal

%u Membaca sebuah integer tak bertanda

l Awalan untuk membaca data long int (misal %ld)

L Awalan untuk membaca data long double (misal %Lf)

h Awalan untuk membaca data short int (misal %hd)

b. getch() dan getche()

Page 26: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

26 Dosen Ismael, S.Kom. M. Kom

fungsi getch() digunakan untuk membaca sebuah karakter, dengan sifat karakter yang

diinputkan tidak perlu diakhiri dengan ENTER dan karakter yang diinputkan tidak

akan ditampilkan di layar. Sedangkan fungsi getche() kegunaannya sama dengan

fungsi getch(), perbedaannya karakter yang diinputkan ditampilkan di layar.

c. Cin

Fungsi cin merupakan sebuah objek didalam C++ digunakan untuk memasukan suatu

data dari keyboard. Untuk menggunakan fungsi cin ini harus menyertakan file header

iostream.h

4.2 Program Output

Untuk menampilkan output/informasi digunakan fungsi printf(), puts() dan putchar(), cout.

a. printf()

Fungsi printf() digunakan untuk menampilkan berbagai jenis data. Fungsi printf()

sama dengan fungsi scanf() menggunakan penentu format.

b. Pust()

Fungsi puts() digunakan khusus untuk manapilkan data string ke layar. Dengan

menggunakan fungsi ini, string yang ditampilkan secara otomatis akan diakhiri

dengan \n (pindah baris)

c. Putchar()

Fungsi putchar() digunakan khusus untuk menampilkan sebuah karakter ke layar,

akan tetapi tidak diakhir dengan pindah baris.

d. Cout

Funsi cout merupakan sebuah objek didalam C++ digunakan untuk menampilkan suatu data

kelayar. Untuk menggunakan fungsi ini harus menyertakan file header iostream.h

Page 27: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

27 Dosen Ismael, S.Kom. M. Kom

5. PERCOBAAN

a. Menghitung keliling dan luas lingkaran

b. Menghitung Nilai Akhir Matakuliah

c. Mencari Luas Segitiga

/* File program : lingkaran.cpp /

#include <stdio.h>

main()

{

float radius, keliling, luas;

printf("Masukkan jari-jari lingkaran : ");

scanf("%f",&radius);

keliling = 2 * 3.14f * radius;

luas = 0.5f * 3.14f * radius * radius;

printf("\nData lingkaran\n");

printf("Jari-jari = %8.2f\n", radius);

printf("Keliling = %8.2f\n", keliling);

printf("Luas = %8.2f\n", luas);

getch();

}

#include<stdio.h>

main()

{

float absen,tugas,mid,uas,na;

clrscr();

printf("Input nilai kehadiran : "); scanf("%f" ,&absen);

printf("Input nilai Tugas : "); scanf("%f" ,&tugas);

printf("Input nilai mid : "); scanf("%f" ,&mid);

printf("Input nilai UAS :" ); scanf("%f" ,&uas);

na=0.1*absen+0.2*tugas+0.3*mid+0.4*uas;

getch();

}

#include<stdio.h>

#include<conio.h>

main()

{

int alas,tinggi;

float luas;

clrscr();

printf("Inputkan Alas Segitga :

");scanf("%d",&alas);

printf("Inputkan Tinggi Segitga :

");scanf("%d",&tinggi);

luas=alas*tinggi*0.5;

printf("Luas Segitiga = %.2f\n",luas );

getche ();

}

Page 28: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

28 Dosen Ismael, S.Kom. M. Kom

d. Mencari luas segi tiga menggunakan cout dan cin

6. LATIHAN

Buat algoritma dan program untuk menginputkan, menghitung dan menampilkan

- luas persegi panjang,

- Luas Lingkaran,

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

main()

{

int alas,tinggi;

float luas;

clrscr();

cout<<"Inputkan Alas Segitga :";

cin>>alas;

cout<<"Inputkan Tinggi Segitga :";

cin>>tinggi;

luas=alas*tinggi*0.5;

cout<<"Luas Segitiga ="<<luas;

getche();

}

Page 29: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

29 Dosen Ismael, S.Kom. M. Kom

MODUL 5

1. PERTEMUAN : 6 dan 7

2. JUDUL : STRUKTUR KONTROL (PENGAMBILAN KEPUTUSAN)

3. TUJUAN :

a. Menjelaskan dan menggunakan operator kondisi (operator relasi dan logika)

b. Menggunaan pernyataan if

c. Menggunaan pernyataan if-else

d. Menggunaan pernyataan if dalam if

e. Menggunaan pernyataan switch

4. DASAR TEORI

Pengambilan keputusan diperlukan jika ada dua atau lebih kondisi yang harus dipilih salah

satu. Pernyataan-pernyataan yang dapat digunakan dalam pengambilan keputusan adalah :

Pernyataan if

Pernyataan if-else

Pernyataan switch

Pernyataan-pernyataan diatas memerlukan suatu kondisi yaitudibentuk dengan operator

relasi dan/atau operator logika.

4.1. Operator Relasi

Operator relasi (hubungan) biasa dipakai untuk membandingkan dua buah nilai. Hasil

perbandingan berupa keadaan benar atau salah.

Operator Operasi

> Besar dari

>= Besar dari atau sama dengan

< Kurang dari

<= Kurang dari atau sama dengan

== Sama dengan

!= Tidak sama dengan

Page 30: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

30 Dosen Ismael, S.Kom. M. Kom

Contoh

PEMBANDING HASIL

1 > 2 Salah

1 < 2 Benar

A==1 Benar jika A bernilai 1

Salah jik A tidak bernilai 1

‟A‟ < ‟B‟ Benar karena kode ASCII untuk karakter ‟A‟

kecil dari kode ASCII karakter ‟B‟

Kar==‟Y‟ Benar jika variabel kar berisi ‟Y‟

Salah jika variabel kar tidak berisi ‟Y‟

4.2. Operator Logika

Biasa digunakan untuk menghubungkan ungkapan relasi

Operator Operasi

&& Dan (AND)

| | Atau (OR)

! Tidak (NOT)

4.3 Pernyataan if

Sintak:

Jika kondisi benar maka pernyataan dilakukan.

Pernyataan bisa satu statement atau beberapa statement

Jika pernyataan lebih dari satu gunakan tanda „{„ dan „}‟ untuk mengelompokkan

pernyataan2 itu

Page 31: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

31 Dosen Ismael, S.Kom. M. Kom

4.4 Pernyataan if-else

Sintak:

Jika kondisi benar maka pernyataan1 dilakukan.

Jika kondisi salah maka pernyataan2 dilakukan.

4.5 Nested -if

Di dalam pernyataan if (atau if-else) bisa terdapat pernyataan if (atau if-else) yang

lain.

Bentuk umum:

Page 32: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

32 Dosen Ismael, S.Kom. M. Kom

4.6 Pernyataan Switch-Case

Digunakan sebagai pengganti pernyataan if bertingkat (else-if)

Bentuk umum :

5. PERCOBAAN

1. Menghitung nilai discount menggunakan if.

2. Menghitung nilai absolut suatu bilangan.

/* File program : discount.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

double total_pembelian, discount = 0;

clrscr();

printf("Total pembelian = Rp ");

scanf("%lf", &total_pembelian);

if(total_pembelian >= 100000)

discount = 0.05 * total_pembelian;

printf("Besarnya discount = Rp %.2lf\n", discount);

getch();

}

Page 33: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

33 Dosen Ismael, S.Kom. M. Kom

3. Pemakaian if-else untuk menyeleksi bilangan pembagi

4. Pemakaian if-else untuk mengecek hasil modulus.

/* File program : absolut.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int bil, abs;

clrscr();

printf("Masukkan bilangan bulat : ");

scanf("%d", &bil);

if(bil < 0)

abs = -bil;

printf("Nilai absolut dari %d adalah %d\n\n", bil, abs);

getch();

}

/* File program : bagi1.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

float a, b;

clrscr();

printf("Masukkan nilai a : ");

scanf("%f", &a);

printf("Masukkan nilai b : ");

scanf("%f", &b);

printf("\n");

if (b == 0)

printf("%g dibagi dengan nol = TAK BERHINGGA\n", a);

else

printf("%g dibagi dengan %g = %g\n", a, b, a/b);

getch();

}

Page 34: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

34 Dosen Ismael, S.Kom. M. Kom

5. Mengkategorikan karakter masukan

6. Mengkategorikan bilangan bulat dengan memberinya tanda 1, 0 atau -1.

/* File program : bagi2.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int bil1, bil2, sisa;

clrscr();

printf("Masukkan bilangan pertama : ");

scanf("%d", &bil1);

printf("Masukkan bilangan kedua : ");

scanf("%d", &bil2);

sisa = bil1 % bil2;

printf("\n");

if (sisa == 0)

printf("%d habis dibagi dengan %d\n\n", bil1, bil2);

else

printf("%d tidak habis dibagi dengan %d\n\n",

bil1, bil2);

getch();

}

/* File program : tebak.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

char karakter;

clrscr();

printf("Masukkan sebuah karakter : ");

scanf("%c", &karakter);

if ((karakter >= 'a' && karakter <= 'z') || (karakter >=

'A' && karakter <= 'Z'))

printf("%c adalah karakter alphabet\n", karakter);

else if (karakter >= '0' && karakter <= '9')

printf("%c adalah bilangan\n", karakter);

else

printf("%c adalah karakter khusus\n", karakter);

getch();

}

Page 35: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

35 Dosen Ismael, S.Kom. M. Kom

7. Implementasi program kalkulator sederhana menggunakan else-if.

/* File program : bulat.cpp */

#include <stdio.h>

#include <conio.h>

main()

{

int bil, tanda;

clrscr();

printf("Masukkan sebuah bilangan : ");

scanf("%d", &bil);

if (bil < 0)

tanda = -1;

else if (bil == 0)

tanda = 0;

else

tanda = 1;

printf("Bilangan %d memiliki tanda %d\n", bil, tanda);

getch();

}

/* File program : kalkulator1.cpp */

#include <stdio.h>

#include <conio.h>

main()

{ /* valid_operator diinisialisasi dg logika 1 */

int valid_operator = 1;

char operator;

float bil1, bil2, hasil;

clrscr();

printf("Masukkan 2 buah bilangan dan sebuah operator\n");

printf("dengan format : bil1 operator bil2\n\n");

scanf("%f %c %f", &bil1, &operator, &bil2);

if(operator == '*')

hasil = bil1 * bil2;

else if(operator == '/')

hasil = bil1 / bil2;

else if(operator == '+')

hasil = bil1 + bil2;

else if(operator == '-')

hasil = bil1 - bil2;

else

valid_operator = 0;

if(valid_operator)

printf("%g %c %g is %g\n", bil1, operator, bil2,

hasil);

else

printf("Invalid operator!\n");

getch();

}

Page 36: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

36 Dosen Ismael, S.Kom. M. Kom

8. Implementasi program kalkulator sederhana menggunakan switch - case.

6. LATIHAN

a. Buatlah algoritma dan program untuk menerima input 2 buah bilangan bulat. Tampilkan

hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3

desimal.

Input : bil1 dan bil2

Output : hasil bagi bil1 dengan bil2

Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua

adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan

kesalahannya (division by zero).

b. Buatlah algoritma dan program untuk menampilkan menu dan melakukan proses sbb :

Menu :

1. Menghitung volume kubus

2. Menghitung luas lingkaran

3. Menghitung volume silinder.

Input : pilihan user (1, 2 atau 3)

Jika pilihan = 1, maka :

Input : panjang sisi kubus

/* File program : kalkulator2.c */

#include <stdio.h>

#include <conio.h>

main()

{

/* valid_operator diinisialisasi dg logika 1 */

int valid_operator = 1;

char operator;

float bil1, bil2, hasil;

clrscr();

printf("Masukkan 2 buah bilangan dan sebuah operator\n");

printf("dengan format : bil1 operator bil2\n\n");

scanf("%f %c %f", &bil1, &operator, &bil2);

switch(operator) {

case '*' : hasil = bil1 * bil2; break;

case '/' : hasil = bil1 / bil2; break;

case '+' : hasil = bil1 + bil2; break;

case '-' : hasil = bil1 - bil2; break;

default : valid_operator = 0;

}

if(valid_operator)

printf("%g %c %g is %g\n", bil1, operator, bil2,hasil);

else

printf("Invalid operator!\n");

getch();

}

Page 37: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

37 Dosen Ismael, S.Kom. M. Kom

Output : Volume kubus (vol = sisi3

)

Jika pilihan = 2, maka :

Input : panjang jari-jari lingkaran

Output : Luas lingkaran (luas = 3.14 * r2

)

Jika pilihan = 3, maka :

Input : panjang jari-jari lingkaran & tinggi silinder

Output : Volume silinder (vol = 3.14 * r2

* t)

Jika pilihan selain 1, 2 & 3 (default) : Tampilkan pesan kesalahan.

Petunjuk : gunakan switch-case

d. Kumpulkan hasil Program berikut

#include<stdio.h>

main()

{

char nip[9], nama[15];

int gol,st;

float gapok,tjg,gk,pph,gb;

clrscr();

printf("DAFTAR GAJI PEGAWAI\n");

printf("Inputkan NIP Pegawai :"); scanf("%s" ,&nip);

printf("Inputkan Nama Pegawai : "); scanf("%s" ,&nama);

printf("Inputkan Golongan (1-4) : "); scanf("%d" ,&gol);

printf("Inputkan Status (1=Maried,2=single): "); scanf("%d"

,&st);

if (gol==1)

gapok=900000;

if (gol==2)

gapok=1250000;

if (gol==3)

gapok=1750000;

if (gol==4)

gapok=2500000;

if (st==1)

tjg=0.25*gapok;

if (st==2)

tjg=0.05*gapok;

gk=gapok+tjg;

pph=0.1*gapok;

gb=gk-pph;

printf("Gaji Pokok : %.2f\n",gapok);

printf("Tunjangan : %.2f\n",tjg);

printf("Gaji Kotor : %.2f\n",gk );

printf("PPh : %.2f\n",pph);

printf("Gaji Bersih : %.2f\n",gb );

getch();

}

Page 38: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

38 Dosen Ismael, S.Kom. M. Kom

MODUL 6

1. PERTEMUAN : 8 DAN 9

2. JUDUL : PENGULANGAN (LOOPING) WHILE DAN DO-WHILE

3. TUJUAN :

a. Menjelaskan dan menggunakan proses pengulangan pernyataan while

b. Menjelaskan dan menggunakan proses pengulangan pernyataan do-while

c. Menjelaskan dan menggunakan pernyataan break

d. Menjelaskan dan menggunakan pernyataan continue

4. DASAR TEORI

4.1. Pernyataan while

Pada pernyataan ini, pengecekan terhadap loop dilakukan di bagian awal, apabila kondisi

tidak benar maka pernyataan di dalam blok loop tidak dikerjakan sama sekali.

- Sintak

Selama kondisi benar maka pernyataan dikerjakan

Jika kondisi salah maka keluar dari blok loop

Contoh :

bil = 1;

while (bil <= 15)

{

printf("%d\n", bil);

bil = bil + 3;

}

Akan didapatkan hasil :

1

4

7

10

13

while(kondisi)

pernyataan;

Page 39: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

39 Dosen Ismael, S.Kom. M. Kom

4.2. Pernyataan do-while

Pada pernyataan ini, pengecekan terhadap loop dilakukan di bagian akhir. Walupun

kondisi tidak benar maka pernyataan didalam blok loop pasti dijalankan (minimal 1 kali).

- Sintak :

Mula-mula pernyataan dijalankan, selanjutnya kondisi diuji jika benar dilakukan

perulangan, jika salah maka keluar dari loop

Contoh :

bil = 1;

do {

printf("%d\n", bil);

bil = bil + 3;

} while (bil <= 15);

Akan didapatkan hasil :

1

4

7

10

13

4.3. Pernyataan for

Digunakan untuk membuat looping dengan jumlah perulangan yang ditentukan di awal.

- Sintak:

for(ungkapan1; ungkapan2; ungkapan3)

pernyataan;

Keterangan :

Ungkapan1: digunakan untuk memberikan inisialisasi terhadap variabel pengendali

loop.

Ungkapan2: dipakai sebagai kondisi untuk keluar dari loop.

Ungkapan3: dipakai sebagai pengatur kenaikan nilai variabel pengendali loop.

Contoh :

for (bil = 1; bil <= 15; bil += 3)

printf("%d\n", bil);

maka akan didapatkan hasil :

1

4

7

do {

pernyataan;

} while(kondisi);

Page 40: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

40 Dosen Ismael, S.Kom. M. Kom

10

13

4.4. Pernyataan for( ; ; )

Kadang-kadang dijumpai adanya pernyataan for yang tidak mengandung bagian ungkapan

yang lengkap (beberapa ungkapan dikosongkan). Hal ini disebabkan ungkapan-ungkapan

tersebut sudah di-inisialisasi di luar for atau dapat dikerjakan di dalam loop itu sendiri.

Contoh :

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

dapat diganti menjadi :

bil=10;

for( ; ; )

{

bil++;

if(bil==60)

break;

}

4.5 Pernyataan break

Berfungsi untuk keluar dari loop yaitu untuk looping dengan while, dan do-while.

Juga berfungsi untuk keluar dari struktur switch.

- Sintak:

break;

Contoh :

Pada loop:

while(kondisi)

{

break;

}

statement-x;

Pada switch:

switch (ekspresi)

{ . . . . .

case konstanta-2:

pernyataan-21;

Page 41: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

41 Dosen Ismael, S.Kom. M. Kom

break;

. . . . .

}

Pernyataan Continue

Pada loop:

while(kondisi)

{

continue;

}

statemen-x;

C. PERCOBAAN

1. Menghitung jumlah kata dan karakter dalam suatu kalimat

/* File program : jumkar.c */

#include <stdio.h>

main()

{

char kar;

int jumkar = 0, jumspasi = 0;

clrscr();

puts("Masukkan sebuah kalimat dan akhiri dengan ENTER.");

puts("Saya akan menghitung jumlah karakter ");

puts("pada kalimat tersebut.\n");

while((kar = getchar()) != '\n')

{

jumkar++;

if (kar == ' ') jumspasi++;

}

printf("\nJumlah karakter = %d", jumkar);

printf("\nJumlah SPASI = %d\n\n", jumspasi);

getch();

}

2. Membalik angka menggunakan pernyataan while().

/* File program : loop9.c */

#include <stdio.h>

main()

Page 42: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

42 Dosen Ismael, S.Kom. M. Kom

{

int bil, digit_kanan;

printf("Masukkan bilangan yang mau dibalik : ");

scanf("%d", &bil);

printf("Hasil pembalikannya = ");

while(bil != 0)

{

digit_kanan = bil % 10;

printf("%d", digit_kanan);

bil = bil / 10;

}

printf("\n");

getch();

}

3. Membaca tombol yang ditekan.

/*File program : pilihan.c */

#include <stdio.h>

main()

{

char pilihan;

int sudah_benar = 0; /* diberi nilai salah lebih dahulu */

printf("Pilihlah Y atau T.\n");

/* program dilanjutkan jika tombol Y,y,T atau t ditekan */

while(!sudah_benar)

{

pilihan = getchar(); /* baca tombol */

sudah_benar = (pilihan == 'Y') || (pilihan == 'y')||

(pilihan == 'T') || (pilihan == 't');

getch();

}

/* memberi keterangan tentang pilihan */

switch(pilihan)

{

case 'Y':

case 'y':

puts("\nPilihan anda adalah Y");

break;

case 'T':

Page 43: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

43 Dosen Ismael, S.Kom. M. Kom

case 't':

puts("\nPilihan anda adalah T");

}

getch();

}

4. Membuat Tabel Faktorial menggunakan do-while

/*menghitung nilai faktorial menggunakan do-while*/

#include<stdio.h>

main()

{

int k,i=1,fak=1;

printf("Masukkan nilai yang akan difaktorialkan = ");

scanf("%d",&k);

printf("\n\nTabel faktorial \n ");

printf("%3s %7s","k","faktorial\n");

do

{

fak=fak*i;

printf("%3d %7d \n",i,fak);

i++;

}while(i<=k);

getch();

}

5. Menghitung harga total pembelian minuman

/*menentukan total pembelian minuman */

#include<stdio.h>

main()

{

int jumlah,kode;

float harga,total;

double bayar;

char kar;

printf("kode Jenis Harga\n");

printf("1 Milo Rp 10.000\n");

printf("2 Kopi Rp. 5000\n");

printf("3 Coca Cola Rp 2500\n");

printf("4 Orange Juice Rp 2000\n");

total=0;

do {

printf("Masukkan kode minuman : \n");

scanf("%d",&kode);

Page 44: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

44 Dosen Ismael, S.Kom. M. Kom

printf("Masukkan jumlah pesanan ");

scanf("%d",&jumlah);

if(kode==1)

harga = (float) 10000*jumlah;

else if(kode==2)

harga = (float)5000*jumlah;

else if(kode==3)

harga = (float)2500*jumlah;

else if(kode==4)

harga = (float)2000*jumlah;

total=total+harga;

printf("Mau menambah pesanan ? (Y/T)\n");

scanf("%s",&kar);

} while(kar=='Y');

if(total > 100000)

bayar=total-(0.15*total);

else

bayar=total;

printf("\nHarga yang harus dibayar = %10.2f\n",bayar);

getch();}

6. Pemakaian for untuk membentuk deret naik.

/* File program : for1.c */

#include <stdio.h>

main()

{

int bilangan;

for(bilangan = 20; bilangan <= 100; bilangan += 10)

printf("%d\n", bilangan);

}

7. Pemakaian for untuk membentuk deret turun

/* File program : for2.c */

#include <stdio.h>

main()

{

int bilangan;

for (bilangan = 60; bilangan >= 10; bilangan -= 10)

printf("%d\n", bilangan);

}

8. Menghitung jumlah 200 triangular menggunakan for().

/* File program : triangular2.c */

#include <stdio.h>

Page 45: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

45 Dosen Ismael, S.Kom. M. Kom

main()

{

int n, jumlah = 0;

for (n=1; n<=200; n++)

jumlah = jumlah + n;

printf("Jumlah 200 triangular adalah %d\n", jumlah);

}

9. Membuat tabel dari jumlah triangular yang diinputkan

/* File program : triangular3.c */

#include <stdio.h>

main()

{ int n, bil, jumlah = 0;

printf("Masukkan bilangan triangular : ");

scanf("%d", &bil);

printf("\nTABEL PENJUMLAHAN TRIANGULAR\n\n");

printf("%3s%10s\n\n","n","Jumlah");

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

{

jumlah = jumlah + n;

printf("%3d %7d\n", n, jumlah);

}

}

10. Pemakaian break untuk keluar dari looping

/* File program : tamat.c */

#include <stdio.h>

main()

{

char kar;

printf("Ketik sembarang kalimat");

printf(" dan akhiri dengan ENTER\n\n");

for ( ; ; )

{

kar = getchar();

if(kar == '\n')

break;

}

printf("Selesai\n");

}

11. Loop for bersarang untuk membuat tabel perkalian

/* File program : tblkali.c */

Page 46: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

46 Dosen Ismael, S.Kom. M. Kom

#include <stdio.h>

#define MAKS 8

main()

{

int baris, kolom, hasil_kali;

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

{

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

{

hasil_kali = baris * kolom;

printf ("%2d", hasil_kali);

}

printf("\n"); /* pindah baris */

}

}

12. Menampilkan bilangan ganjil antara 7 - 25 kecuali 15 menggunakan continue.

/* File program : ganjil.c */

#include <stdio.h>

main()

{

int x;

for (x = 7; x <= 25; x += 2)

{

if (x == 15)

continue;

printf("%4d", x);

}

printf("\n");

}

6. LATIHAN

1. Buatlah algoritma dan program untuk menampilkan semua bilangan genap yang

terletak antara 20 sampai dengan 200, dengan menggunakan While.

2. Buatlah algoritma dan program untuk menghitung jumlah angka dari suatu bilangan.

Contohnya : Jumlah angka dari bilangan 3255 = 3 + 2 + 5 + 5 = 15

Jumlah angka dari bilangan 4589 = 4 + 5 + 8 + 9 = 26 dan sebagainya.

3. Buatlah algoritma dan program untuk menerima daftar nilai mahasiswa sbb :

Input : - Jumlah data (n)

- Nilai ke-1 s/d Nilai ke-n

Output : - Nilai minimal

Page 47: Modul Algoritma Dan Pemrograman Pet 1-9

Modul Algoritma dan Pemrograman ATKP Medan

47 Dosen Ismael, S.Kom. M. Kom

- Nilai maksimal

- Nilai rata-rata (rata-rata = nilai total / jumlah data)

(Petunjuk : Gunakan do-While dan seleksi kondisi dengan if)