Anda di halaman 1dari 99

LAPORAN PRAKTIKUM ALGORITMA DAN PROGRAMAN

Dosen :Dedy Harto,S.T.,M.Ti

Dibuat oleh :
RYAN ALFIAN : 1840302065
LOCAL B

FAKULTAS TEKNIK
TEKNIK ELEKTRO
UNIVERSITAS BORNEO TARAKAN
2019
PENGENALAN BAHASA C++
2.1. Tujuan Praktikum
Tujuan Umum
Mahasiswa memahami konsep dasar algoritma dan pemrograman serta mampu membuat dan
menjalankan suatu program sederhana di komputer.

Tujuan Khusus Mahasiswa dapat:


1. Menguraikan konsep dasar bahasa pemrograman dan kaitannya dengan algoritma.
2. Menjelaskan cara kerja sebuah program dapat berjalan (kode sumber, kompilasi, executable)
3. Membuka dan memahami fitur dasar perangkat lunak editor permbuatan program (IDE).
4. Menulis, meng-kompilasi dan menjalankan (run) program sederhana
2.2 Dasar Teori
1. Algoritma dan Pemrograman
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan
mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan
bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa
pemograman seperti bahasa C atau C++.
Program adalah kompulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam
program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita
sebut bahwa program adalah suatu implementasi dari bahasa pemrograman
2. BahasaC & C++
Berbicara tentang C++ biasanya tidak lepas dariC, sebagai bahasa pendahulunya.Pencipta C
adalah Brian W. Kerninghari dan Dennis M. Ritchie pada sekitar tahun 1972 dan sekitar satu dekade
setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratoriur Bell, AT&T, pada tahun 1983.
C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut “a better C “. Nama
C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada
bahasa C. Keistimewaan yang sangat berari dari C++ ini adalah karena bahasa ini mendukung
pemrograman yang berorientasi objek ( OOP / Object Oriented Programming).
3. Pengenalan IDE Dev C++
IDE merupakan singkatan dari Integrated Development Environment, merupakan Lembar kerja
terpadu untuk pengembangan program. IDE dari Dev C++, dapat digunakan untuk :
 Menulis Naskah Program.
 Mengkompilasi Program ( Compile )
 Melakukan Pengujian Program (Debugging)
 Mengaitkan Object dan Library ke Program (Linking)
 Menjalankan Program (Running)
File Editor merupakan File Program yang dapat dikompile, dan dijalankan untuk menampilkan hasilnya
serta mempunyai ekstensi.CPP
Cara mengaktifkannya
1. Buka Editor Bahasa Dev-C++ 5.2.00
2. Buatlah file baru dengan membuka menu File > New > Source File atau dengan shortcut Ctrl + N
3. Tulistah Program 1.1 berikut ini.
Program1.1 selamat Datang.cpp

Gambar 1.1. Program selamat datang

Penjelasan program:
 Baris ke 1 sampai ke 5 merupakan judul program atau komentar yang tidak ditampilkan pada saat
program dijalankan
 #include adalah salah satu Pengarah Preprosesor (preprocessor directive) yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya
: # include <nama_file>
contohnya:
#include <iostream> : diperlukan pada program yang melibatkan objek cout dan cin
 int main() adalah fungsi utama, dan program utama diletakkan sesudah fungsi ini dimana dibatasi
dengan tanda { dan }.
 cout (dibaca C out) merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan
data ke dalam standar output (cetak pada layar)
 Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus
diakhiri dengan sebuah tanda semicolon
4. Simpan program yang telah dituliskan dengan membuka menu File > Save as… . Pilih lokasi
penyimpanan dan beri nama file dengan “selamat_Datang.Cpp”.
5. Lakukan kompilasi program melalui menu Execute > Compile atau dengan menekan shortcut F9.

Gambar 1.2. Tampilan hasil kompilasi

Compiler dijalankan untuk mengubah source code menjadi sebuah program. Compile adalah suatu
proses di mana mengubah bahasa pemograman menjadi instruksi-instruksi yang dikenali oleh
komputer. Setelah source code tercompile, terbentuklah sebuah file objek dengan ekstension “ .obj “.
File “ .obj “ ini belum merupakan sebuah program executable.
6. Jalankan program (running) melalui menu Execute > Run atau dengan menekan shortcut F10. Hasil
program akan ditampilkan pada window seperti pada gambar berikut ini.

Gambar 1.3. Tampilan hasil program

Setelah kita compile file yang berisi source code, maka sebagai hasil kompilasi tersebut kita akan
mendapatkan suatu file yang bisa dijalankan (executable file). Menjalankan program yang kita buat
berarti menjalankan file hasil proses kompilasi tersebut.
2.3. Pelaksanaan Percobaa

1.3.1 Fungsi cout (keluaran)

1. Tuliskan program berikut ini :


#include<iostream>
using namespace std;
int main()
{
cout<<'budi\t:selamat pagi adi\n';
cout<<'adi\t:selamat pagi budi\n\n';

cout<<'ali:\t:selamat pagi semuanya!';


return 0;
}

2. Compile-lah program anda sampai berhasil kemudian jalankan, catatlah hasilnya!

Budi : Selamat pagi Adi


Adi : Selamat pagi Budi

Ali : Selamat pagi semuanya!

Process exited normally.


Press any key to continue . . .

.3. Hapuslah semua format “\n” dan \t pada tiap fungsi cout( ), kompilasi dan jalankan
programnya kemudian catatlah hasilnya.

#include<iostream>
using namespace std;
int main()
{
cout<<"budi:selamat pagi Adi";
cout<<"adi:selamat pagi budi";
cout<<"ali::selamat pagi semuanya!";
return 0;
}

4.bandingkan hasil saat belum dihapus, apa fungsi dari format”\n” dan \t pada fungsi cout ( )
tersebut

a.fungsi format “\n” untuk baris baru *(new line)

b. fungsi format “\t” untuk tabulasi horizontal

5. Simpanlah program dengan nama latihan 1.1

6. Buatlah kesimpulan

Dapat disimpulkan bahwa format \n adalah newline yang berfungsi untuk


meletakkan baris baru (ganti baris)dan format \t adalah horizontal tab yang
berfungsi untuk meletakkan tab horizontal.

B. Fungsi cin (masukan)


1. Tuliskan program berikut ini :

2. Compile program sampai berhasil kemudian jalankan, lalu catatlah hasilnya!


3. Tambahkan y sebagai masukan untuk menampilkan sebuah bilangan bulat
4. Compile-lah program anda sampai berhasil kemudian jalankan, catatah hasilnya!
5. simpanlah program dengan nama latihan 1.2
6. . buatlah kesimpulan
2.4 Tugas
1. Buatlah sebuah program untuk menampilkan nama, NPM, dan jurusan?
2. Menghitung tiga buah rata-rata
a. Buatlah alogritma dengan pseudocode
b. Buatlah program dalam bahasa C++
Jawab :
1. Program Tugas 1
#include <iostream>
using namespace std;
int main()
{
cout<<"Nama\t: Miftahulhuda PH\n"<<endl;
cout<<"NIM\t: 1840302067\n"<<endl;
cout<<"Jurusan\t: Teknik Elektro"<<endl;
return 0;
}

Hasilnya

2.a. Algoritma dengan pseudocode


inisialisasikan nilaia, nilaib, nilaic, total, rata
input nilaia
input nilaib
input nilaic
total=nilaia+nilaib+nilaic
rata=total/3
print rata

a. Program
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float nilaia, nilaib, nilaic, rata, total ;
cout<<"Masukkan Bilangan 1 ="<<endl;
cin>>nilaia;
cout<<"Masukkan Bilangan 2 ="<<endl;
cin>>nilaib;
cout<<"Masukkan Bilangan 3 ="<<endl;
cin>>nilaic;
total=nilaia+nilaib+nilaic;
rata=total/3;
cout<<"Jumlah Rata-Rata Ketiga Bilangan ="<<rata<<endl;
return 0;
}
Hasilnya
MODUL II

VARIABEL, TIPE DATA DAN OPERATOR

2.1 Tujuan Praktikum


Tujuan Umum
Mahasiswa dapat memahami tipe data standard an variable
Digunakan dalam bahasa pemrograman.

Tujuan khusus
Mahasiswa mampu:
1. Mendekatkan dan menggunakan variable dalam berbagai tipe data dalam sebuah
program.
2. Memilih tipe data sesuai dengan kegunaan data tersebut.
3. Menulis program untuk menampilkan isi data dari suatu variable

2.2 Dasar Teori


