“ALGORITMA PEMROGRAMAN”
MODUL VII
PERULANGAN II
Oleh:
2311103053
S1SI-07 E
FAKULTAS INFORMATIKA
2023
DAFTAR ISI
I. DASAR TEORI 1
1. Perulangan while 1
2. Perulangan do-while 4
4. ASCII 10
II. GUIDED 12
III. UNGUIDED 21
IV. SUMBER 27
I. DASAT TEORI
Perulangan atau istilah lainnya looping adalah salah satu teknik/cara yang bisa kita gunakan
untuk melakukan beberapa perintah/instruksi program secara berulang-ulang sesuai dengan
batas perulangan yang kita tentukan. Dengan menggunakan perulangan tentu saja akan sangat
membantu kita untuk mengerjakan beberapa perinta/instruksi secara berulang-ulang tanpa harus
membuat manual satu persatu. Pada postingan kali ini kita akan membahas khusus perulangan
while dan do while tentang bagaimana cara kerja dan penggunaanya serta apa perbedaan dari
kedua jenis perulangan tersebut.
1. Perulangan While
Perulangan While adalah salah satu jenis perulangan di bahasa pemrograman C++. While
digunakan untuk melakukan perulangan dengan proses yang belum diketahui jumlahnya.
Berbeda dengan perulangan for yang kita sudah dapat mengetahui jumlah dari proses
perulangannya.
while (kondisi){
Cara kerja perulangan while dengan melakukan inisialisasi suatu kondisi, Selama kondisi
bernilai benar (true) maka perintah akan terus di ulang (kerjakan) dan perintah perulangan akan
berakhir saat kondisi bernilai salah (false).
1.2 Contoh Perulangan While di C++
Untuk lebih memahami perulangan while coba perhatikan contoh Program dibawah ini:
a. Algoritma
• Mulai
• Inisialisasi nilai awal i=1
• Cek kondisi apakah nilai variabel i <=10 ? Jika benar maka akan dicetak kalimat “Belajar
Perulangan While”
• Nilai variabel i ditambah 1 , sekarang posisinya variabel 1 adalah 2.
• Dilakukan pengecekan lagi apakah variabel i masih memiliki nilai <=10 ? jika kondisi
bernilai benar maka akan terus dicetak kaliamat tersebut hingga nilai i lebih dari 10.
Ketika itu kondisinya bernilai false maka program perulangan while akan berhenti.
• Selesai.
b. Flowhart
c. Code
#include <iostream>
int main() {
int i=1;
while (i<=10)
i++;
getch();
d. Hasil Output
Dari hasil output program diatas dapat kita lihat bahwa kalimat “Belajar perulangan While”
dicetak sebanyak 10 kali sesuai dengan kondisi yang kita buat.
2. Perulangan Do While
Hampir sama dengan perulangan while hanya perbedaanya adalah pada perulangan do
while kondisi di cek setelah dilakukan terlebih dahulu (minimal sekali) perulangan. Hal ini
berbeda dengan perulangan while yang harus dicek kondisinya terlebih dahulu jika bernilai
benar, baru program dijalankan. Dengan kata lain perulangan Do While merupakan kebalikan
dari perulangan while.
do {
} while (kondisi);
a. algoritma
▪ Mulai
▪ Inisialisasi nilai awal i=1;
▪ Dicetak kalimat “Belajar Perulangan Do While”.
▪ Nilai variabel i ditambahkan 1.
▪ Dicek kondisi apakah nilai variabel i <=10 jika kondisi bernilai benar maka akan
dicetak kembali kalimat tersebut dan nilai i ditambahkan 1 lagi.
▪ Kemudian akan dicek kembali sesuai dengan kondisi, jika masih bernilai benar
maka akan terus dilakukan perulangan hingga kondisi bernilai salah.
▪ Selesai.
b. Flowchart
c. Code
#include <conio.h>
#include <iostream>
int main() {
int i=1;
do {
i++;
} while (i<=10);
getch();
}
d. Hasil Output
Dari paparan diatas kalian kira-kira sudah bisa melihat perbedaan dari keduanya. Dimana
pada perulangan while pengecekan kondisi dilakukan terlebih dahulu, sementara pada
perulangan Do while pengecekan kondisinya di akhir statement. Untuk membuktikannya mari
coba lihat lewat contoh dibawah ini:
1. contoh program 1
#include <conio.h>
#include <iostream>
int main() {
int i=1;
//Perulangan While
while (i<1)
i++;
}
//Perulangan Do While
do {
i++;
} while (i<1);
getch();
Program diatas saya membuat dua perulangan (While & Do While) masing-masing saya
menggunakan inisialisasi nilai awal variabel i=1 dengan kondisi i<1. Jika dijalnkan program
tersebut akan menghasilkan output berikut:
Bisa kalian lihat lewat ouput diatas? Karena perulangan Do while pengecekan kondisinya
diakhir statement artinya bahwa perulangan ini mengerjakan terlebih dahulu statement yang ada
baru kemudian di cek kondisinya. karena bernilai salah (false) maka perulangan dihentikan, dan
hanya mencetak 1 kali saja.
#include <conio.h>
#include <iostream>
int main() {
int j=1, m, d;
do {
m= j *60;
d=m*60;
j +=1;
} while (j <=10);
getch();
Pada program diatas kita membuat perhitungan jam menit dan detik dengan menggunakan
perulangan do while, dimana jam saya buat dengan variabel j dengan nilai awal 1. untuk variabel
menit (m) akan dikalikan 60 dari jam (j) sementara untuk variabel detik (d) akan dikalikan 60
dari variabel menit (m). Kondisi yang saya buat nilai dari variabel j <=10. Selama kondisi
tersebut terpenuhi maka akan dicetak output untuk menampilkan jam, menit dan detiknya.
3. Contoh Program 3
#include <conio.h>
#include <iostream>
int main() {
int n=1;
float jum=0;
do {
cout<<""<<n;
cout<<", ";
jum+=n;
n+=3;
} while (n<=10);
cout<<""<<endl;
cout<<""<<endl;;
cout<<"Jumlah : "<<jum<<endl;;
getch();
}
Pada program kedua kita masih menggunakan perulangan do while, dimana kita akan
mencetak deret bilangan, dimana setiap bilangannya akan ditambahkan 3 untuk bilangan
berikutnya. Nantinya kita akan menjumlahkan hasil dari seluruh bilangan tersebut.
Disini saya membuat dua variabel yaitu n dan jum dengan masing-masing menggunakan
tipe data integer dan float. Variabel jum akan ditambahkan dengan nilai dari variabel n, dan
variabel n akan di tambahkan 3 untuk bilangan berikutnya. Nilai n saya buat kondisinya <=10
nantinya hasil penjumlahan semua bilangan akan ditampilkan lewat variabel jum.
4. ASCII
ASCII merupakan singkatan dari American Standard Code for Information Interchange. Ini
adalah format paling umum untuk file teks di komputer dan di Internet yang dikembangkan oleh
American National Standards Institute (ANSI).
Kode ASCII adalah kode 7 bit karena dapat mewakili 2 7 = 128 karakter. Saat ini, total 95
karakter yang dapat dicetak diwakili oleh kode ini termasuk 26 huruf besar (A – Z), 26 huruf
kecil (a – z), 10 angka (0 – 9), dan 33 karakter khusus yang termasuk matematika simbol, tanda
baca dan karakter spasi.
Perkembangan terbaru di bidang kode ASCII adalah pengembangan dari kode 8 bit – yang
dikenal dengan US ASCII-8 atau ASCII-8. Karena ini adalah kode 8 bit, ini dapat mewakili 2 8 =
256 karakter. Komputer tidak menyimpan karakter sebagai karakter itu sendiri. Tidak ada
gambar dari setiap huruf di suatu tempat di hard drive komputer kalian. Sebaliknya, setiap
karakter dikodekan sebagai rangkaian bit biner : 1 dan 0.
Misalnya, kode huruf besar “A” adalah 01000001. Tapi bagaimana komputer kalian bisa
mengetahui bahwa 01000001 berarti huruf “A”? Di sinilah ASCII ikut bermain: 01000001
berarti “A” karena ASCII mengatakan demikian. Dan tentang apa yang dikatakan ASCII,
industri komputer setuju secara kolektif: Mereka mengembangkan standar pengkodean karakter
ASCII. Apa yang dilakukan standar pengkodean karakter adalah menentukan semua karakter
yang mungkin, dan menetapkan setiap karakter sebagai string bit.
Tabel 1. ASCII
II. GUIDED
1. Latihan 1
#include<iostream>
using namespace std;
int main()
{
int x = 0;
while (x <= 9)
{
cout << "Perulangan While" << endl;
x++;
}
return 0;
}
b. Analisis
Kode program ini dalah untuk mencetak "Perulangan While" sebanyak sepuluh kali.
Dengan menggunakan perulangan while untuk mengulangi blok kode di dalamnya hingga
kondisi (x = 0 dan x <= 9) maka jika di run, akan mencetak “Perulangan While” sebanyak
sepuluh kali, dan program akan keluar jika kondisinya sudah tidak memenuhi. Di dalam loop,
kita mencetak string "Perulangan While" dan kemudian menambah variabel x sebanyak
1(increment) menggunakan ekspresi x++. Perulangan berulang sampai x sama dengan 9.
int main()
{
int x = 0;
while (x <= 9)
{
cout << "Perulangan While" << endl;
}
return 0;
}
Jika x++ dihapus dalam program, maka yang terjadi Ketika dijalankan adalah mencetak
“Perulangan While” secara terus menurus tanpa henti. Karena tidak adanya x++(increment)
maka yang terjadi adalah nilai x masih tetap 0, walaupun sudah melakukan perulangan sebanyak
apapun. hal ini yang mengakibatkan kondisi ( x <= 9 ) tidak terpenuhi.
2. Latihan 2
#include <iostream>
using namespace std;
int main()
{
int bilangan;
int pangkat;
int hasil = 1;
int c = 0;
return 0;
}
Jelaskan cara kerja dari operator “ *= “ ?
a. Hasil Program
b. Analisis
Program ini adalah program untuk menghitung hasil pemangkatan suatu bilangan. Pada
program pertama, yaitu membuat variabel bilangan, pangkat, variabel hasil yang sudah
mempunyai nilai konstan yaitu 1, dan variabel c dengan nilai 0. Kemudian pada program
selanjutnya berfungsi untuk meminta pengguna memasukkan dua angka, yaitu angka untuk
bilangan dan pangkat dari bilangan yang sudah dimasukkan tadi, jika sudah diisi angka tersebut
akan disimpan dalam variabel bilangan dan pangkat. Selanjutnya, program ini menjalankan
perulangan while dengan kondisi c kurang dari pangkat (c < pangkat ). Kemudian bilangan yang
ada di dalam variabel akan hasil dikalikan dengan angka yang ada di dalam variabel bilangan.
Setelah itu, c bertambah satu ( increment). diakhir program, akan mencetak hasilnya ke layar.
3. Latihan 3
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
char jawaban;
char hurufKomputer;
int pencacah = 0;
return 0;
}
b. Analisis
Kode program ini adalah sebuah permainan tebak huruf secara acak yang ditentukan oleh
komputer. Program akan memiliki huruf besar acak dan meminta pengguna untuk menebaknya.
Permainan berlanjut sampai pengguna menebak huruf dengan benar.
Pada program ini diawali dengan menginisialisasi generator angka acak dengan waktu saat
ini menggunakan srand(time(NULL));. Ini memastikan bahwa angka acak yang dihasilkan
berbeda setiap kali program dijalankan. kemudian menghasilkan huruf acak antara ‘A’ dan ‘Z’
(kode ASCII 65 hingga 90) dengan menggunakan hurufKomputer = (char)(65 + rand() % ((90 +
1) - 65));. Setelah itu, Program memasukan perulangan do-while di mana pengguna diminta
untuk menebak huruf. Jika tebakan pengguna tidak sama dengan huruf yang dihasilkan oleh
komputer, program akan terus meminta pengguna untuk menebak lagi. Jumlah tebakan dicatat
dalam variabel pencacah. perulangan berlanjut sampai tebakan pengguna cocok dengan huruf
yang dihasilkan oleh komputer. Pada titik ini, program mencetak pesan “Anda benar…” dan
berakhir.
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
char jawaban;
char hurufKomputer;
int pencacah = 0;
return 0;
}
Untuk mengubah cara permainan dari menggunakan huruf kapital yaitu dengan mengubah
Bagian hurufKomputer = (char)(65 + rand() % ((90 + 1) - 65)); menjadi hurufKomputer =
(char)(97 + rand() % ((122 + 1) - 97)); digunakan untuk mengubahnya dari huruf kapital
menjadi huruf kecil sehingga menghasilkan huruf acak antara ‘a’ dan ‘z’. Berdasarkan dari tabel
ASCII huruf kecil berada pada nomor 97 sampai dengan 122. Sehingga cara permainan pada
code ini berubah menjadi menebak huruf kecil.
4. Latihan 4
#include <iostream>
using namespace std;
int main()
{
int pilihan = 0;
do
{
cout << " Aplikasi Akademik Telkom " << endl
<< endl;
cout << " Apa yang Anda butuhkan ? " << endl;
cout << " 1. Membuat surat keterangan kuliah " << endl;
cout << " 2. Legalisir Ijazah dan Trankrip Nilai " << endl;
cout << " 3. Pendaftaran Yudisium " << endl;
cout << " 0. Keluar " << endl;
cout << " Silahkan masukkan pilihan Anda (angka) : ";
cin >> pilihan;
cout << endl;
} while (pilihan != 0);
cout << "Terima kasih banyak " << endl;
cout << "Silahkan datang kembali " << endl;
return 0;
}
a. Hasil program
b. Analisis
Kode program ini adalah program yang menampilkan beberapa pilihan yang terkait dari
aplikasi akademik telkom kepada pengguna dan meminta masukkan pilihan kepada pengguna.
Perulangan ini menampilkan pilihan berulang kali sampai dengan pengguna memasukkan 0,
maka akan keluar.
3. "Pendaftaran Yudisium"
0. "Keluar"
III. UNGUIDED
1. Buatlah program untuk mekanisme login (pembacaan kata sandi) untuk masuk ke sebuah
sistem. Apabila kata sandi yang dibaca salah, maka tidak bisamasuk kedalam sistem.
Percobaan login hanya boleh dilakukan sebanyak 3 kali.(kata sandi yang benar sebaiknya
disimpan dalam konstanta).
a. Kode program
#include <iostream>
#include <string>
using namespace std;
int main()
{
const string kata_sandi = "ibnu";
string input;
int percobaan = 0;
if (input == kata_sandi)
{
cout << "Login berhasil!\n";
return 0;
}
else
{
cout << "Kata sandi salah. Silakan coba lagi.\n";
percobaan++;
}
}
cout << "Anda telah mencoba 3 kali. Akun anda telah terkunci. tunggu
selama 30 detik.\n";
return 0;
}
b. Hasil program
c. Analisis
Kode program ini adalah program yang mensimulasikan sistem login. Kode ini
mendefinisikan variabel string konstan kata_sandi yang mewakili kata sandi yang benar. Dan
juga menginisialisasi variabel integer percobaan untuk melacak jumlah upaya login dan input
variabel string untuk menyimpan input pengguna.
Perulangan while untuk membuat pengguna mencoba memasukkan kata sandi hingga 3 kali.
Di dalam loop, program meminta pengguna memasukkan kata sandinya. Jika masukan cocok
dengan kata sandi yang benar, program akan menampilkan “Login berhasil!” dan keluar. Jika
tidak, program akan menambah variabel percobaan dan meminta pengguna untuk mencoba lagi.
Setelah 3 kali gagal, program menampilkan “Anda telah mencoba 3 kali. Akun anda telah
terkunci. tunggu selama 30 detik”.
a. Kode program
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
char jawaban;
char hurufKomputer;
int pencacah = 0;
return 0;
}
b. Hasil program
c. Analisis
Kode program ini adalah sebuah permainan tebak huruf secara acak yang ditentukan oleh
komputer, terdapat batasan kesempatan menebak huruf hingga 3 kali. Jika sudah 3 kali menebak
dan masih salah maka muncul pemberitahuan “Anda kalah”. Program akan memiliki huruf besar
acak dan meminta pengguna untuk menebaknya.
program dimulai dengan menginisialisasi bilangan acak dengan waktu saat ini.
Hal ini dilakukan untuk memastikan bahwa program menghasilkan urutan angka
acak yang berbeda setiap kali dijalankan. Kemudian mendeklarasikan variabel
karakter `jawaban` untuk menyimpan tebakan pengguna, variabel karakter
`hurufKomputer` untuk menyimpan huruf yang dihasilkan secara acak, dan variabel
integer `pencacah` untuk mencatat jumlah tebakan.
Program menghasilkan huruf besar acak dengan menambahkan angka acak antara
0 dan 25 (inklusif) ke nilai ASCII 'A' (65). Hasilnya dilemparkan ke char dan
disimpan di `hurufKomputer`. Program memasuki perulangan do-sementara yang
berlanjut selama tebakan pengguna tidak cocok dengan huruf yang dihasilkan secara
acak. Di dalam perulangan, program meminta pengguna untuk memasukkan tebakan
dan menyimpan masukan tersebut di `jawaban`. Kemudian menambah `pencacah`
sebanyak 1. Jika pengguna telah membuat 3 tebakan dan tidak ada satupun yang
cocok dengan `hurufKomputer`, program akan mencetak "Anda kalah" dan keluar
dengan kode kembali 0, yang menunjukkan eksekusi berhasil. Jika tebakan
pengguna cocok dengan `hurufKomputer`, program akan keluar dari perulangan dan
mencetak "Anda benar..." sebelum keluar.
IV. SUMBER
Setiawan dimas, 13 januari 2020 : Contoh Program C++ Perulangan While dan Do While
https://kelasprogrammer.com/contoh-program-c-perulangan-while-do-while/