Prak Pemrograman II
Prak Pemrograman II
NASKAH TUTORIAL
ARMANSYAH
Puji syukur kepada Allah atas limpahan rahmatNya kepada punulis, hingga
akhirnya penulis dapat merampungkan tugas mengembangkan bahan ajar
mahasiswa dalam bentuk modul ajar atau naskah tutorial. Modul ini dirancang untuk
membantu mahasiswa dalam memahami konsep dan praktis algoritma
pemrograman komputer secara umum, dan secara khusus pemrograman C dengan
menggunakan IDE Turbo C++.
Modul ini disusun dari dasar hingga akhir sesuai dengan silabus yang
dirancang untuk memperkaya referensi mahasiswa dalam memahami konsep dan
praktis algortma pemrograman dengan C. Tentu saja keberadaan modul akan
menjadi sangat bermanfaat jika mahasiswa membaca dan menerapkannya secara
mandiri diluar perkuliahan. Harapan penulis dengan dirancangkannya modul ini
adalah tercapainya kompetensi pengetahuan dan praktis pemrograman komputer
dengan C oleh mahasiswa, karenanya praktek mandiri harus lebih diperbanyak untuk
memenuhi capaian pembelajaran.
Penulis juga berterimakasih kepada Dekan Fakultas Sains dan Teknologi UIN
Sumatera Utara Medan, secara khusus ketua Program Studi Ilmu Komputer atas tugas
yang diberikan, serta rekan dosen yang tidak disebutkan satu-persatu,--sehingga
penulis bersemangat dalam melakukan tugas penulisan modul ini. Tentu saja ucapan
terimakasih tidak lupa penulis sampaikan kepada istri karena telah begitu banyak
membantu dan menemai malam-malam penulisan modul ini. Kepada seluruh
mahasiswa dan pembaca, terimakasih apresiasinya atas menggunakan modul ini.
Rancangan modul ini mungkin terlalu sederhana dan banyak kekurangan baik
dari sisi konten, struktur penulisan hingga modelnya. Pengembangan dan revisi akan
terus diupayakan untuk meningkatkan kualitas dan mutunya dimasa mendatang.
Akhirnya kepada pembaca penulis mohon maaf atas segala kekurangan, dan kepada
Allah penulis mohon ampun. Demikian pengantar ini, penulis sampaikan
alhamdulillahirabbil’alamiin. Wassalamu’alaikum warahmatullahi wabarakaatuh.
MODUL 1
PENGANTAR BAHASA C
1) Editor C
Perangkat lunak editor digunakan untuk menulis kode program, sementara
kompiler digunakan untuk mengkompilasi kode program yang ditulis oleh perancang
program. Perangkat lunak editor bahasa C yang paling ringan adalah Turbo C++.
Selain dukungannya terhadap bahasa C, editor ini juga mendukung kompilasi bahasa
C++. Selanjutnya Turbo C++ ini akan kita sebut dengan Turbo C. Turbo C merupakan
perangkat lunak editor bahasa C yang gratis dan dapat didownload secara bebas
melalui url https://archive.codeplex.com/?p=turboc.
2) Emulator
Editor Turbo C yang berjalan di lingkungan windows 7 dan versi diatasnya
memerlukan dukungan perangkat lunak emulator. Emulator yang umum digunakan
oleh penggiat teknologi informasi (TI) adalah DosBox. Emulator DosBox umum
digunakan untuk membantu menjalankan aplikasi berarsitektur rendah (Misal : MS-
Dos) pada komputer yang memiliki arsitektur 32 dan 64 bit atau pada komputer
arsitektur tinggi.
DosBox juga perupakan aplikasi yang free, yang juga penggunaanya dapat
menggunakan sistem donasi. Aplikasi ini dapat di download di internet di situs resmi
pengembangnya di https://www.dosbox.com/download.php?main=1.
C. Struktur Bahasa C
Struktur merupakan formula, atau rumus yang harus digunakan. Dimana
struktur bahasa C merupakan landasan bagi perancang program untu menulis kode
program. Setiap bahasa program memiliki struktur masing-masing yang dikenali oleh
compiler program tersebut. Struktur bahasa C terdiri dari beberapa komponen
diantaranya :
Preposessor,yang selalu diikuti oleh file header dengan ekstensi .h.
preposessor ditulis dengan format #include dan diikuti file headernya.
Contohnya #include <stdio.h> atau #include “stdio.h”
Fungsi utama, yang dibuka dan ditutup dengan tanda kurung bulat ( )
untuk menyertakan argumen jika dibutuhkan.
Modul Praktikum Algoritma dan Pemrograman 2
#include <stdio.h>
int main() {
/* my first program in C */
printf("Hello, World! \n");
return 0;
}
2) Instalasi Turbo C
a) Pilih dan ekstrak Turbo C ++ 3.2.20 berikut seperti yang ditunjukkan pada
gambar berikut :
Modul Praktikum Algoritma dan Pemrograman 2
b) Buka folder Turbo C++ 3.2.2.0 tersebut dan klik ganda fileSetupatau boleh
juga dengan klik gandafile berekstestensi.msi. Selanjutnya akan tampil
jendela Welcome to the installShield Wizard for Turbo C++
3.2.2.0. KlikNext untuk melanjutkan.
Jika proses instalasi program (editor) Turbo C++ 3.2.2.0 selesai dilakukan,
editor tersebut secara default akan tersimpan pada direktori root C:\ dengan nama
folder TURBOC3 seperti yang ditunjukkan pada gambar 1.6 berikut :
Modul Praktikum Algoritma dan Pemrograman 2
3) Menulis Program
1) Buka editor Turbo C, lalu Klik menu File – New.
2) Simpan program dengan menekan File – Save As.. Ganti NONAME00.CPP
dengan MODUL.c lalu KlikOK
3) Kemudian ketik kode program berikut :
int main() {
clrscr();
printf("Selamat Belajar Pemrograman C\n");
getch();
return 0;
}
1.5 LATIHAN
Latihan (1)
1. Buka program baru, File – New
2. Ganti file NONAME00.CPP terlebih dahulu dengan nama test11.c
3. Selanjutnya tulis program berikut :
int main() {
clrscr();
printf("Selamat\nBelajar\n\"Pemrograman C\"\n");
printf("Mahasiswa\nIlmu Komputer\'UINSU\'");
getch();
return 0;
}
6. Tuliskanlah hasil program tersebut pada kotak dibawah ini. Berikan pula
paragraf kesimpulannya
Latihan (2)
1. Buka program baru, pilih File – New
2. Simpan program,KlikFile – Save As.. lalu ganti NONAME00.CPP dengan
test12.c , KlikOK
3. Selanjutnya tulis program berikut :
MODUL 2
VARIABEL DAN TIPEDATA
int bilangan;
contoh float luas;
double total_gaji;
Modul Praktikum Algoritma dan Pemrograman 2
Atau boleh juga dengan, misalnya memberikan nilai terhadap variabel. Dengan
menggunakan struktur berikut :
B. Tipe Data
Tipe data dalam c mengacu pada sistem ekstensif (format, sifat, ukuran, bentuk)
yang digunakan untuk mendeklarasikan variabel atau fungsi dari berbagai jenis. Jenis
Tipe data suatu variabel menentukan berapa banyak ruang yang ditempati dalam
penyimpanan dan bagaimana pola bit yang disimpan diinterpretasikan. Setiap tipe
data memiliki ukuran daya (kemampuan) menyimpan suatu data yang berbeda.
Jenis tipedata pada C dapat diklasifikasikan menjadi beberapa tipe data yaitu :
1) Tipe Dasar ; Yang merupakan tipe aritmatika dan diklasifikasikan lebih lanjut
menjadi: (a) tipe bilangan bulat integer dan (b) tipe floating-point.
2) Tipe Enumerated; Yang juga merupakan jenis aritmatika yang dapat menetapkan
nilai integer diskrit tertentu di seluruh program.
3) Tipe Void ; Yakni jenis tipe yang mengindikasikan bahwa tidak memiliki nilai.
4) Tipe bentukan atau disebut juga tipe turunan yang diantaranya terdiri dari : (a)
Tipe Pointer, (b) Tipe Array, (c) Tipe struktur, (d) Tipe Union (Gabungan) dan (e)
Tipe Fungsi.
C. Tipedata Konstan
Tipedata konstan merupakan tipe data milik suatu variabel yang nilainya tetap
dan tidak dapat diubah oleh program selama proses program berlangsung.
Pendeklarasian tipedata konstan pada bahasa C dapat dilakukan dengan dua format
dasar, yaitu dengan menggunakan format penulisan yang umum, dan melalui
preprocessor. Adapun struktur penulisannya mengacu kepada struktur format
berikut :
D. Format Penentu
Format penentu atau format specifiers merupakan format pendukung suatu tipe
data. Setiap tipe data memiliki format yang berbeda dan nilai yang berbeda pula.
Format ini harus disertakanbila mana variabel yang dideklarasikan pada blok
pendeklarasian digunakan kembali (dipanggil) pada suatu baris. Jika tidak
disertakan, maka ini bisa menimbulkan error atau tidak menampilkan hasil.
Penggunaan formatspecifier didahulu dengan simbul persen % dan dilanjutkan
dengan karakter formatnya. Adapun jenis-jenis format ini ditampilkan pada tabel
berikut :
Modul Praktikum Algoritma dan Pemrograman 2
Disamping format yang ditampilkan pada tabel diatas, masih terdapat format
lain sesuai dengan jenis tipenya. Beberapa tipe ada pula yang memiliki lebih dari satu
format lain namun dapat diterapkan untuk tipe yang sama.
E. Karakter
Bahasa C mendukung pencetakan data karakter khusus untuk mengganti fungsi-
fungsi tertentu, seperti tabulasi, enter, mundur, maju, dan lain sebagainya yang
ditangani dengan format standar. Adapun format yang dimaksud dapat dilihat pada
tabel berikut :
KARAKTER
PENGGUNAAN
KHUSUS
\a Untuk bunyi bell (alert)
\b Mundur satu spasi (backspace)
\f Pindah halaman (form feed)
\n Pindah baris baru (new line)
Menuju ke kolom pertama, baris yang sama
\r
(carriagereturn)
\v Tabulasi vertikal
\t Tabulasi horizontal
\0 Nilai kosong (null)
\' Kutip tunggal
\" Kutip ganda
\\ Karakter garis miring (backslash)
int main() {
clrscr();
printf("Nilai a dalam integer adalah %d\n", a);
printf("Nilai b dalam float adalah %f\n", b);
printf("Nilai c dalam char adalah %c\n", c);
getch();
return 0;
}
2.5 LATIHAN
Untuk meningkatkan pemahaman Bahasa C, secara khusus penggunaan variabel
dan tipedatanya, kerjakan latihan-latihan berikut. Ikuti langkah demi langkah
panduan yang diberikan.
Latihan (1)
1) Buka program baru, pilih menu File – New
2) Simpan terlebih dahulu file program untuk menghindari hal-hal yang tak
diinginkan. Pilih File – Save (F2) – ganti NONAME00.CPP menjadi var21.c,
Ok atau Enter untuk memulai menulis kode program.
3) Selanjutnya tulis kode program berikut
int main() {
char nama1[7] ="Aisyah";
char nama2[10] ="Ramadhani";
float nilai_akhir;
clrscr();
strcat(nama1 ,nama2);
printf("Nama kamu adalah %s\n", nama1);
printf("Input value here : ");
scanf("%f", &nilai_akhir);
printf("Ok, %s, nilai anda adalah %4.2f\n",
nama1,nilai_akhir);
getch();
return 0;
}
Latihan (2)
1. Buka program baru, klik menu File – New
2. Simpan terlebih dahulu file program untuk menghindari hal-hal yang tak
diinginkan. Pilih File – Save (F2) – ganti nama file menjadi var22.c. Klik Ok
atau Enter untuk memulai menulis kode program.
3. Selanjutnya tulis program berikut Latihan program 2.2 var22.c
clrscr();
printf("Input karakter : "); scanf("%c", &kar);
bilangan = kar;
printf("Huruf %c direpresentasikan dengan bilangan
%d di komputer \n", kar,bilangan);
getch();
return 0;
}
Latihan (3)
1. Buka program baru kembali, jangan lupa untuk menyimpan program terlebih
dahulu
2. Simpan program dengan nama var23.c
3. Tulis (ketik) program berikut
int main() {
const float persen = 0.025;
const double penghasilan =2950000;
Modul Praktikum Algoritma dan Pemrograman 2
float zakat;
clrscr();
zakat = penghasilan * persen;
printf("Total zakat penghasilan keluarga Rakhmat
adalah %lf perbulan \n", zakat);
printf("\nTotal zakat setelah dibulatkan %4.2lf per
bulan", zakat);
getch();
return 0;
}
void pengenalan_fungsi();
int main()
{
int x = 22, y = 44;
clrscr();
printf("\nNilai : x = %d dany = %d", h, k);
getch();
return 0;
}
void pengenalan_fungsi()
{
int a = 50, b = 80;
printf("\nNilai : a = %d dan b = %d", a, b);
}
Program tugas22.c
#include<stdio.h>
void t pengenalan_fungsi();
int x = 22, y = 44;
int i = 50, j = 80;
int main()
{
clrscr();
printf("Semua variabel diakses dari fungsi utama");
printf("\nNilai: x=%d, y=%d, i=%d, j=%d", x,y,i,j);
getch();
return 0;
}
void pengenalan_fungsi()
{
printf("\nSemua variabel diakses dari \"
pengenalan_fungsi\"");
printf("\nNilai: x=%d, y=%d, i=%d, j=%d", X, y, I,J);
}
Modul Praktikum Algoritma dan Pemrograman 2
MODUL 3
OPERATOR C
A. Operator Aritmatika
Merupakan operator yang digunakan untuk operasi matematis, seperti
penambahan, pengurangan, perkalian dan lain sebagainya. Perhatikan klasifikasinya
pada tabel berikut :
B. Operator Relasi
Merupakan operator yang digunakan untuk membandingkan nilai yang dimiliki
oleh dua variabel yang berbeda. Berikut ini adalah beberapa operator relasi dalam
bahasa C, yang diuraikan pada tabel dibawah ini :
C. Operator Penugasan
Merupakan operator yang digunakan untuk memberikan nilai atau tindakan
operasi kepada suatu variabel. Misal, 5 adalah nilai yang diberikan kepada variabel x.
Maka x = 5. Dalam bahasa C, operator penugasan terdiri dari operator penugasan
sederhana, dan penugasan majemuk (gabungan). Penjelasan jenis operator
penugasan, dapat dilihat pada tabel berikut :
D. Operator Logika
Merupakan operator yang digunakan untuk menjalankan operasi logika pada
ekspresi perintah yang diberikan. Operator logika selalu menghasilnya keluaran
benar (true)atau salah(false). Operator logika dapat berupa operator yang dijelaskan
pada tabel dibawah ini :
Contoh :
( x == 20 ? 2 : 3); Hasilnya : 3
H. Operator Khusus
Merupakan operator yang digunakan pada Bahasa C untuk menunjukkan alamat
dari posisi file dari suatu variabel. Operator ini terdiri dari beberapa operator seperti
yang dijelaskan pada tabel berikut :
karakter dan format lain yang sesuai dengan jenis tipe datanya. Format specifier
telah diuraikan pada modul 2 minggu lalu.
Sementara fungsi scanf()merupakan fungsi yang digunakan untuk membaca nilai
yang diinput oleh pengguna. Mekanisme kerja fungsi ini adalah pengguna menginput
nilai, selanjutnya fungsi scanf() akan membaca nilai yang diinput tersebut untuk
ditempatkan pada memori untuk suatu variabel. Jika nilai yang diinput tidak sesuai
dengan tipe data yang dikenalkan pada bagian deklarasi, kompilasi akan memberikan
pesan error ketika proses kompilasi dilakukan. Fungsi scanf() ini selalu
berkonsolidasi dengan fungsi prinf().Contoh fungsi printf() dan scanf() dapa dilihat
pada gambar berikut :
Contoh (1)
1. Jalankan Editor Program Turbo C, lalu buka program baru, klik File –New
2. Simpan program terlebih dahulu, klik File – Save As.., ganti NONAME00.CPP
menjadi opr30.c
3. Selanjutnya tulis program berikut pada editor turbo C.
int main()
{
int x=60,y=30, tambah,kurang,kali,bagi,sisa_bagi;
clrscr();
tambah = x+y;
kurang = x-y;
kali = x*y;
bagi = x/y;
sisa_bagi = x%y;
printf("Penambahan dari a dan b adalah : %d\n",
tambah);
printf("Pengurangan dari a dan b adalah : %d\n",
return 0;
}
3.5 LATIHAN
Untuk meningkatkan kompetensi supaya tercapainya target pembelajaran, mari
kita terapkan beberapa latihan berikut, lakukan langkah demi langkah panduan yang
diberikan pada latihan program tersebut :
Latihan (1)
1) Buka program baru, pilih menu File – New
2) Simpan terlebih dahulu program untuk menghindari hal-hal yang tidak
diinginkan. KlikFile – Save (F2) – ganti NONAME00.CPP menjadi opr31.c, Ok
atau Enter untuk memulai menulis kode program.
3) Selanjutnya tulis kode program berikut
int main()
{
int a,b, tambah, kurang, kali, bagi, sisa_bagi;
Modul Praktikum Algoritma dan Pemrograman 2
clrscr();
printf("Input bilangan a : "); scanf("%d", &a);
printf("Input bilangan b : "); scanf("%d", &b);
tambah = a+b;
kurang = a-b;
kali = a*b;
bagi = a/b;
sisa_bagi = a%b;
printf("Penambahan dari a dan b adalah : %d\n",
tambah);
printf("Pengurangan dari a dan b adalah : %d\n",
kurang);
printf("Perkalian dari a dan b adalah : %d\n",
kali);
printf("Pembagian dari a dan b adalah : %d\n",
bagi);
printf("Modulus dari a dan b adalah : %d\n",
sisa_bagi);
getch();
return 0;
}
Latihan (2)
1. Buka program baru kembali, klik menu File – New
2. Ganti file, KlikFile – Save (F2) – ganti NONAME00.CPPmenjadi opr32.c.
3. KlikOk atau Enter untuk memulai menulis kode program.
4. Selanjutnya tulis program berikut Latihan program 2.2 opr32.c
int main()
{
char nama[20], kursus[20];
float praktek, teori, total_nilai;
clrscr();
printf("Input Nama : "); scanf("%s", &nama);
printf("Input Kursus : "); scanf("%s", &kursus);
printf("Input Nilai praktek : "); scanf("%f",
&praktek);
printf("Input nilai teori : "); scanf("%f", &teori);
total_nilai = (praktek + teori)/2;
printf("Total nilai %s adalah %4.2f", nama,
total_nilai);
getch();
return 0;
}
Latihan (3)
1. Buka program baru, klik File – New
2. Simpan program, klik File – Save (F2), ganti NONAME00.CPP dengan opr33.c
3. Tulis (ketik) program berikut ke kotak editor
Modul Praktikum Algoritma dan Pemrograman 2
int main() {
int i, bilangan;
clrscr();
printf("Input bilangan : "); scanf(nomor);
if(bilangan>0 && bilangan<=bilangan) {
for(i=0; i<bilangan; i++) {
printf("Nilai i adalah %d\n", i);
}
}
getch();
return 0;
}
Latihan (4)
1. Buka program baru kembali, klik menu File – New
2. Ganti file, KlikFile – Save (F2) – ganti NONAME00.CPPmenjadi opr34.c.
3. KlikOk atau Enter untuk memulai menulis kode program.
4. Selanjutnya tulis program berikut Latihan program 2.2 opr34.c
int main()
{
int x = 5;
int Total = 13;
clrscr();
printf("Nilai Total = %d \n", Total += x );
printf("Nilai Total= %d \n", total -= x );
printf("Nilai Total = %d \n", Total *= x );
printf("Nilai Total= %d \n", total /= x );
printf("Nilai Total = %d \n", Total %= x );
getch();
return 0;
}
int main() {
int i=2, bilangan;
float sgtiga, alas, tinggi;
float volume, jejari, lingkaran;
/* Data berdasarkan wikipedia */
const float PHI =
3.14159265358979323846264338327950288419716939937510;
clrscr();
printf("Input bilangan : "); scanf("%d", &bilangan);
while(i!=bilangan) {
if (i>0) {
printf("\Input alas : ");
scanf("%f", &alas);
printf("Input tinggi : ");
scanf("%f", &tinggi);
sgtiga = 0.5 * alas * tinggi;
printf("Luas segitiga adalah %4.2f\n\n",
sgtiga);
}
return 0;
}
Modul Praktikum Algoritma dan Pemrograman 2
MODUL 4
STRUKTUR KEPUTUSAN
A. IF Statement
Merupakan struktur pilihan yang terdiri dari ekspresi boolean yang diikuti oleh
satu atau lebih statement. Ekspresi boolean selalu bernilai benar atau salah sebagai
syarat terpilihnya suatu keputusan yang akan diambil. Statement yang dipilih harus
memenuhi persyaratan yang ditentukan berdasarkan kebutuhan. Sruktur keputusan
untuk model ini menggunakan struktur dasar sebagai berikut :
Struktur dasar keputusan diatas dapat diartikan dengan melihat bagan alur
berikut ini :
Dimana jika nilai suatu variabel memenuhi syarat pada conditionmaka statement
akan dikerjakan dan jika tidak memenuhi syarat, maka statement akan diabaikan.
Dengan kata lain, struktur If Statement merupakan struktur dengan opsi tunggal.
Sehingga jika kondisi variabel tidak terpenuhi pada nilai benar, maka statement
diabaikan.
B. Else .. Statement
Jika dilihat dari struktur dasarnya, struktur keputusan else..statement ini
merupakan struktur dengan dua pilihan yang menanti untuk dijalankan. Statement
akan dijalankan berdasarkan kondisinya. Perhatikan struktur dasar keputusan else ..
statement berikut ini :
if(boolean_expression) {
statement_one;
} else {
Statement_n;
}
Modul Praktikum Algoritma dan Pemrograman 2
C. Else If Ladder
Struktur keputusan ini merupakan pengembangan dari struktur else …
statement. Dalambeberapa referensi struktur ini disebut juga dengan nama if
mejemuk. Dimana ada banyak opsi dengan syarat kondisi yang berbeda. Setiap opsi
statement yang akan dijalankan bergantung kepada syarak kondisinya masing-
masing. Untuk lebih mudah memahaminya, perhatikan bagan alur berikut :
if(condition_expression_One) {
statement1;
} else if (condition_expression_Two) {
statement2;
} else if (condition_expression_Three) {
statement3;
} else {
statement4;
}
D. Nested If
Ada kalanya struktur keputusan mengandung struktur keputusan lain
didalamnya. Kasus seperti ini disebut dengan nested if. Dimana ada struktur if dalam
struktur if. Ini disebut juga dengan struktur if bersarang, dimana struktur if di
dalamnya merupakan anak dari struktur if yang berada pada posisi paling luar.
Struktur dasar struktur if bersarang dapat melihat struktur keputusan berikut :
if( boolean_expression 1) {
statemen_if_utama;
if(boolean_expression 2) {
statement_if_within_if;
}
}
Modul Praktikum Algoritma dan Pemrograman 2
E. Switch Statement
Struktur ini merupakan struktur keputusan dengan banyak opsi, dimana
keputusan untuk menjalankan ekspresi perintah didasarkan pada syarat pada
kondisi tertentu. Struktur ini hampir sama dengan struktur Else If Ladder.Hanya saja
else if ladder memiliki batasan opsi yang dapat ditangani.
Struktur dasar penulisan dengan switch (case) mengacu pada bagan alur else if
ladder diatas. Sehingga, sturktur penulisannya dapat melihat struktur berikut :
switch(expression){
case value-1:
block-1;
break;
case value-2:
block-2;
break;
case value-3:
block-3;
break;
case value-4:
block-4;
break;
default:
default-block;
break;
}
Contoh (1)
1. Jalankan Editor Program Turbo C++, lalu buka program baru, klik File –New
2. Simpan program terlebih dahulu, klik File – Save As.., ganti NONAME00.CPP
menjadi opt40.c
3. Selanjutnya tulis program berikut pada editor turbo C++
int main()
{
clrscr();
if ( 5 < 10 )
printf( "Lima lebih besar dari 10" );
getch();
return 0;
}
4.5 LATIHAN
Tingkatkan kompetensi pemrogramanmu dengan meperbanyak latihan.
Kerjakanlah latihan-latihan program berikut, analisa dan perbaiki setiap
permasalahan yang ada. Laporkan hasil praktikum dalam bentuk laporan. Untuk
mempermudah praktikum, ikuti langkah-langkah praktikum dengan seksama.
Latihan (1)
1) Buka program baru, pilih menu File – New
2) Ganti nama program, klikFile – Save As..gantiopt41.c, Ok atau Enter
3) Selanjutnya tulis kode program berikut
Modul Praktikum Algoritma dan Pemrograman 2
int main()
{
int usia;
clrscr();
printf( "Input usia Anda : " );
scanf( "%d", &usia );
if ( usia < 100 ) {
printf ("Kamu gadis muda yang cantik!\n" );
}
else if ( usia == 100 ) {
printf( "Kamu sudah tua\n" );
}
else {
printf( "Kamu sudah terlalu tua\n" ); }
getch();
return 0;
}
Latihan (2)
1. Buka program baru, klik menu File – New
2. Simpan program, klikFile – Save As.. – ganti nama file menjadi opt42.c.
3. Selanjutnya tulis program berikut :
int main () {
int a = 100;
int b = 200;
clrscr();
if( a == 100 ) {
if( b == 200 ) {
printf("Nilai a adalah 100 dan b adalah 200\n" );
}
}
return 0;
}
Latihan (3)
1. Buka program baru, klik menu File – New
2. Simpan program, klikFile – Save As.. – ganti nama file menjadi opt43.c.
3. Selanjutnya tulis program berikut :
int main(){
int nilai;
clrscr();
printf("Masukkan nilai antara 0-100 : ");
scanf("%d", &nilai);
if(nilai>= 80 && nilai<=100){
printf("NILAI KAMU : A\n");
} else if (nilai >= 70 && nilai <= 79){
printf("NILAI KAMU : B\n");
} else if (nilai >= 60 && nilai <= 69){
printf("NILAI KAMU : C\n");
} else if(nilai >= 50 && nilai <= 59) {
printf("NILAI KAMU : D\n");
}
else {
printf("NILAI KAMU : Gagal\n");
}
getch();
return(0);
}
void main() {
int i;;
clrscr();
printf("Masukkan nilai [1-3] : ");
scanf("%d", &i);
switch(i)
{
case 1:
printf("A");
break;
case 2:
printf("B");
break;
case 3:
printf("C");
break;
default:
printf("Kamu salah menekan kuncinya");
break;
}
getch();
}
void main()
{
int a,b,c,pilihan;
clrscr();
while(pilihan!=3)
{
printf("\n 1. Tekan 1 untuk penjumlahan");
printf("\n 2. Tekan 2 untuk pengurangan");
printf("\n Masukkan pilihan kamu: ");
scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
printf("Masukkan 2 bilangan: ");
scanf("%d%d",&a,&b);
MODUL 5
PERULANGAN
A. Perulangan FOR
Perulangan model ini merupakan perulangan dengan jumlah iterasi yang sudah
tetap berapa kali iterasi akan dilakukan. Struktur dasar perulanga Formengacu pada
struktur berikut :
B. Perulangan While
Perulangan while merupakan struktur algoritma dimana perulangan akan terus
dijalankan selaman kondisi bernilai benar. Perulangan yang dimaksud disini bisa saja
berupa perulangan terhadap proses menghitung, mencetak (menampilkan) atau
justeru melakukan iterasi lain didalam perulangan tersebut. Kondisi nilai benar dan
salah adalah kondisi yang menjadi syarat bagi variabel yang menjadi kontrol
keputusan. Struktur perulangan while mengacu pada struktur berikut ini :
Inisialisasi
while(syarat_kondisi)
{
statements;
ekspresi_increment;
}
C. Do..While
Perulangan ini merupakan perulangan hampir sama dengan perulangan while.
Dimana perulangan hanya akan dilakukan selama kondisi bernilai benar. Hanya saja
pada perulanga do..while ini ekspresi dilakukan minimal satu kali. Jika kondisi benar
maka ekspresi selanjutnya akan dilakukan. Dengan kata lain perulangan do..while
mengerjakan ekspresi satu kali terlebih dahulu, kemudian melakukan pengujian
untuk membuat keputusan apakah perulangan dilakukan atau tidak.Untuk
menggunakan perulangan ini mengikuti struktur dasar sebagai berikut :
do{
.....
.....
}
while(condition);
D. Perulangan Nested
Selain ketiga model perulangan diatas perulangan bersarang atau yang disebut
dengan nested loopingjuga sering digunakan dalam pemrogramana. Perulangan
bersarang dapat terjadi pada for, while maupun do..while. Misal perulangan ini
diterapkan pada perulangan for, maka bentuk umum yang dapat digunakan adalah
seperti struktur berikut ini :
Modul Praktikum Algoritma dan Pemrograman 2
Contoh (1)
1. Jalankanlah editor Turbo C, lalu buka program baru, klik File – New
2. Simpan terlebih dahulu untuk menghindari hal-hal yang tidak diinginkan
3. Klik File – Save As..
4. Ganti NONAME00.CPP menjadi cth50.c
5. Selanjutnya ketika program seperti berikut
void main( )
{
int x;
for(x = 1; x <= 10; x++)
{
printf("%d\t", x);
}
}
Contoh (2)
1. Buka program baru, klik File – New
2. Simpan program, File – Save As..
3. Ganti program dengan nama cth51.c
4. Tik program berikut :
int main () {
int a = 10;
clrscr();
while( a < 20 ) {
printf("Nilai a adalah : %d\n ", a);
a++;
}
getch();
return 0;
}
5.5 LATIHAN
Berikut ini diberikan beberapa latihan program, lakukanlah tahap demi tahap.
Ikuti panduan yang ada untuk mempermudah proses latihan.
Latihan (1)
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop51.c, klik File – Save As..
3. Tik program berikut :
clrscr();
printf("Input bilangan : ");
Modul Praktikum Algoritma dan Pemrograman 2
scanf("%d", &bilangan);
Latihan (2)
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop52.c, klik File – Save As..
3. Tik program berikut :
clrscr();
printf("Input bilangan bulat positif : ");
scanf("%d",&bilangan);
faktorial = 1;
Latihan (3)
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop53.c, klik File – Save As..
3. Tik program berikut :
#include <stdio.h>
int main()
{
double bilangan, jumlah = 0;
clrscr();
do
{
printf("Masukkan sebuang bilang : ");
scanf("%lf", &bilangan);
jumlah += bilangan;
}
while(bilangan != 0.0);
printf("jumlah = %.2lf",jumlah);
getch();
Modul Praktikum Algoritma dan Pemrograman 2
return 0;
}
Latihan (4)
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop54.c, klik File – Save As..
3. Tik program berikut :
#include <stdio.h>
int main(){
int a,b;
clrscr();
for(a=1; a<10; a++) {
for(b=1; b<a; b++){
printf("%d ", b);
}
printf("\n");
}
getch();
return 0;
}
Kumpulkan studi kasus ini dalam bentuk paper makalah yang ketentuannya sebagai
berikut :
1. Tiklah dengan aplikasi dokumen Word
2. Atur kertas dengan ukuran A4
3. Margin : Kiri dan atas 3 cm, kanan dan bawah 2.54 cm
4. Ukuran font 12 point diantara Calibri, Cambria, Time New Roman
5. Kode program menggunakan font Courier New dengan ukuran 10-11 point
6. Setiap judul harus Bold
7. Gambar dan tabel ditampilkan dengan nomor keterangan
8. Makalah terdiri dari :
a. Halaman sampul
b. Kata pengantar
c. Daftar isi
d. Daftar Gambar
e. Daftar tabel (jika ada)
f. Bab 1 Pendahuluan (sub judul : 1.1, 1.2, 1.3, dan seterusnya)
g. Bab 2 Pembahan (sub judul : 2.1, 2.2, 2.3, dan seterusnya)
h. Bab 3 Kesimpulan (sub judul : 3.1, 3.2, 3.3, dan seterusnya)
i. Daftar pustaka harus buku, ebook, ataupun modul. blog tidak
dibenarkan
9. Program sudah berhasil dikirim ke email pembimbing dalam format .C atau
.txt, kode sumber sebagai berikut :
1. #include <stdio.h>
2. int main(){
3. int i,j;
4.
5. clrscr();
Modul Praktikum Algoritma dan Pemrograman 2
Elemen
Nama_array Elemen
Modul Praktikum Algoritma dan Pemrograman 2
Dari gambar diatas dapat diamati, kelima data tersebut tersusun secara berdekatan.
Karakteristik ini merupakan identifikasi array. VariabelIndeks array selalu bertipe
bilangan bulat (integer), dan pada pemrograman C indeks pertama diawali dengan
nilai 0 (nol). Sehingga jika mengacu struktur array, gambar tersebut menjelaskan
bahwa sebagai berikut :
1. data_nama sebagai array (nama array)
2. Aisyah, Faisal, Abdullah, Hasan, dan Fadhilah adalah elemen data array
3. 0, 1, 2, 3, 4, merupakan indeks array yang berfungsi untuk mengakses setiap
elemen.
A. Pendeklarasian Array
Untuk menggunakan Array dalam bahasa C dapat menggunakan struktur sebagai
berikut :
bilangan[0]=90;
bilangan[1]=76;
bilangan[2]=88;
bilangan[3]=67;
bilangan[4]=83;
sehingga jika mengacu pada data array diatas, untuk mengakses elemen nilai 88,
maka dapat dipanggil dengan struktur bilangan[2];. Indeks0, 1, 2, 3, 4 diwakili
oleh sebuah variabel bertipe bilangan bulat. Umpama variabel diberikan dengan
nama i, maka untuk mengakses kelima elemen tersebut dipanggil dengan struktur
bilangan [i];
tipe_data nama_array[baris][kolom];
untuk array tiga dimensi atau multi dimensi yang lain, dapat menggunakan struktur
berikut :
tipe_data nama_array[baris][kolom][kolom_2];
Inisialisasi nilai array juga dapat diberikan pada array dua dimensi pada saat
pendeklarasian array. Dengan menggunakan contoh berikut, array dapat
dideklarasikan seperti :
int bilangan[3][4] = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
Contoh (1)
1. Jalankan program editor Turbo C
2. Bukan program baru, klik File – New
3. Simpan program, klik menu File – Save As..
4. Tulis program berikut
7.
8. clrscr();
9. for ( i = 0; i < 10; i++ ) {
10. ArrBilangan[i] = i + 100;
11. }
12.
13. for (i = 0; i < 10; i++ ) {
14. printf("Elemen ke [%d] = %d\n",i,
ArrBilangan[i] );
15. }
16. getch();
17. return 0;
18. }
Contoh (2)
1. Jalankan program editor Turbo C
2. Bukan program baru, klik File – New
3. Simpan program, klik menu File – Save As..
4. Tulis program berikut
6.5 LATIHAN
Kerjakanlah latihan-latihan berikut untuk meningkatkan kemampuan
pemrograman, terutama dalam penggunaan struktur array dalam bahasa C. Ikuti
langkah-langkah yang diberikan untuk memudahkan praktikum.
Latihan (1)
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr61.c
3. Tulis program di editor Turbo C,
7.
8. int bilangan[5];
9.
10. clrscr();
11. for (i=0; i<5;i++)
12. {
13. printf("Masukkan bilangan %d \n", (i+1));
14. scanf("%d", &bilangan[i]);
15. }
16.
17. for (i=0; i<5;i++)
18. {
19. jumlah = jumlah+bilangan[i];
20. }
21.
22. rerata = jumlah/5;
23. printf("Rerata dari nilai yang di input adalah :
%d", rerata);
24.
25. getch();
26. return 0;
27. }
Latihan (2)
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr62.c
3. Tulis program di editor Turbo C,
Latihan (3)
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr63.c
3. Tulis program di editor Turbo C,
9. gets(s1);
10. printf("\nInput string Anda adalah :
%s",strrev(s1));
11. getch();
12. return(0);
13. }
A. Pendeklarasian Fungsi
Fungsi dapat ditulis diawal maupun setelah fungsi utama. Pada umumnya para
perancang menuliskan fungsi diawal fungsi utama. Penulisan fungsi yang dilakukan
setelah fungsi utama, harus menyertakan prototype fungsi. Adapun penggunaan
fungsi mengacu pada struktur program berikut ini :
tipe_fungsinama_fungsi( parameter ) {
Tubuh fungsi;
}
Modul Praktikum Algoritma dan Pemrograman 2
Dimana :
- Tipe_fungsi, merupakan tipedata fungsi. Tipe fungsi mengharuskan memiliki
nilai balik fungsi. Tipe data fungsi bergantung kepada tujuan dan hasil yang
ingin dicapai. Fungsi boleh saja tidak memiliki nilai balik fungsi, seperti tipe
void yang tidak memiliki nilai balik fungsi.
- Nama_fungsi, merupakan nama yang diberikan kepada fungsi tersebut.
Biasanya nama fungsi mewakili tugas yang akan dikerjakan oleh fungsi
- Parameter, merupakan identifier, variabel dan atau tipe data yang digunakan
oleh variabel-variabel yang berada di tubuh fungsi, yang disebut dengan
variabel lokal.
- Tubuh fungsi, bagian ini adalah bagian inti fungsi, yang berisi pernyataan-
pernyataan yang ditujukan untuk dilakukan oleh fungs.
return hasil;
}
B. Prototipe Fungsi
Dalam bahasa C, suatu fungsi harus dinyatakan sebelum dapat dipanggil. Ini dapat
dicapai dengan menempatkan definisi fungsi sebelum digunakan, atau
mendeklarasikan apa yang disebut dengan prototipe fungsi.
Prototipe fungsi memberitahu kompilator antarmuka fungsi, yaitu, tipe-kembali,
nama fungsi, dan daftar jenis parameter (jumlah dan jenis parameter). Penggunaan
prototipe fungsi memungkinkan perancang program dapat meletakkan fungsi
dimana saja, baik diawal program maupun jauh dibawah program utama (fungsi
utama). Prototipe fungsi dideklarasikan setelah preporcessor dengan format sebagai
berikut :
Berikut ini disajikan struktur fungsi yang dapat diamati pada gambar berikut :
C. Pemanggilan Fungsi
Pemanggilan fungsi dilakukan untuk melihat hasil yang dilakukan oleh fungsi,
yang diletakkan pada tubuh fungsi utama atau main ().Pemanggilan fungsi dapat
dilakukan dengan dua cara :
1) Pemanggilan dengan nilai fungsi (call by value)
Pemanggilan fungsi dengan metodecall by valuememiliki karakteristik sebagai
berikut :
- Dalam panggilan dengan metode nilai, nilai variabel dilewatkan ke fungsi
sebagai parameter.
- Nilai parameter aktual tidak dapat dimodifikasi oleh parameter formal.
- Memori yang berbeda dialokasikan untuk parameter aktual dan formal,
karena, nilai parameter aktual disalin ke parameter formal.
2) Pemanggilan dengan referensi fungsi (call by reference)
Pemanggilan fungsi dengan metode call by reference memiliki karakteristik
sebagai berikut :
- Dalam panggilan dengan metode referensi, alamat variabel dilewatkan ke
fungsi sebagai parameter.
- Nilai parameter aktual dapat dimodifikasi dengan parameter formal.
- Memori yang sama digunakan untuk parameter aktual dan formal karena
hanya alamat yang digunakan oleh kedua parameter.
D. Rekursif
Rekursi adalah proses pengulangan ekspresi dengan cara yang sama di dalam
fungsi yang sama. Beberapa referensi menyebut perulangan fungsi ini dengan istilah
fungsi yang memanggil nama fungsi itu sendiri.
Modul Praktikum Algoritma dan Pemrograman 2
void recursion() {
recursion();
}
int main() {
recursion();
}
Contoh (1)
1. Jalankan program editor Turbo C, selanjutnya buat program baru, File –New
2. Simpan program terlebih dahulu dengan nama cthfg70.c, File – Save As..
3. Kemudian tik-lah program berikut, perhatika kode sumbernya agar proses
kompilasi tidak menampilkan error
Contoh (2)
1. Buat program baru, File – New
2. Simpan program dengan nama cthfg71.c, File – Save As..
3. Kemudian tik-lah program berikut,
7.5 LATIHAN
Kerjakanlah latihan-latihan berikut untuk meningkatkan kemampuan
programming yang kamu miliki. Semakin sering berlatih semakin baik kompetensi.
Ikuti langkah-langkah latihan untuk mempermudah proses praktikum.
Latihan (1)
1. Buat program baru, File – New
2. Simpan program, File – Save As..
3. Ketik program dengan nama fungsi71.c
Latihan (3)
1. Buat program baru, File – New
2. Simpan program, File – Save As..
3. Ketik program dengan nama fungsi73.c
Latihan (5)
1. Buat program baru, File – New
2. Simpan program, File – Save As..
3. Ketik program dengan nama fungsi75.c
MODUL 8
STRUCTURE
variabel1 tipe1;
variabel2tipe2;
...
Variabel_n tipe_n;
} [variabel_gabungan];
Contoh :
Struct {
char judul[50];
char penulis[50];
char pelajaran[100];
int kode_buku;
} data_buku;
Mengacu pada contoh diatas, ini dapat diartikan dengan judul, penulis, pelajaran, dan
kode_buku adalah variabel-variabel yang dimiliki oleh struktur data data_buku
dengan tipe struct.
tipe_structure.nama_variabel;
contoh data_buku.judul;
Contoh (1)
1. Buka program baru, File – New
2. Simpan programuntuk menghindari hal-hal yang tak diinginkan. Klik File –
Save As..ganti nama NONAME00.CPP dengan cthstr80.c
3. Selanjutnya tulis program pada editor
Modul Praktikum Algoritma dan Pemrograman 2
8.5 LATIHAN
Untuk meningkatkan pemahaman tentang tipe structurei ini, kerjakanlah latihan-
latihan berikut. Perhatikan langkah demi langkah agar proses penyelesaian latihan
menjadi lebih mudah. Catat setiap keluaran pada kotak yang tersedia dengan
mebubuhkan sedikit kesimpulan berdasarkan analisan masing-masing.
Latihan(1)
1. Buka program baru, klik File – New
2. Simpan program dengan nama struct80.c, klik File – Save As..
3. Ketik program berikut sampai selesai
Latihan (2)
1. Buka program baru, File – New
2. Simpan program, klik File – Save As..ganti nama, struct82.c ,
3. Tulis program pada editor sampai selesai
21.
22. // Data kedua
23. record[1].no_mhs=2;
24. strcpy(record[1].nama, "Hasan");
25. record[1].persentase = 90.5;
26.
27. // Data ketiga
28. record[2].no_mhs=3;
29. strcpy(record[2].nama, "Fatimah");
30. record[2].persentase = 81.5;
31.
32. for(i=0; i<3; i++)
33. {
34. printf(" Data mahasiswa : %d \n", i+1);
35. printf(" Nomor Mahasiswa : %d \n",
record[i].no_mhs);
36. printf(" Nama Mahasiswa : %s \n",
record[i].nama);
37. printf(" Persentasenya : %lf\n",
record[i].persentase);
38. printf("\n");
39. }
40. getch();
Modul Praktikum Algoritma dan Pemrograman 2
41. return 0;
42. }
Latihan (4)
1. Buka program baru, File – New
2. Simpan program, klik File – Save As..ganti nama, struct84.c ,
3. Tulis program pada editor sampai selesai
DAFTAR PUSTAKA