2.2.1 Variabel
Variable adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di
dalam proses program.berbeda dengan konstanta yang nilainya selalu tetap,nilai dari suatu
variable bisa diubah-ubah sesuai kebutuhan.Nama dari suatu variable dapat ditentukan sendiri
oleh pemrograman dengan aturan sebagai berikut:
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf.Bahasa C bersifat case-sensitif artinya huruf besar dan kecil dianggap berbeda.Jadi
antara nim,NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi
3. Tidak boleh mengandung symbol khusus,kecuali garis bawah (underscore). Yang
termasuk symbol khusus yang tidak dip[erbolehkan antara lain $,?,%,#,!,&,*,(,),-,+,=
dsb
4. Panjangnya bebas ,tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variable yang benar :
NIM,a,x,nama_mhs,f3090,f4,nilai,budi.
Contoh penamaan variable yang salah :
%nilai_mahasiswa,80 mahsiswa,rata-rata,ada spasi,penting!

2.2.2 Tipe Data


Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap
instruksi yang akan dilaksanakan oleh computer.Misalnya saja 5 dibagi 2 bisa saja menghasilkan
hasil yang berbeda tergantung tipe datanya.jika 5 dan 2 bertipe integer maka akan menghasilkan
nilai 2,namun jika keduanya bertipe float maka akan menghasilkan nnilai 2.5000000. Pemilihan
tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif
Dalam bahasa C terdapat lima tipe data dasar,yaitu :

No Tipe Ukuran Range (jangkauan) Format Keterangan

data

1 Char 1 byite -128 s/d 127 %c Karakter/string

2 Int 2 byite -1327 s/d 32767 %i,%d Integer/bilangan bulat

3 Float 4 byite -3.4E-48 s/d 3.4E+38 %f Float/bilangan pecahan

4 Double 8 byite -1.7E-308 s/d 1.7E+308 %if Pecahan [resisi ganda

5 void 0 - - Tidak bertipe

2.2.3 Karakter Khusus (Spesial Character)


Pada bahasa C,pada umumnya karakter atau string dapat ditampilkan dengan menuliskan
karakter/string tersebut secara langsung.Namun demikian,terdapat beberapa karakter khusus
yang penulisannya sedikit berbeda. Berikut ini karakter khusus yang dikenal dengan bahasa c
beserta penjelasannya.
Kreteria Keterangan
khusus

\a Untuk bunyi bell(alert)

\b Mundur satu spasi(backspace)

\f Ganti halaman(form feed)

\n Ganti baris baru(new line)

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

\v Tabulasi vertical

\t Tobulasi horizontal

\0 Nilai kosong(null)

\’ Kutip tunggal

\” Kutip ganda

\\ Karakter garis miring(backslash)

2.2.4 Deklarasi
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier)dalam program.identifier
dapatb berupa variable,konstanta dan fungsi.
a. Deklarasi variable
Bentuk umum pendeklerasian suatu variable adalah:
Nama_tipe nama_variabel;
Contoh:
Int x;
Char y,huruf,nim[10];
Char float nilai;
Double beta;
Int array[5][4];
Char *p;
b. Deklarasi Konstanta
Dalam bahasa c konstanta dideklarasikan menggunakan processor#define.
Contohnya:
#define PHI 3,14
#define nim “0111500382”
#define nama”ismail”
c. Deklarasi Fungsi
Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau dipanggil
di manapun di dalam program. Fungsi dalam bahasa c ada yang sudah disediakan sebagai
fungsi pustaka seperti printf(),scan(),getch(). Dan untuk menggunakannya tidak perlu
dideklarisikan.fungsi yang perlu dideklrasikan terlebih dahulu adalah fungsi yang dibuat
oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah : Tipe_fungsi
nama_fungsi(parameter_fungsi);
Contohnya:
Float luas_lingkaran(int jari);
Void atampil();
Int tambah(int x,int y);

2.2.5 Operator
a. Operator penugasan
Operator penugasan (assignment operator) dalam bahasa c berupa tanda sama dengan
(“=”).contoh|
Nilai=80;
A=x*y
Artinya:variable “nilai”diisi dengan 80 dan variable”A” diisi dengan hasil perkalian
antara x dan y.

b. Operator aritmatika
Bahasa c menyediakan lima operator aritmatika,yaitu:
o *:untuk perkaluian
o / ;untuk pembagian
o %:untuk sisa pembagian(modulus)
o + ;untuk pertambahan
o - ;untuk pengurangan
Catatan :operator % digunakan untuk mencari sisa pembagian
Misalnya:
9%2=1
9%3=0
9%5=4
956=3

c. Operator Hubungan (perbandingan)


Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable.Operator hubungan dalam bahasa C :

Operator Arti Contoh

< Kurang dari x<y Apakah kurang dari y

<= Kurang dari sama dengan x<=y Apakah kurang sama dengan y

> Lebih dari x>y Apakah x lebih dari y

>= Lebih dari sama dengan x>=y Apakah x lebih dari sama dengan y

== Sama dengan x=y Apakah x sama dengan y

!= Tidak sama dengan X!=y Apakah x tidak sama dengan y

d. Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand,maka
operator logika digunakan untuk membandingkan logika hasil dari operator operator
hubungan Operator logika ada tiga amacam,yaitu:
o &&:logika AND(dan)
o []:logika OR(atau)
o !:logika NOT(LINGKARAN)
e. Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bnit-bit dari nilai data yang ada di
memori.Operator bitwise dalam bahasa C:
o <<:pergeseramn bit ke kiri
o >>:pergeseran bit ke kanan
o &:Bitwise XOR (exclusive OR)
o I :Bitwise OR
o ~ :Bitwise NOT
f. Operator Unary
Operator Unary merupakan yang hanya membutuhkan satu operand saja. Dalam bahasa cC
terdapat beberapa operator unary, yaitu:
Operator Arti/maksud Letak contoh Equivalen

- Unary minus Sebelum operator A+B+C A+(-B)*C

++ Peningkatan dengan penambahan Sebelum dan sesudah A++ A=A+1


nilai

-- Penurunan dengan pengurangan Sebelum dan sesudah A-- A=A-1


nilai

Sizeof ukuran dari operand dalam byite Sebelum Sizeof(I) -

! Unary NOT Sebelum !A -

~ Bitwise NOT Sebelum ~A -

& Menghasilkan alamat memori Sebelum &A -


operand

* Menghasilkan nilai dari pointer Sebelum *A -


2.3 Plaksanaan Pratikum

1. Tuliskan program 2.1 berikut ini pada editor Dev-c++.

#include <stdio.h>

int main()

char nim[10];

char nama[30];

int nilai;

printf(“NIM : %s”, nim);

printf(“NAMA: %s”, nama);

printf(“NILAIi : %i”, nilai);

return 0;

2. Simpan dengan nama program2.1

3. jalankann program2.1 di atas dan tuliskan apa yang tercetak di layar.


4. Pada program2.1, variaber yang dideklarasikan belum diisi dengan nilai tertentu(belum diinisialisasi).
Lakukan perubahan program 2.1 dengan menambahkan perintah untuk mengisi variabal nim, nama dan
nilai seperti pada program 2.2 berikut ini.

#include <stdio.h>

int main()

char nim (10);

char nama(30);

int nilai;

nim : “1840302061”;

nilai = 85;

printf(“NIM : %s”, nim);

printf(“NAMA : %s”, nama);

printf(“NILAI : %i”, nilai);


return 0;

5. Lakukan kompilasi program 2.2 di atas dan perhatikan hasilnya. Apakah terjadi eror? Apa eror yang
akan ditampilkan? Tuliskan eror yang di tampilkan dan baris berapa terjadi eror!

Eror yang ditampilkan:

Eror terjadi pada baris ke:

6. Sekarang kita perbaiki kesalahan pada program 2.2 dengan mengisi nim dan nama menggunakan
fungsih strpy(). Penggunaan fungsih strcpy() harus menyertakan header fungsih <string.h>. ubahla
program 2.2 menjadi program 2.3 berikut ini.

Program2.3

1. #include <stdio.h>
2. #include <string.h>
3. int main()
4. {
5. char nim[10];
6. char nama[30];
7. int nilai;
8. strcpy(nim, “1840302065”);
9. strcpy(nama, “Ryan alfian”);
10. nilai = 85;
11. printf(“NIM : %s”, nim);
12. printf(“NAMA : %s”, nama);
13. printf(“NILAI : %i”, nilai);
14. return0;
15. }

7 Jalankan program 2.3 dan tuliskan apa yang tercetak di layar


8 Ubahla program 2.3 menjadi program 2.4 berikut ini.

#include <stdio.h>

#include <string.h>

int main()

char nim[10];

char nama[30];

int nilai;

strcpy(nim, “1840302065”);

strcpy(nama, “ Ryan alfian”);

nilai = 85;

printf(“NIM : %s”, nim);

printf(“\nNAMA : %s”, nama);

printf(“\nNILAi : %i”, nilai);

return0;

9. Jalankan program 2.4 dan tulis apa yang tercetak dilayar.


10. Selanjutnya kita akan ubah program 2.4 menjadi program 2.5 dengan menambahkan nilai uts, uas,
tugas dan kehadiran serta menghitung nilai akhir yang diperoleh mawasiswa. Nilai akhir yang diperoleh
dengan menggunakan rumus sebagai berikut:

NILAI AKHIR = 10% kehadiran +20% tugas + 30% uts +40% uas

Kita akan mendeklarasikan variabel kehadiran ,tugas, uts dan uas bertipe intiger dan variabel nilai_akhir
bertipe float (pecahan).

Program2.5

#include <stdio.h>

#include <string.h>

int main()

char nim[10];

char nama[30];

int kehadiran, tugas, uts, uas;

float nilai_akhir

strcpy(nim, “1840302065”);

strcpy(nama, “Ryan alfian”);


kehadiran= 100;

tuhas = 90;

uts = 83;

uas = 86;

nilai_akhir = (0.1 * kehadiran)+(o.2 * tugas)+(0.3 * uts)+(0.4 * uas);

printf(“NIM \t: %s”, nim);

printf(“\nNAMA \t : %s”, nama);

printf(“\nKEHADIRAN \t: %i”, kehadiran)

printf(“\nTUGAS \t: %i”, tugas) ;

printf(“\nUTS \t: %i”, uts);

printf(“\nUAS \t: %i”, uas);

printf(“\nNILAi AKHIR \t : %.2f”, nilai_akhir);

return0;

11. Jalankan program 2.5 dan tulis apa yamg tercetak


12. Untuk lebih mempermudah pembaca program (dan untuk keperluan belajar), kita dapat
menambahkan komentar-komentar program. Ubah program 2.5 menjadi program 2.6 berikut ini.

#include <stdio.h>

#include <string.h>

int main()

char nim[10]

char nama[30]

int kehadiran, tugas ,uas;

float nilai_akhir;

strcpy(nim,"1840302065");

strcpy(nama," Ryan alfian ");

kehadiran = 100; //nilai kehadiran

tugas = 90; //nilai tugas

uts = 83; //nilai uts

uas =86; //nilai uas

* perhitungan nilai akhir

sesuai peraturan di UBT

*/

nilai_akhir = (0.1 * kehadiran) +(0.2 * tugas)+(o.3 * uts) + (0.4 * uas);

//tampilkan data

printf("NIM \t: %s", nim);


printf("\nNAMA \t: %s", nama)

printf("\nKEHADIRAN \t: %i", kehadiran);

printf("\nTUGAS \t: %i", tugas);

printf("\nUTS \t: %i", uts);

printf("\nUAS \t: %i", uas);

printf("\nNILAI AKHIR \t: %.2f", nilai_akhir);

return o;

13. Jalankan program 2.6 dan liat hasilnya. Bandingkan dengan program 2.5
2.4. Latihan

Tuliskan dan jalankan beberapa program berikut ini dan tuliskan hasilnya di tempat yang sudah
di sediakan.

Program2.7

#include <stdio.h>

int main()

{
int A, B;

A = 5;

printf("A = %I",A);

printf("\nA = %",A++);

printf("\nA = %i",A);

B + 10;

printf("\n\nB = %i",B);

printf("\nB = %i", ++B);

printf("\nB = %i",B);

return 0;

Hasil program 2.7

Program 2.8 lingkaran


#include <stdio.h>

int main()

int jari;

float luas, keliling;

jari = 7;

luas = 3.14 * jari * jari;

keliling = 2 * 3.14 * jari;

printf("LUAS dan KELILING LINGKARAN");

printf("\njari-jari = %i", jari);

printf("\nLUAS = %.3f", luas);

printf("\nKELILING = %.2f",keliling);

return 0;

Hasil program 2.8

2.5. Tugas mandiri


1. Diketahui sebuah segitiga memiliki panjang alas = 8 cm dan tinggi = 5 cm. Buatlah algoritma dan
program dalam Dev C++ untuk menghitung dan menampilkan luas dari segitiga tersebut!

2. Diketahiu sebuag segitiga siku-siku dengan panjang sisi alas 4 cm dan sisi tinggi 5 cm. dengan
menggunakan rumus Phitagoras, buatlah algoritma dan program Dev C++ untuk menghitung sisi
miring segitiga tersebut dan menampilkannya di layar!
MODUL III
PERINTAH MASUKAN DAN KELUARAN

3.3 Plaksanaan Praktikum


1. Tuliskan program 3.1 berikut ini pada editor Dev-C++.

#include<stdio.h>
int main()
{
char nim[30],nama[65];
printf("INPUT DATA MAHASISWA\n");
printf("1840302065 : ");scanf("%s",nim);
printf("RYAN ALFIAN : ");scanf("%s",nama);
//tampilkan
printf("\n1840302065 :%s",nim);
printf("\nRYAN ALFIAN:%s",nama);
return 0;
}
2. Jalaliskan program 3.1 diatas dan diinputkan NIM dan NAMA anda masing-masing. Tuliskan
Apa yang trcetak di layar! Apakah ada hasil yang “tidak sesuai”?

3. Sekarang ubah program 3.1 menjadi program 3.2 berikut ini. Fungsi scanf() untuk
Menginput NAMA diganti dengan fungsi gets(.)
#include<stdio.h>
int main()
{
char nim[15],nama[35];
printf("INPUT DATA MAHASISWA\n");
printf("1840302065 : ");scanf("%s",nim);
printf("RYAN ALFIAN : "); gets(nama);
//tampilkan
printf("\n1840302065 :%s",nim);
printf("\n RYAN ALFIAN:%s",nama);
return 0;
}

4. Lakukan kompilasi dan jalankan program 3.2 lalu inputkan kembali NIM dan NAMA anda
Apa yang terjadi? Apakah berhasil?

5. Sekarang tambahkan printah fflush(stdin); setelah printah untuk menginput . NIM


Perhatikan program 3.3 berikut ini.
#include<stdio.h>
int main()
{
char nim[15],nama[35];
printf("INPUT DATA MAHASISWA\n");
printf("1840302065 : ");scanf("%s",&nim);
fflush(stdin);
printf("RYAN ALFIAN : "); gets(nama);
//tampilkan
printf("\n1840302065 :%s",nim);
printf("\nRYAN ALFIAN :%s",nama);
return 0;
}

6. Jalankan program 3.3 diatas dan inputkan NIM dan NAMA anda masing-masing. Tuliskan apa
yang tercetak di layar! Printah fflush(stdin) berfungsi menghapus buffer I/O di dalam memori.
Fungsi dapat ditambahkan setelah perintah inputan.

7. Selanjutnya ditambahkan variable “nilai” pada program 3.3 untuk menginput dan
menyimpan nilai mahasiswa. Variable “nilai” dideklarasikan sebagai variabel yang
bertipe float (pecahan). Perhatikan program 3.4 dibawah.
#include<stdio.h>
int main()
{
char nim[15],nama[35];
float nilai;
printf("INPUT DATA MAHASISWA\n");
printf("1840302065 : ");scanf("%s",nim);
fflush(stdin);
printf("RYAN ALFIAN : "); gets(nama);
printf("88 :");scanf("%f,& nilai");
//tampilkan
printf("\n1840302065 :%s",nim);
printf("\nRYAN ALFIAN :%s",nama);
printf("\n88 :%f",nilai);
printf("\n88(PEMBULATAN) :%.2f,nilai");
return 0;
}

8. Jalankan program 3.4 dan pada inputan niali, masukan beberapa nilai berikut ini:80,
78.253,87.243,90.55. Tuliskan hasil program!
#include<stdio.h>
int main()
{
char nim[15],nama[35];
float nilai;
printf("INPUT DATA MAHASISWA\n");
printf("1840302065 : ");scanf("%s",nim);
fflush(stdin);
printf("RYAN ALFIAN: "); gets(nama);
printf("80 :");scanf("%f,& nilai");
printf("78.253 :");scanf("%f,& nilai");
printf("87.243 :");scanf("%f,& niali");
printf("90.55 :");scanf("%f,& nialai");
//tampilkan
printf("\n1840302067 :%s",nim);
printf("\nRYAN ALFIAN:%s",nama);
printf("\n80 :%f",nilai);
printf("\n78.253 :%f",nilai);
printf("\n87.243 :%f",nilai);
printf("\n90.55 :%f",nilai);
printf("\n80(PEMBULATAN) :%.2f,nilai");
return 0;
}
3.4 LATIHAN
1. Tuliskan dan jelaskan beberapa program berikut ini dan tuliskan hasilnya ditempat yang sudah
disediakan.
Latihan3.1 Lingkaran_in.cpp
#include<stdio.h>
int main()
{
int jari;
float luas, keliling;
printf("input jari-jari lingkaran");
scanf("%i",&jari );
luas =3.14* jari* jari;
keliling =2*3.14*jari;
printf("LUAS dan KELILING LINGKARAN");
printf("\njari-jari=%i",jari);
printf("\n3.14=%.3f",luas);
printf("\n2 = %.2f",keliling);
return 0;
}
Hasil Latihan3.1

Latihan3.2 volumebola.cpp

#include<stdio.h>

#define PHI 3.14

int main()

float jari;

float volume;

printf("PROGRAM MENGHITUNG VOLUME BOLA\n\n");

printf("input jari-jari bola(cm):");

scanf("%f",&jari );

//hitung volume

volume =4/3*PHI*jari*jari*jari;

printf("\nVolume bola denga jari-jari %.2fcm adalah %.3f cm3.",jari,volume);

return 0;

Hasil latihan3.2
3.5 TUGAS MANDIRI
Kerjakan soal-soal berikut ini:
1. Buatlah sebuah program Dev C++ nilai R1 dan R2(dalam ohm). Lalu hutung dan tampilkan
Untuk resistor hubungan pararel tersebut!
2. Buatlah sebuah program Dev C++ untuk menginput sebuah nilai bilangan bulat yang
Menyatakan suhu dalam celcius. Selanjutnya hitung dan tampilkan nilai sudut dalam
Derajat Fahrenheit dan reamur !
3. Buatlah sebuah program Dev C++ untuk menginput sisi alas dan sisi tinggi sebuah segitiga
Siku-siku(dalam cm). Dengan menggunakan rumus Phitagoras, buatlah sebuah program
Dev C++ untuk menghitung sisi miring segitiga tersebut dan menampilkannya dilayar!

1. Buatlah sebuah program Dev C++ nilai R1 dan R2(dalam ohm). Lalu hutung dan
tampilkan Untuk resistor hubungan pararel tersebut!
#include<stdio.h>
int main()

{
float r1, r2, rp;
printf("MENGHITUNG RESISTOR DENGAN RANGKAIAN PARAREL");
printf("nNilai Resistor 1= 5");
scanf("%f", &r1);
printf("nNilai Resistor 2= 10");
scanf("%f" ,&r2);
rp = (1/r1)+(1/r2);
printf("Hasil Resistor Hubung Pararel = %.2f ohm",rp);
return 0;
}

Hasil.1

2. Buatlah sebuah program Dev C++ untuk menginput sebuah nilai bilangan bulat yang
Menyatakan suhu dalam celcius. Selanjutnya hitung dan tampilkan nilai sudut dalam
Derajat Fahrenheit dan reamur !
#include<stdio.h>
int main()

{
int c;
float r, f;
printf("\tKonversi Suhu");
printf("\nMasukan Nilai Suhu celcius =22 ");
scanf("%i", &c);
r =4*c/5;
f =9*c/5 + 22;
printf("\nSuhu Reamur= %.2f R",r);
printf("\nSuhu Farenheit= %.2f",f);
return 0;
}
Hasil.2

3 Buatlah sebuah program Dev C++ untuk menginput sisi alas dan sisi tinggi sebuah segitigaSiku-
siku(dalam cm). Dengan menggunakan rumus Phitagoras, buatlah sebuah program Dev C++
untuk menghitung sisi miring segitiga tersebut dan menampilkannya dilayar!
#include<stdio.h>
#include<math.h>
int main()
{
int a, t;
float Miring;
printf("\tRUMUS PHYTAGORAS SEGITIGA SIKU-SIKU");
printf("\n======================================================");
printf("\nMasukan Nilai Alas = 98");
scanf("%i", &a);
printf("\nMasukan Nilai Tinggi = 49");
scanf("%i", &t);
Miring = sqrt(pow(a,2)+pow(t,2));
printf("Sisi Miring Segitiga = %.2f",Miring);
return 0;
}
Hasil.3
MODUL IV
STRUKTUR KONDISI IF DAN IF...ELSE
4.1. Tujuan Praktikum
Tujuan Umum
Mahasiswa dapat memahami:
1. Bentuk umum struktur kondisi IF dan IF…ELSE
2. Penggunaan struktur kondisi IF dan IF…ELSE pada sebuah program.
Tujuan Khusus
Mahasiswa mampu:
1. Menentukan nilai TRUE atau FALSE suatu kondisi yang ditulis dalam bermacam-macam
variasi penulisan kondisi pada statement if.
2. Mengenal dan menggunakan bermacam-macam operator relational dalam program.
3. Dapat memilih statement if yang menggunakan else (if-then-else) atau statement if yang tidak
menggunakan else (if - then) pada sebuah program
4. Menulis program untuk alur yang dinyatakan dalam bentuk Flowchart atau pseudocode.

4.2. Dasar Teori


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

4.2.1. Struktur Kondisi IF


Struktur kondisi IF dibentuk dari pernyataan IF dan digunakan untuk menyeleksi suatu kondisi tunggal.
Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok IF akan
diproses dan dikerjakan.
Bentuk umum struktur kondisi IF adalah :

if (kondisi)
{
perintah-jika-benar;
}
Catatan:
o Kondisi dalam struktur IF dapat berupa kondisi tunggal maupun kondisi gabungan (jamak) yang
bernilai TRUE / FALSE.
o Penggunaan tanda kurawal { dan } bersifat WAJIB jika blok perintah terdiri dari dua perintah
atau lebih. Tanda kurawal dapat dihilangkan jika blok perintah hanya terdiri dari satu perintah.

4.2.2. Struktur Kondisi IF…ELSE


Dalam struktur kondisi IF…ELSE minimal terdapat dua blok perintah. Jika kondisi yang diperiksa
bernilai benar atau terpenuhi maka blok perintah pertama yang dilaksanakan dan jika kondisi yang
diperiksa bernilai salah maka blok perintah yang kedua yang dilaksanakan.
Bentuk umumnya adalah sebagai berikut :

if (kondisi) {
perintah-jika-benar;
} else {
perintah-jika-salah;
}
Catatan:
o Kondisi dalam struktur IF…ELSE dapat berupa kondisi tunggal maupun kondisi gabungan
(jamak) yang bernilai TRUE / FALSE.
o Penggunaan tanda kurawal { dan } bersifat WAJIB jika blok perintah terdiri dari dua perintah
atau lebih. Tanda kurawal dapat dihilangkan jika blok perintah hanya terdiri dari satu perintah.

4.3. Pelaksanaan Praktikum


1. Tuliskan Program 4.1 berikut ini pada editor Dev-C++.
Program 4.1 if_nilai.cppProgram4.1

#include <stdio.h>
int main()
{
int nilai;
printf("Input nilai matakuliah: ");
scanf("%i", &nilai);
if (nilai >= 60) {
printf("\LULUS");
}
printf("\n\nProgram Selesai.");
return 0 ;
}
2. Jalankan Program 4.1 di atas dan inputkan beberapa nilai berikut ini!. Catat
hasilnya!

3. Ubahlah program sebelumnya sehingga menjadi program 4.2 berikut ini!


Nilai Keluaran Nilai Keluaran

75 LULUS 60 LULUS

85 LULUS 64 LULUS

50 Tidak Ada Output 90 LULUS

40 Tidak Ada Output 30 Tidak Ada Output

#include<stdio.h>
int main()
{
int nilai;
printf("Input Nilai Matakuliah:");
scanf("%i", &nilai);
if(nilai>=60)
{
printf("\nLULUS");
}else{
printf("\nGAGAL");
}
printf("\n\nProgram Selesai.");
return 0;
}

START

Scanft
nilai

Nilai
= 60?

Gagal Lulus

4. Jalankan program 4.2 di atas dan inputkan beberapa nilai berikut ini!. Catat hasilnya!

END

Nilai Keluaran Nilai Keluaran


5. tanda
kurawal 75 LULUS 60 LULUS

{ dan } 85 LULUS 64 LULUS


pada 50 GAGAL 90 LULUS

40 GAGAL 30 GAGAL
baris 7,9 dan 11. Jalankan program. Inputkan kembali beberapa nilai berikut ini dan catat
hasil/keluarannya!

Nilai Keluaran Nilai Keluaran

6. 75 LULUS 60 LULUS

Jalankan 85 LULUS 64 LULUS

50 GAGAL 90 LULUS

40 GAGAL 30 START GAGAL

program 4.3 berikut ini merupakan program berbeda dari program sebelumnya namun memiliki
Scanft
hasil yang sama. Tuliskan, kompilasi dan jalankan! nilai
#include <stdio.h>
#include <string.h>
main()
Nilai
{ =60?

int nilai;
char X[10];
X= Gagal X= Lulus
printf("\nInputkan sebuah nilai : ");
scanf("%i", &nilai);
if (nilai >=60)
Printf “X”
strcpy(X, "LULUS");
else
strcpy(X, "GAGAL"); END

printf("\n\n %s", X);


printf("\nProgram Selesai.");
return 0;
}

7. Jalankan program 4.3 di atas dan inputkan beberapa nilai berikut ini. Catat hasilnya!
Nilai Keluaran Nilai Keluaran
8. Ubahlah
75 LULUS 60 LULUS
program
85 LULUS 64 LULUS 4.3 di atas
50 GAGAL 90 LULUS menjadi

40 GAGAL 30 GAGAL program


4.4
berikut ini. Kompilasi dan jalankan program 4.4 dan inputkan beberapa nilai. Apakah hasilnya
sama?

#include <stdio.h> START

#include <string.h>
main() X= Gagal

{
int nilai; Scanft
nilai
char X[10];
strcpy(X, "GAGAL");
printf("\n Inputkan sebuah nilai : ");
scanf("%i", &nilai); Nilai
=60? X= Lulus
if (nilai >=60)
strcpy(X, "LULUS");
printf("\n %s", X);
printf("\nProgram Selesai."); Printf “X”
return 0;
}
END
Hasil:
Hasil ketika dicoba satu-satu sama dengan keluaran program 4.3.

9. Tuliskan Program 4.5 berikut ini.


Program 4.5 ifelse_grade.cpp
#include <stdio.h>
int main()
{
int nilai;
printf("Input nilai matakuliah: ");
scanf("%i", &nilai);
if (nilai >= 85 && nilai <= 100) {
printf("\nLULUS");
printf("\nGRADE A");
}
if (nilai >= 75 && nilai < 85) {
printf("\nLULUS");
printf("\nGRADE B");
}
if (nilai >= 60 && nilai < 75) {
printf("\nLULUS");
printf("\nGRADE C");
}
if (nilai >= 45 && nilai < 60) {
printf("\nGAGAL");
printf("\nGRADE D");
}
if (nilai >= 0 && nilai < 45) {
printf("\nGAGAL");
printf("\nGRADE E");
}
if (nilai < 0 || nilai > 100) {
printf("\nInput nilai antara 0-100");
}
return 0;
}

10. Jalankan program 4.5 di atas dan inputkan beberapa nilai berikut ini!. Catat hasilnya!
Nilai Keluaran Nilai Keluaran

LULUS
LULUS
GRADE B GRADE C
75 60
LULUS LULUS
GRADE D
GRADE C

LULUS
GRADE A LULUS
85 64
LULUS GRADE C
GRADE B

GAGAL LULUS
50 90
GRADE D GRADE A

GAGAL GAGAL
40 30
GRADE E GRADE E

11. Hapus tanda kurwal { dan } pada seluruh blok IF. Kompilasi dan jalankan program 4.5 inputkan
kembali beberapa nilai berikut ini dan catat hasil/keluarannya!
Nilai Keluaran Nilai Keluaran

LULUS
GRADE A GRADE A
LULUS GRADE B
GRADE B LULUS
75 LULUS 60 GRADE C
GRADE C GAGAL
GRADE D GRADE D
GRADE E
GRADE E
LULUS GRADE A
GRADE A GRADE B
LULUS LULUS
GRADE B GRADE C
GRADE C GRADE D
85 64
GRADE D
GRADE E
GRADE E

GRADE A LULUS
GRADE B GRADE A
GRADE C GRADE B
50 GAGAL 90 GRADE C
GRADE D GRADE D

GRADE E GRADE E

GRADE A GRADE A
GRADE B GRADE B
GRADE C GRADE C
40 GRADE D 30 GRADE D
GAGAL GAGAL

GRADE E GRADE E

12. Catatlah beberapa kesimpulan yang anda peroleh dari beberapa langkah praktikum di atas!
Kesimpulan yang didapatkan berdasarkan hasil praktikum di atas,
yaitu:
o Fungsi if untuk menampilkan suatu output bila pernyataan benar.
o Fungsi else menampilkan suatu bila pernyataan if salah.
1.3.1 Latihan
1 Tuliskan dan jelaskan program berikut ini dan tuliskan hasilnya di tempat yang sudah
disediakan.

Latihan 4.1 terbesar_cara2.cpp


#include <stdio.h>
int main ()
{
int A, B, max;
printf("PROGRAM NILAI TERBESAR 2 BILANGAN\n\n");
printf("Input Bilangan 1 :");
scanf("%i", &A);
printf("Input Bilangan 2 :");
scanf("%i", &B);
if(A>B){
max = A;
}else{
max = B;
}
printf("\nBilangan Terbesar =%i", max);
return 0;
}

Hasil latihan4.1
2 Buatlah program bahasa Dev C++ berdasarkan flowchart / algoritma berikut ini!

Diagram Alir 1 Tuliskan program flowchart


#include <stdio.h>
#include <string.h>

START main ()
{
int N;

Deklarasi printf("\nmasukkan nilai N=");


N scanf("%i",&N);
if(N%2==1){
printf("\n\nganjil");
Input N }else{
printf("\nprogram selesai");
}
return 0;
}

N Cetak
%2= Ganjil
=1

END
Diagram Alir 2 Tuliskan Program Flowchart

#include <stdio.h>
#include <string.h>
main ()
START
{
int N;
printf("\nmasukkan nilai N=");
Deklarasi N scanf("%i",&N);
if(N%2 == 0){
printf("\nGENAP");
Input N } else {
printf("\nGANJIL");
}
printf("\n\nProgram Selesai.");
N return 0;
%2==
0 }

Printf Printf
Ganjil Genap

END

1.3.2 Tugas
1. Perhatikan flowchart pada gambar 1. Buatlah sebuah program Dev C++ berdasarkan
flowchart tersebut! Selanjutnya jalankan dan masukkan beberapa bilangan berikut ini!
a. 30
b. 50
c. 65
2. Buatlah diagram alir dan program dengan Dev C++ untuk menghitung hambatan total dari 2
buah hambatan yaitu R1 dan R2. Program memilki plihan untuk menentukan apakah
hambatan-hambatan disusun secara seri atau paralel. Gunakan pernyataan if atau if-else
Jawab
1. Program
#include <stdio.h>
#include <string.h>
main ()
{
int N;
printf("\nmasukkan nilai N=");
scanf("%i",&N);
if(N>50){
N=N-25;
printf("\nN= %d", N);
} else {
N=N+10;
printf("\nN= %d", N);
}
printf("\n\nProgram Selesai.");
return 0;
}
Hasil
A.90

B.50

C.35
1. Diagram Alir

START

R1,R2,R,I

Tidak
PILIH RP=( R1*R2)/
AN R1+R2
NO 1 ?
Ya

OUTPUT
RS=R1+R2
RP

OUTPUT
RS

END

Program
#include <stdio.h>
#include <string.h>
main ()
{
int R1,R2,N,Rp,Rs;
printf("\nmasukkan nilai R1=");
scanf("%i",&R1);
printf("\nmasukkan nilai R2=");
scanf("%i",&R2);
printf("\nmasukkan pilihan anda=");
scanf("%i",&N);
if(N==1){
Rp=(R1*R2)/(R1+R2);
printf("\nRp= %d", Rp);
} else {
Rs=R1+R2;
printf("\nRs= %d", Rs);
}
printf("\n\nProgram Selesai.");
return 0;
}

MODUL V
STRUKTUR KONDISI IF BERTINGKAT DAN SWITCH …CASE
5.1. Tujuan Praktikum

Tujuan Umum

Mahasiswa dapat memahami:

1. Bentuk umum struktur kondisi IF bertingkat dan SWITCH…CASE.

2. Penggunaan struktur kondisi IF bertingkat dan SWITCH…CASE pada sebuah program.

Tujuan Khusus

Mahasiswa mampu:

1. Menuliskan program yang menggunakan IF bertingkat.

2. Menuliskan program yang menggunakan struktur SWITCH…CASE.

3. Menulis program untuk alur yang dinyatakan dalam bentuk Flowchart atau pseudocode.

5.2. Dasar Teori

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

5.2.1. Struktur Kondisi IF Bertingkat

IF Bertingkat sering disebut juga dengan IF Bersarang atau Nested IF. Pada dasarnya IF Bertingkat
merupakan struktur IF atau IF…ELSE. Perhatikan kembali flowchart struktur IF dan IF…ELSE seperti
digambarkan sebagai berikut:
Gambar 5.1. struktur IF bertingkat

Dari ilustrasi struktur diatas, S1 dan S2 adalah satu atau sekelompok statement. Di dalam kelompok S1
dan S2 mungkin terdapat statement IF sehingga terjadi IF secara berjenjang atau secara tersarang yang
biasa disebut Nested IF (nest = sarang).

Contoh Struktur IF Bertingkat / IF Bersarang

If (cond1)
{ if (cond2)
{---
----- S1
-----}
Else {------
------ S2
--------}
Else {-----
----- S3
----- }

Gambar 5.2. Contoh Struktur if bertingkat/bersarang

5.2.2. Struktur SWITCH…CASE


Struktur kondisi SWITCH...CASE digunakan untuk penyeleksian kondisi dengan kemungkinan yang
terjadi cukup banyak. Struktur ini akan memeriksa isi dari ‘variabel’ yang berada di dalam SWITCH dan
melaksanakan salah satu dari beberapa pernyataan ‘CASE’. Selanjutnya proses diteruskan hingga
ditemukan pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka
proses akan diteruskan kepada pernyataan yang ada di bawah ‘default’.

Bentuk umum struktur SWITCH…CASE adalah sebagai berikut :

switch(variabel)
{
case 1 : pernyataan-1; break;
case 2 : pernyataan-2; break;
.....
.....
case n : pernyataan-n; break;
default : pernyataan-m;
}

Catatan:

o Variabel ‘variabel’ yang berada di dalam SWITCH harus bertipe INT atau CHAR.

o Nilai pada CASE harus menyesuaikan tipe data dari ‘variabel’ dan harus bernilai tunggal.

o Kompiler akan memeriksa kebenaran kondisi dari mulai case ke-1 hingga ke-n.

5.3 Plaksanaan Praktikum

1. Perhatikan flowchart berikut ini dan tuliskan program 5.1 berikut ini pada editornDev-C++
Program 5.1

#include <stdio.h>
main()
{
int A, B, C;
printf("Input 3 buah bilangan\n");
printf("Bilangan 1: "); scanf("%i", &A);
printf("Bilangan 2: "); scanf("%i", &B);
printf("Bilangan 3: "); scanf("%i", &C);
printf("\nBilangan terbesar: ");
if (A> B) {
if (A> C) {
printf("%i", A);
}else {
printf("%i", C);
}
} else {
if (B> C) {
printf("%i", B);
}else {
printf("%i", C);
}
}
return 0;
}

2. Jalankan Program 5.1 di atas dan inputkan beberapa kombinasi nilai A, B dan C berikut inil. Catat
hasilnya!

A B C KELUARAN A B C KELUARAN
3 7 9 9 9 7 3 9
9 3 7 9 3 9 7 9
7 9 3 9 7 3 9 9
Untuk memeriksa kebenaran dari program mencari nilai terbesar,
semua kombinasi nilai A, B, dan C diatas harus menghasilkan nilai yang benar.

3. Selanjutnya, tuliskan dan jalankan Program 5.2 berikut ini dan inputkan beberapa kombinasi nilai
A, B, dan C seperti pda table. Catat hasilnya!
Program 5.2.
#include <stdio.h>
main()
{
int A, B, C, max;
printf("Input 3 buahbilangan\n");
printf("Bilangan 1: "); scanf("%i", &A);
printf("Bilangan 2: "); scanf("%i", &B);
printf("Bilangan 3: "); scanf("%i", &C);
max = 0;
printf("\nBilanganterbesar: ");
if (A > max) {
max = A;
}
if (B > max) {
max = B;
max = B;
}
if (C > max) {
max = C;
}
printf("%i", max);
return 0;
}

Ujicoba program
A B C KELUARAN

3 7 9 9

9 3 7 9

7 9 3 9

A B C KELUARAN

9 7 3 9

3 9 7 9

7 3 9 9
Apakah anda menemukan kelemahan/kekurangan dari program di atas? Tuliskan jika
ada.
Pada Program 5.1 dan Program 5.2 di modul tidak ada “using namespace std;”. Sehingga
program tidak bisa berjalan.

Sekarang tuliskan dan jalankan Program 5.3 berikut ini dan inputkan beberapa kombinasi nilai A,
B, dan C seperti pada table sebelumnya. Catat hasilnya!
4. Program 5.3
#include <stdio.h>
main()
{
int A, max;
printf("Input 3 buahbilangan\n");
printf("Bilangan 1: "); scanf("%i", &A);
max = A;
printf("Bilangan 2: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("Bilangan 3: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("\nBilanganterbesar: %i", max);
return 0;
}
Uji Coba Program
A B C KELUARAN

3 7 9 9

9 3 7 9

7 9 3 9
A B C KELUARAN

9 7 3 9

3 9 7 9

7 3 9 9

Apakah anda menemukan kelemahan/kekurangan dari program di atas? Tuliskan jika


ada.

Pada Program 5.3 di modul tidak ada “using namespace std;”. Sehingga program tidak
bisa berjalan.

5. Apakah masih ada alternative penyelesaian lain, untuk mencari nilai terbesar? Yakinlah. Selalu
ada cara yang lain. Lengkapi flowchart dibawah ini dan buatlah program Bahasa C berdasarkan
flowchart tersebut. Ujilah dengan sejumlah nilai seperti langkah sebelumnya.

Tuliskan program yang anda buat!


#include<stdio.h>
using namespace std;
main()
{
int A,max;
printf("Input 3 buah bilangan\n");
printf("Bilangan 1:");scanf("%i",&A);
max=A;
printf("Bilangan 2:");scanf("%i",&A);
if (A>max){
max=A;
}
printf("Bilangan 3:");scanf("%i",&A);
if (A>max){
max=A;
}
printf("\nBilangan terbesar :%i",max);
return 0;
}
6. Sekarang kita belajar struktur SWITCH…CASE. Tuliskan dan jalankan program 5.4 berikut ini dan
inputkan beberapa kombinasi nilai grade dan sks seperti pada table. Catat hasilnya!
Program 5.4. Angka Mutu
#include <stdio.h>
main()
{
char grade;
int sks;
int angka_mutu = 0;
printf("Program HitungAngkaMutu");
printf("\nInput Grade (A, B, C, D, E) : ");
grade = getchar();
printf("Input SKS : ");
scanf("%i", &sks);
switch(grade) {
case 'A' :angka_mutu = 4 * sks; break;
case 'B' :angka_mutu = 3 * sks; break;
case 'C' :angka_mutu = 2 * sks; break;
case 'D' :angka_mutu = 1 * sks; break;
case 'E' :angka_mutu = 0 * sks; break;
default :angka_mutu = 0;
}
printf("\nGrade : %c", grade);
printf("\nSKS : %i", sks);
printf("\nAngkaMutu : %i", angka_mutu);
return 0;
}
Uji Coba Program
Grade SKS KELUARAN

A 3 12

B 2 6

C 3 6

Grade SKS KELUARAN

B 2 0

- 3 0

X 2 0

5.3.1 Latihan
1. Buatlah program bahasa C++ berdasarkan flowchart / algoritma berikut ini!
Tulis program dari Flowchart di atas!
#include<stdio.h>
using namespace std;
main()
{
int A,B,C;
printf("Input 3 buah bilangan\n");
printf("Bilangan 1:");scanf("%i",&A);
printf("Bilangan 2:");scanf("%i",&B);
printf("Bilangan 3:");scanf("%i",&C);
if((A>B)&&(B>C))
{
printf("NILAI TERBESAR :%i",A); }
if ((B>A)&&(B>C))
{
printf("NILAI TERBESAR :%i",B); }
if ((C>A)&&(C>B))
{
printf("NILAI TERBESAR :%i",C); }
return 0;
}
5.3.2 Tugas Mandiri
1. Buatlah program dalam bahasa C untuk menyelesaikan masalah berikut ini:
Program akan menerima masukan berupa kode, jenis dan harga, dengan jenis “A”, “B”, dan
“C”. Untuk setiap jenis, masing-masing akan diberikan diskon sebesar 10% untuk A, 15%
untuk B, dan 20% untuk C. Program akan menghitung berapa harga setelah di diskon.
Contoh masukan:
Kode = 10
Jenis =B
Harga = 10000
Contoh keluaran :
Jenis barang B berdasarkan diskon 15%, harga setelah didiskon= 8500
2. Tuliskan program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir.
Lama parkiri dihitung dari setelah jam masuk dan jam keluar diinput. Biaya parkir 2 jam
pertama 2000, perjam berikutnya 500. Contoh keluaran
Jam Jam Lama Tampilan

Masuk Keluar

10 11 1 Biaya = 2000

10 14 4 Baya = 3000

Jawab:
1. Program
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
main()
{
int code,harga,diskon;
float harga_akhir;

cout<<"CODE"<<endl;
cout<<"10"<<endl;
cout<<"20"<<endl;
cout<<"30"<<endl;
cout<<" "<<endl;

cout<<"MASUKKAN KODE :";cin>>code;

if(code==10){

cout<<"JENIS : A"<<endl;
cout<<"HARGA :";cin>>harga;
cout<<" "<<endl;
diskon=harga*10/100;
cout<<"Mendapatkan Diskon 10 %"<<endl;
cout<<" "<<endl;
cout <<"HARGA AKHIR\t:"<<(harga-diskon)<<" rupiah"<<endl;}
if(code==20){

cout<<"JENIS : B"<<endl;
cout<<"HARGA :";cin>>harga;
cout<<" "<<endl;
diskon=harga*15/100;
cout<<"Mendapatkan Diskon 15 %"<<endl;
cout<<" "<<endl;
cout <<"HARGA AKHIR\t:"<<(harga-diskon)<<" rupiah"<<endl;
}
if(code==30){

cout<<"JENIS : C"<<endl;
cout<<"HARGA :";cin>>harga;
cout<<" "<<endl;
diskon=harga*20/100;
cout<<"Mendapatkan Diskon 20 %"<<endl;
cout<<" "<<endl;
cout <<"HARGA AKHIR\t:"<<(harga-diskon)<<" rupiah"<<endl;
}
return 0;
}

2. Program:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int iMasuk, iKeluar, iLama;
long int iBiaya;

printf("Menghitung Biaya Parkir\n\n");


printf(" Jam Masuk : ");
scanf("%d",&iMasuk);
printf(" \nJam Keluar : ");
scanf("%d",&iKeluar);

if (iKeluar >= iMasuk)


iLama = iKeluar - iMasuk;
else
iLama = (12-iMasuk) + iKeluar;

if (iLama > 2)
iBiaya = 2000 + ((iLama - 2)*500);
else
iBiaya = 2000;
printf("\n\n Biaya parkir adalah : Rp %d \n", iBiaya);
system("PAUSE");
return 0;
}

PRAKTIKUM VI
STRUKTUR PERULANGAN FOR
6.1. Tujuan Praktikum

Tujuan Umum

Mahasiswa dapat memahami:


1. Bentuk umum struktur perulangan FOR.
2. Penggunaan struktur perulangan FOR pada sebuah program.

Tujuan Khusus

Mahasiswa dapat :

1. Menuliskan program yang menggunakan struktur perulangan FOR.


2. Menulis program untuk alur yang dinyatakan dalam bentuk Flowchart atau
pseudocode.

6.2. Teori Singkat

Struktur Perulangan digunakan untuk menyelesaikan persoalan yang melibatkan suatu


proses yang dikerjakan beberapa kali sesuai pola tertentu. Dengan kata lain, melalui
struktur perulangan memungkinkan pemrogram untuk menjalankan satu atau beberapa
perintah yang ada di dalam blok perulangan secara berulang sesuai dengan nilai yang
ditentukan atau sampai mencapai sebuah batas tertentu.
Sebagai contoh, jika diminta membuat program untuk menginput 3 buah nilai dan
mencetak total dari ketiga buah nilai tersebut, tentunya dengan mudah kita cukup
mendeklarasikan 3 buah variabel untuk menampung masing-masing nilai yang diinput
untuk selanjutnya dihitung totalnya. Bagaimana jika yang diminta adalah 100 atau 1000
buah nilai? Apakah kita harus mendeklarasikan variabel dan menuliskan 100 atau 1000
perintah untuk menginput nilai tersebut? Proses tersebut dapat dilakukan dengan lebih
mudah menggunakan perulangan.

6.2.1. Struktur Perulangan FOR

Struktur perulangan FOR biasanya digunakan untuk mengulang suatu proses yang
telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan
FOR memiliki bentuk yang sederhana.
Bentuk umum struktur perulangan FOR adalah :
for (inisialisasi; kondisi; perubahan-kondisi) {
blok-perintah-for;
}
Catatan:
o Inisialisasi: Instruksi pemberian suatu nilai yang mempengaruhi nilai kondisi. Pada proses yang
normal, pemberian nilai awal ini akan menyebabkan kondisi bernilai TRUE. Instruksi ini hanya pernah
satu kali dilaksanakan, yaitu hanya pada saat awal struktur FOR dijalankan.
o Kondisi: Suatu kondisi yang bernilai TRUE atau FALSE, dan akan membatasi proses perulangan.
Blok perintah pada struktur perulangan akan dijalankan selama kondisi masih bernilai TRUE.
o Perubahan-kondisi: Suatu instruksi yang dapat mempengaruhi nilai kondisi. Pada proses yang normal,
perubahan nilai disini suatu saat akan membuat kondisi bernilai FALSE.
6.3 Pembahasan Praktikum
1. 1Tuliskan Program 6.1 berikut ini pada editor Dev-C++ (program ini merupakan program
untuk mencari nilai terbesar dari 3 buah bilangan yang diinput).
Program 6.1 terbesar3bil.cpp
#include <stdio.h>

main()

int A, max;

printf("lnput 3 buah bilangan\n");

printf("Bilangan 1: "); scanf("%i", &A);

max = A;

printf("Bilangan 2: "); scanf("%i", &A);

if (A > max) {

max = A; }

printf("Bilangan 3: "); scanf("%i", &A);


if (A > max) {

max = A;

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

return 0;

2. Program 6.1 di atas digunakan untuk mencari nilai terbesar dari 3 buah bilangan yang diinput.
Bagaimana jika bilangan yang diinput ada 5? Kita cukup menduplikasi baris 8 sampai 11 atau
12 sampe 15, sedemikian hingga akan menginput 5 buah bilangan. Ubahlah program 6.1
menjadi Program 6.2 berikut ini.
Program 6.2 terbesar5bil.cpp
#include <stdio.h>
main()
{
int A, max;
printf("Input 5 buah bilangan\n");
printf("Bilangan 1: "); scanf("%i", &A);
max = A;
printf("Bilangan 2: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("Bilangan 3: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("Bilangan 4: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("Bilangan 5: "); scanf("%i", &A);
if (A > max) {
max = A;
}
printf("\nBilangan terbesar: %i", max);
return 0;
}

3. Jalankan dan ujilah program 6.2 di atas dengan beberapa data. Tuliskan pada tabel di bawah ini.
BIL 1 BIL 2 BIL 3 BIL 4 BIL 5 KELUARAN
5 3 6 7 9 9
5 6 3 9 7 9
9 6 6 7 5 9
7 6 6 3 9 9
7 5 5 6 3 9
3 9 9 5 6 9
4. Dengan tujuan yang sama (mencari nilai terbesar), bagaimana jika yang diinput 10 bilangan, 100
bilangan atau lebih? Dengan cara sebelumnya tentunya akan sangat repot, dan program menjadi
sangat panjang. Perhatikan Program 6.3 berikut ini, tuliskan pada editor dan jalankan!
Program 6.3 terbesar_n_bil.cpp
#include <stdio.h>
main()
{
int A, max, i;
printf("Input 10 buah bilangan\n");
printf("Bilangan pertama: ");
scanf("%i", &A);
max = A;
for(i=1; i<=9; i++) {
printf("Bilangan ke-%i: ", (i+1));
scanf("%i", &A);
if (A > max) {
max = A;
}
}
printf("\nBilangan terbesar: %i", max);
return 0;
}
5. Ujicoba program 6.3 dengan data masukan berikut ini dan tuliskan perubahan nilai masing-
masing variabel / kondisi pada tabel.
Data masukan: 10 7 15 12 9 5 7 18 3 11

I I<=9 Input A A > Max Max Keterangan

- - 10 - 10 Inisialisasi

1 Ya 7 Tidak 10 Perulangan ke-1

2 Ya 15 Ya 15 Perulangan ke-2

3 Ya 12 Ya 12 Perulangan ke-3

4 Ya 9 Tidak 10 Perulangan ke-4

5 Ya 5 Tidak 10 Perulangan ke-5

6 Ya 7 Tidak 10 Perulangan ke-6

7 Ya 18 Ya 18 Perulangan ke-7

8 Ya 3 Tidak 10 Perulangan ke-8

9 Ya 11 Ya 11 Perulangan ke-9
Perulangan
10 Tidak - - -
terhenti
1. Berdasarkan Program 6. 3 di atas, jawablah beberapa pertanyaan berikut ini!
NO PERTANYAAN JAWABAN
Pada struktur FOR, tuliskan perintah bagian
1 i=1; i<=9; i++
inisialisasi!
Pada struktur FOR, tuliskan perintah yang
Bila i lebih besar dari 9 maka
2 menwujudkan kondisi akhir perulangan!
perulangan terhenti.

3 Berapa kali perintah-perintah dalam blok 10 kali


FOR dijalankan?
Jika diinginkan bilangan yang diinput
menjadi 20 bilangan, bagian perintah mana
4 i<=9 harus diganti i<=20
yang harus diganti?

Berdasarkan program 6.3 dan data inputan


Variabel i setelah keluar dari
pada langkah ke-5, berapa nilai variabei i
5 perulangan menjadi terhenti dan
setelah keluar dari perulangan?
tidak ada keluarannya.

6. Tuliskan dan jalankan program 6.4 berikut ini! Lalu tuliskan hasilnya pada tempat yang
sudah tersedia
Program 6.4 deret_ganjil_caral .cpp
#include <stdio.h>
main()
{
int i;
printf("10 Bilangan Ganjil Pertama\n");
for(i=1; i<=19; i=i+2) {
printf("%4i", i);
}
return 0;
}
Tuliskan hasilnya !
10 Bilangan Ganjil Pertama
1 3 5 9 11 13 15 17 19
2. Program 6.4. merupakan program untuk menampilkan 10 bilangan ganjil yang dimulai dari
1. Program 6.5 merupakan program cara kedua untuk tujuan yang sama. Walaupun
keduanya menghasilkan keluaran yang sama, namun cara kedua lebih mudah dipahami dan
lebih disarankan. Tuliskan danjalankan program 6.5 berikut ini. Catat hasilnya!.
Program 6.5 deret_ganjil__cara2.cpp

#include <stdio.h>
main()
{
int i, N=1;
printf("10 Bilangan Ganjil Pertama\n");
for(i=1; i<=10; i++) {
printf("%4i", N);
N = N + 2;
}
return 0;
}
Tuliskan hasilnya !
10 Bilangan Ganjil Pertama
1 3 5 9 11 13 15 17 19
7. Jika program 6.5 diubah menjadi program 6.6 berikut ini, apa yang terjadi? Tuliskan dan
jalankan programnya, lalu catat apa yang terjadi. Mengapa? Program 6.6
deret_ganjil_cara2.cpp
#include <stdio.h>
main()
{
int i, N=1;
printf("10 Bilangan Ganjil Pertama\n");
for(i=1; i<=10; i--) {
printf("%4i", N);
N = N + 2;
}
return 0;
}

Hasilnya:
316131633164316731693171317331753177317
3201320332053207332093211321332153217……(tidak terhingga)
Komentar:
Bilangan ganjil yang muncul tidak berhenti dan tidak terhingga. Karena blok perintah
for ada “i--“ jadi i-nya menurun terus dan didukung i<=9 jadi tidak bisa berhenti.

6.4 Latihan
1. Tuliskan dan jalankan program berikut ini dan tuliskan hasilnya ditempat yang telah
disediakan
Program 6.7 deret __genap.cpp 1
#include <stdio.h>
main()
{
int i, N=10;
printf("Deret Bilangan Genap\n");
for(i=1; i<=10; i++) {
printf("%4i", N);
N = N - 2;
}
return 0;
}

Hasil Program.6.7.
Deret Bilangan Genap
10 8 6 4 2 0 -2 -4 -6 -8

6.5 Tugas
1. Buatlah program Bahasa C untuk mencetak deret berikut ini: 1 2 4 8 16 32 64 128
256 512 1024 !
#include "stdio.h"
#include "conio.h"
using namespace std;
main()
{
int i,N;
N=1024;
printf("\t MENCETAK DERET 2 PANGKAT n HINGGA 1024\n\n");
printf("DERET ANGKA 2 PANGKAT n");
for(i=1;i<=N;i*=2)
printf("%5.0d",i);
getch();
}
Tampilan

2. Seseorang mengendarai sepeda dengan kecepatan tetap 2 meter/detik. Susun program


untuk mencetak berapa meter yang dia tempuh setelah bersepeda selama 100 detik.

Program
#include <stdio.h>
#include <conio.h>
int main()
{
int v, s, t;
v=2;
for (t=1;t<=100;t++) {
t=t*1;
s = (v * t);
printf ("%i\t", s);
printf ("%i\n", t);
}
printf ("Maka jarak yang ditempuh adalah= %i",s);printf("meter");
return 0;
}
3. Seseorang menyimpan uang Rp. 1.000.000 di bank dengan bunga ber-bunga 2%
perbulan. Jadi setelah satu bulan uangnya menjadi Rp. 1.020.000. Satu bulan berikutnya
uang Rp. 1.020.000 ini mendapat bunga lagi 2%, yaitu Rp.20.400 sehingga setelah 2 bulan
uangnya menjadi Rp.. 1.020.000 + Rp. 20.400 = Rp. 1 040.400. Demikian seterusnya (bunga
bulan ini ditambahkan ke saldo uangnya dan mendapatkan bunga lagi pada bulan
berikutnya) . Susun program untuk menghitung dan mencetak jumlah uangnya setelah 10
bulan.
PRATIKUM VII
STRUKTUR PRULANGAN WHILE
7.1. TUJUAN PRAKTIKUM

Tujuan Umum
Mahasiswa dapat memahami:
1. Bentuk umum struktur perulangan WHILE dan DO…WHILE
2. Penggunaan struktur perulangan WHILE pada sebuah program.

Tujuan Khusus
Mahasiswa dapat :
1. Menuliskan program yang menggunakan struktur perulangan WHILE dan DO…WHILE
2. Menulis program untuk alur yang dinyatakan dalam bentuk Flowchart atau pseudocode.

7.2. TEORI SINGKAT

Struktur Perulangan digunakan untuk menyelesaikan persoalan yang melibatkan suatu proses yang
dikerjakan beberapa kali sesuai pola tertentu. Dengan kata lain, melalui struktur perulangan
memungkinkan pemrogram untuk menjalankan satu atau beberapa perintah yang ada di dalam blok
perulangan secara berulang sesuai dengan nilai yang ditentukan atau sampai mencapai sebuah batas
tertentu.

7.2.1. Struktur Perulangan WHILE


Struktur perulangan WHILE dapat digunakan untuk mengulang suatu proses yang telah diketahui jumlah
perulangannya maupun yang belum. Pada dasarnya struktur perulangan WHILE sama seperti perulangan
FOR, hanya cara penulisannya yang sedikit berbeda. Letak inisialisasi berada di luar struktur WHILE dan
letak perubahankondisi diletakkan di dalam blok perulangan.

Bentuk umum struktur perulangan WHILE adalah :


Inisialisasi;
while (kondisi) {
blok-perintah-while;
perubahan-kondisi;
}
Catatan:
 inisialisasi: Instruksi pemberian suatu nilai
yang mempengaruhi nilai kondisi. Pada proses
yang normal, pemberian nilai awal ini akan
menyebabkan kondisi bernilai TRUE.
Instruksi ini hanya pernah satu kali
dilaksanakan, yaitu hanya pada saat awal
struktur WHILE dijalankan.
 kondisi: Suatu kondisi yang bernilai TRUE atau
ALSE, dan akan membatasi proses perulangan.
Blok perintah pada struktur perulangan akan
dijalankan selama kondisi masih bernilai
TRUE.
perubahan-kondisi: Suatu instruksi yang dapat mempengaruhi nilai kondisi.

Pada proses yang normal, perubahan


nilai disini suatu saat akan membuat
kondisi bernilai FALSE.
7.2.2. Struktur Perulangan DO...WHILE
Struktur perulangan DO…WHILE pada dasarnya mirip dengan struktur WHILE. Perbedaan diantara
keduanya terletak pada letak pemeriksaan kondisinya. Pada struktur WHILE, kondisi diperiksa di awal
sebelum blok perintah perulangan dilaksanakan. Sedangkan pada struktur DO…WHILE, kondisi
diperiksa setelah blok perintah perulangan dijalankan.
Bentuk umum struktur perulangan DO…WHILE adalah :
inisialisasi;
do {
blok-perintah-while;
perubahan-kondisi;
} while (kondisi);

Catatan:
 inisialisasi: Instruksi pemberian suatu nilai yang
mempengaruhi nilai kondisi. Pada proses yang
normal, pemberian nilai awal ini akan menyebabkan
kondisi bernilai TRUE. Instruksi ini hanya pernah satu
kali dilaksanakan, yaitu hanya pada saat awal struktur
DO..WHILE dijalankan.
 kondisi: Suatu kondisi yang bernilai TRUE atau
FALSE, dan akan membatasi proses perulangan. Blok
perintah pada struktur perulangan akan dijalankan
selama kondisi masih bernilai TRUE.
 perubahan-kondisi: Suatu instruksi yang dapat
mempengaruhi nilai kondisi. Pada proses yang
normal, perubahan nilai disini suatu saat akan
membuat kondisi bernilai FALSE.

STRUKTUR PRULANGAN WHILE

7.3 PELAKSANA PRAKTIKUM


1. Tuliskan program 7.1 berikut ini pada editor Dev-C++. Kompilasi dan jelalankan program,
catat hasilnya pada tempat yang disediakan!
Program 7.1 while_deret.cpp
#include<stdio.h>
main()
{
int i;
i=1;
while(i<=10){
printf("%4i",i);
i++;
}
return 0;
}
Hasil Program 7.1
2. Ubah program 7.1 menjadi program 7.2 berikut ini. Kompilasi dan jalankan program, catat pada
tempat yang disediakan !

Program7.2 while_deret2.cpp
#include<stdio.h>
main()
{
int i;
i=1;
while(i<=10){
printf("%4i",i);
i+=2;
}
return 0;
}
Tuliskan hasil program 7.2 dibawah ini! Dan jelaskan maksud juga dari parintah baris ke-8 yaitu i+=2 !
3. Tuliskan program 7.3 berikut ini. Kompilasi dan jelalankan program, catat hasilnya pada
tempat yang disediakan!

Program 7.3 while_deret3.cpp


#include<stdio.h>
main()
{
int i;
i=1;
while(i<=10){
printf("%4i",(2*1)+1);
i++;
}
return 0;
}
Tuliskan hasil program 7.3 dibawah ini! Perhatikan hadil dari penerapan rumus (2*1)+1
terhadap hasil program. Bandingkan hasilnya dengan program7.1

4. Ubah program 7.3 menjadi program 7.4 berikut ini. Kompilasi dan jalankan program, catat pada
tempat yang disediakan !
Program 7.4 while_deret4.cpp
#include<stdio.h>
main()
{
int i,N;
i=1;
while(i<=10){
printf("%4i", N);
N= N+2;
i++;
}
return 0;
}
Tuliskan hasil program 7.4 dibawah ini! Bandingkan hasilnya tampilan program7.4 dengan
program 7.3! Apakah hasilnya sama? Mana yang lebih mudah?

5. Sekarang kita gunakan struktur perulangan DO..WHILE .Tuliskan program 7.5 berikut ini. Kompilasi
dan jelaskan program, catat hasilnya pada tempat yang disediakan!

Program 7.5 while_do_deret2.cpp


#include<stdio.h>
main()
{
int I, N;
I=10;
do {
printf("%i", I);
I++;
}while(I <10);
return 0;
}
Tuliskan hasil program 7.5 di bawah ini dan gambarkan juga flowchart program 7.5!
Flowchart:

START

i=10

Cetak
N

YA
i++

i<=
10?

TIDAK

END
7,4 Latihan
1. Tuliskan dan jalankan program berikut ini dan tuliskan hasilnya ditempat yang
disediakan
Program7.6 while_latihan1.cpp
#include <stdio.h>
main ()
{
int i,X;
i=1;
while (i<=10){
X=(i-1)*2+1;
printf ("%4i", X);
i++;
}
return 0;
}
Hasil program 7.6
1 3 5 7 9 11 13 15 17 19

Gambarkan flowchart dari program 7.6

START

i=10

i<=10
?

YA
TIDAK

i++

Cetak N

END
7.5 Tugas
1. Buatlah program bahasa C untuk mencetak TOTAL dari 10 bilangan pertama dari deret
berikut:
A. 1 3 5 7 9 11 13 15 17 19
B. 10 20 30 40 50 60 70 80 90 100
C. 100 95 90 85 80 75 70 65 60 55
D. 1 2 4 8 16 32 64 128 256 512 1024
2. Seseorang mengendarai sepeda motor dengan pola kecepatan sebagai berikut:
Pada 10 detik pertama (detik 1-10) kecepatan tetap 3 m/det. Pada 10 detik kemudian
(detik 11-20) 4 m/det. Demikian seterusnya setiap 10 detik berikutnya kecepatan
bertambah 1 m/det dibandingkan 10 detik sebelumnya. Susun program untuk mencetak
berapa detik yang dia perlukan untuk 100 meter!

Jawab
1. A. Program
#include <stdio.h>
int main()
{
int i,total= 0;
i=1;
printf("Berikut deret untuk kelipatan ganjil: ");
while (i<=20){
printf ("%4i", i);
i+=2;
total=total+(i-2);
}
printf ("\nnilai total = %d \n", total);
return 0;
}
Tampilan
B. Program
#include <stdio.h>
int main()
{
int i,total=0;
i=10;
printf("Berikut deret untuk kelipatan 10: ");
do {
printf ("%4i", i);
i+=10;
total=total+(i-10);
}
while (i<=100);
printf ("\nnilai total = %d \n", total);
return 0;
}
Tampilan

C. Program
#include <stdio.h>
int main()
{
int i,total=0;
i=100;
printf("Berikut deret untuk kelipatan 5 dari 100-55: ");
do {
printf ("%4i", i);
i-=5;
total=total+(i+5);
}
while (i>=55);
printf ("\nnilai total = %d \n", total);
return 0;
}

Tampilan

D, Program
#include <stdio.h>
int main()
{
int i,total=0;
i=1;
printf("Berikut deret untuk kelipatan pangkat dari bilangan 2: ");
do {
printf ("%4i", i);
i=i*2;
total=total+(i/2);
}
while (i<=1024);
printf ("\nnilai total = %d \n", total);
return 0;
}
Tampilan

2. Program
#include <stdio.h>
int main()
{
int d,z,s,i,c,total;
i=1;
s=0;
c=1;
while (i<=26){
for (i=1; i<=10; i++){
s=i*(3*c);
printf ("\n%i\t",i);
printf ("%i\t\n", s);
}for (i=11; i<=20; i++){
s=(i*(4*c)-10);
printf ("\n%i\t",i);
printf ("%i\t\n", s);
} for (i=21; i<=30; i++){
s=(i*(5*c)-30);
printf ("\n%i\t",i);
printf ("%i\t\n", s);
}
i++;
}
printf ("\n\nJadi waktu yang dibutuhkan untuk menempuh 100
Meter adalah =26 S");
return 0;
}

Tampilan
MODUL VIII
ARRAY
8.1. Tujuan Praktikum
Tujuan Umum
Mahasiswa dapat memahami:
1. Konsep dasar struktur data array
2. Mendeklarasikan array
3. Penggunaan array untuk membuat program sederhana.
Tujuan Khusus Mahasiswa dapat :
1. Menuliskan program Bahasa C untuk mendeklarasikan dan mengisi array
2. Menuliskan program Bahasa C untuk menampilkan sebagian atau seluruh isi array
3. Menyelesaikan permasalahan dengan program Bahasa C yang memanfaatkan array

8.2. Teori Singkat


Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah
nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array. Letak urutan dari
elemen-elemen array ditunjukkan oleh suatu subscript atau indeks.

8.2.1. Array Dimensi Satu


a. Setiap elemen array dapat diakses melalui indeks
b. Indeks array secara default dimulai dari 0.
c. Deklarasi array dalam bentuk umum:

Tipe_array nama_array[ukuran];

Contoh : int Nilai [4]


Nilai [0] Nilai [1] Nilai [2] Nilai [3]

70 80 82 60

8.2.2. Array Dimensi Dua


Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom. Bentuknya dapat
berupa matriks atau tabel.
Bentuk Umum:
Tipenama_array [baris] [kolom];

Contoh:

Cara akses:

Data_lulus[0][1]=540

Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu:
a. Row Major Order (secara baris per baris)
b. Column Major Order (secara kolom per kolom)
Inisialisasi:

8.2.3. Array Dimensi Banyak


Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian
array sama saja dengan array dimensi satu maupun array dimensi dua.Bentuk Umum:

Contoh:
Inisialisasi:

Selain ketiga jenis array di atas, terdapat array tak beraturan (ukuran array tidak ituliskan).
Contoh inisialisasi:

Array juga bisa digunakan sebagai parameter:

8.3 Pembahasan Praktikum


1. Tuliskan Program 8.1 berikut ini pada editor Dev-C++. Kompilasi dan jalankan program,
catat hasilnya pada tempat yang disediakan!
Program 8.1. program untuk menginput nilai mahasiswa ke dalam array satu dimensi.

#include <stdio.h>
#include <conio.h>
int main()
{
int index1, nilai[10], index;
//input nilai mahasiswa
printf("Input nilai 10 mahasiswa:");
for(index=0;index<10;index++)
{printf ("mahasiswa %c:",index+1);
scanf("%c",&nilai[index]);
}
//tampilan nilai mahasiswa
printf("Nilai mahasiswa yang telah diinput");
for(index=0;index<10;index++)
{printf("%5.0i",nilai [index] );
}
getch ( ) ;
}

Hasilnya:
2. Perhatikan program 8.2 berikut ini. Tuliskan, kompilasi dan jalankan program, catat
hasilnya pada tempat yang disediakan!
Program 8.2 program untuk menginput nilai (bilangan) ke dalam array dimensi dua
Hasil:

3. Tuliskan, kompilasi dan jalankan program 8.3 berikut ini. Catat hasilnya pada tempatt
yang disediakan.
Program 8.3 array

#include<stdio.h>
int main()
{
int A[5];
int i=0, X;
printf("Input bilangan (akhiri penginputan dengan '999'):\n\n");
while(true) {
scanf("%i",&X);
if(i>=5) { printf("\nArray penuh!");
break;
}
if(X==999) { printf("\nProgram berakhir,");
break;
}
if(X%2==1) { A[i] = X; i++;
}
}
for (i=0;i<5;i++);
{
printf("%4i",A[i]);
}
return 0;
}

Tuliskan hasil tampilan program jika diinputkan beberapa scenario data sebagai
berikut!
a. 10, 20, 5, 4, 7, 13, 14, 18, 21, 23, 9, 10, 999
b. 10, 20, 5, 4, 7, 13, 999
c. 10, 20, 5, 4, 8, 12, 10, 0, 6, 16, 20, 22, 999

Anda mungkin juga menyukai