Anda di halaman 1dari 96

FINAL PROJECT

PRAKTIKUM BAHASA PEMOGRAMAN 1


MODUL 1 - 8
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A
,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
FINAL PROJECT
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL 1 - 8
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL 1 - SE:UENTIAL PROGRAMMING
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : 1 (Satu)
Judul : Sequential Programming
Rombongan :
!roup : "
Suraba#a$ 1" %ktober "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;/
(PM:
MODUL 1
SE:UENTIAL PROGRAMMING
I5 D&s&' Teo'i
Pemrograman sekuensial merupakan dasar) inti dari pemrograman* +onsep pemrograman
ini adalah top do,n$ bera,al dari atas sampai akhirn#a paling ba,ah* alam paradigma
pemrograman prosedural$ modular maupun obje-t oriented$ konsep sekuensial tetap digunakan*
.ompiler bahasa pemrograman mengubah (menerjemahkan) teks sour-e -ode menjadi
program *e/e #ang siap dijalankan* Proses kompilasi dilakukan dari baris sour-e -ode #ang
paling atas hingga paling ba,ah* 0tulah kenapa sebabn#a pen#ertaan 1ile librar#) header (dan
biasan#a juga deklarasi 2ariabel) selalu ditaruh di bagian a,al sour-e -ode* Misal (dalam bahasa
Ja2a) perintah import ja2a*util*3 mempun#ai makna bah,a sour-e di bagian setelahn#a akan ada
penggunaan perintah) atribut) -lass #ang dimiliki oleh pa-kage ja2a*util* Sehingga ketika
kompilasi men-apai baris tersebut$ -ompiler sudah siap untuk menerjemahkan karena sudah
diberitahu sebelumn#a oleh baris statemen import di bagian a,al*
Pola pemrograman sekuensial sangatlah sederhana* Biasan#a berupa alur input data
dilanjutkan segmen pemrosesan data dan diakhiri dengan output in1ormasi #ang dihasilkan*
.ontohn#a program menghitung luas lingkaran* ia,ali dengan permintaan input nilai jari4jari
dari user$ kemudian akan dihitung luasn#a oleh program #ang dibuat menggunakan rumus phi
kali jari4jari kuadrat* an akhirn#a hasil perhitungan luas diin1ormasikan kembali ke user
melalui perintah output*
II5 So&l
1* Program Penghitungan 5uas Bangun Segitiga*
a* Buatlah 'lgoritma dari program Penghitungan 5uas Bangun Segitiga6
b* Buatlah 7lo, .hart dari program Penghitungan 5uas Segitiga6
-* Buatlah Sour-e .ode program Penghitungan 5uas Segitiga dengan inputan alas$
tinggi 8 output 5uas6
d* Buatlah %utput (hasil) jalann#a program Penghitungan 5uas Segitiga6

III5 Al<o'i(m&
L1&s Se<i(i<& "
1* Mulai*
"* Masukkan nilai dari alas segitiga*
9* Masukkan nilai dari tinggi segitiga*
:* Berlanjut menjalankan proses perhitungan 5uas Segitiga ( 5 ; &*<3alas3tinggi )
<* .etak hasil dari perhitungan 5uas Segitiga*
=* Selesai
I75 Flo3 C=&'(
L1&s Se<i(i<& "
75 So1'>e Co?e
L1&s Se<i(i<&:
#include "stdio.h"
void main()
{
// pendeklarasian (inisialisasi) variabel:
float alas,tinggi,L!"# /$ pendeklarasian (inisialisasi) variabel
alas, tinggi,% L!" bertipe data float(bil.real)$/
// &udul program
printf("'n't't $$$$ (rogram (enghitungan L!" ")*+,+*! $$$$")#
printf("'n")#
printf("'n")#
//baris pemisah
printf("'t't--../0../0../0../0../0../0../0../0../0../0..--'n")#
printf("'t't +nputkan nilai alas't't: ")#
scanf("1f", %alas)# /$ inputkan nilai dari alas segitiga 2ang akan
di hitung $/
printf("'t't +nputkan nilai tinggi't: ")#
scanf("1f", %tinggi)# /$ inputkan nilai dari tinggi segitiga 2ang
akan di hitung $/
// baris pemisah
printf("'t't--..33..33..33..33..33..33..33..33..33..33..--'n")#
// proses penghitungan dari L!" "egitiga
L!".4.5f$alas$tinggi# /$ rumus L!" ")*+,+*! : 6/7 8 alas 8
tinggi $/
// hasil dari proses penghitungan L!" "egitiga
printf("'t't-- 9adi, Luas :angun "egitiga't: 1;.6f cm7 --'n",
L!")# /$ hasil dari perhitungan bertipe data float $/
// baris pemisah
printf("'t't--'t't't't't --'n")#
// ucapan terima kasih serta kritik % saran
printf("'t't--33333333333333 ,erima <asih 33333333333333--'n")#
printf("'t't--========>ohon <ritik % "aran !nda?========--'n")#
// baris pemisah
printf("'t't--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@--'n'n")#
A
7I5 O
1
(

1
(
P'o<'&m
7II5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ pada bagian ini adalah pengarah -ompiler 2isual .AA* >in-lude
memberitahukan 2isual .AA untuk mengambil nama 1ile #ang disertakan dalam tanda
petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Boid main ( ) pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
C adalah kurung kura,al buka menandakan a,al program*
0nt nilaiDETSF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama
untuk men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
Float alas, tinggi, LUAS; adalah pendeklarasian suatu t#pe data dari sebuah 2ariabel alas$
tinggi$ 8 5E'S$ dimana 2ariabel tsb* Merupakan t#pe data dari 1loat (desimal)*
// /* tanda di samping adalah sebuah karakter #ang memiliki 1ungsi untuk memberikan
komentar pada sebuah karakter di antara tanda tsb*
LUAS=0.5f*alas*tinggi; adalah deklarasi dari rumus luas perhitungan segitiga$ tanda ?3@
merupakan suatu karakter #ang memiliki 1ungsi sebagai operasi perkalian*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
7III5 Kesim1l&)
Pada modul 1 ini dapat disimpulkan bah,a Sequential Programming adalah suatu bahasa
pemrograman dimana tidak ada pen#elesaian kondisi* Sequential (sekuensi) merupakan suatu
struktur kontrol algoritmik #ang paling sederhana$ dimana di dalamn#a terdiri dari sederetan
instruksi primiti1 dan)atau aksi #ang akan dilaksanakan (dieksekusi) oleh komputer berdasarkan
urutan penulisann#a*
Sequential adalah Proses menjelaskan alur logika dari program se-ara berurutan atau
proses pen#elesaian masalah dari sebuah program se-ara berurutan* Mulai pende1inisian
(pendeklarasian) 2ariable$ penetapan spesi1ikasi masalah$ proses$ dan pen-etakan output
program* Jadi$ bias disimpulkan bah,a Sequential adalah pemrograman sederhana #ang han#a
dapat meme-ahkan masalah4masalah #ang sederhana*
Meskipun program ini han#a program sederhana namun jika kita telah mengetahui dan
mengerti alur dan logikan#a maka kita pasti akan dapat mengerti untuk soal4soal #ang
berikutn#a*
@I* D&A(&' P1s(&!&
http !!!.googl".co#/s"$%"ntial progra##ing/
http!!!.&ocsto'.co#/t"ori &asar s"$%"ntial progra##ing/
(%'% )o&%l Pra'ti'%# (ahasa P"#rogra#an * UP+ ,-"t"ran. /a!a 0i#%r
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL # 6 PERCABANGAN ,BRANCHING/
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : " (ua)
Judul : Per-abangan (Bran-hing)
Rombongan :
!roup : "
Suraba#a$ %ktober "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL #
PERCABANGAN ,BRANCHING/
I5 D&s&' Teo'i
Pen#eleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses* Pen#eleksian kondisi
dapat diibaratkan sebagai katup atau kran #ang mengatur jalann#a air* Bila katup terbuka maka air akan
mengalir dan sebalikn#a bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat
lain* 7ungsi pen#eleksian kondisi penting artin#a dalam pen#usunan bahasa .$ terutama untuk program
#ang kompleks*
15 S('1!(1' Ko)?isi 8IA5559
Struktur i1 dibentuk dari pern#ataan i1 dan sering digunakan untuk men#eleksi suatu kondisi tunggal*
Bila proses #ang diseleksi terpenuhi atau bernilai benar$ maka pern#ataan #ang ada di dalam blok i1 akan
diproses dan dikerjakan* Bentuk umum struktur kondisi i1 adalah :
.ontoh Program 1 :
Program struktur kondisi if untuk memeriksa suatu kondisi
If (kondisi)
{
Pernyataan1;
..........
Pernyataan_n;
}
Bentuk di atas mempun#ai arti jika kondisi bernilai benar maka pern#ataan di ba,ahn#a akan dikerjakan*
Jadi perintah 07 merupakan perintah #ang menentukan pengambilan keputusan bah,a pern#ataan itu akan
dikerjakan atau tidak*
#5 S('1!(1' Ko)?isi 8IA555Else5559
alam struktur kondisi i1*****else minimal terdapat dua pern#ataan* Jika kondisi #ang diperiksa
bernilai benar atau terpenuhi maka pern#ataan pertama #ang dilaksanakan dan jika kondisi #ang diperiksa
bernilai salah maka pern#ataan #ang kedua #ang dilaksanakan* Bentuk umumn#a adalah sebagai berikut :
.ontoh Program :
01 (kondisi)
C
Pern#ataan 1F
GG**
Pern#ataanDmF
H
Ilse
C
Pern#ataan :F
GG**
Pern#ataanDnF
H
-5 Ko)?isi
+ondisi adalah sebuah perbandingan antara dua nilai (2ariabel 2s 2ariabel$ 2ariabel 2s
konstanta)* alam membandingkan digunakan oe'&(o' e'B&)?i)<&) adalah :
1* ;;
"* J
9* K
:* J;
<* K;
=* 6;
Jika kondisi lebih dari satu$ maka digunakan %perator 5ogik$ adalah:
1* 6 (%T
"* 88 '(
9* LL %R
.5 S('1!(1' Ko)?isi 8S3i(>=5555C&se5555DeA&1l(C9
Struktur kondisi switch....case....default digunakan untuk pen#eleksian kondisi dengan
kemungkinan #ang terjadi -ukup ban#ak* Struktur ini akan melaksanakan salah satu dari beberapa
pern#ataan M-aseN tergantung nilai kondisi #ang ada di dalam s,it-h* Selanjutn#a proses diteruskan hingga
ditemukan pern#ataan MbreakN* Jika tidak ada nilai pada -ase #ang sesuai dengan nilai kondisi$ maka
proses akan diteruskan kepada pern#ataan #ang ada di ba,ah Mde1aultN* Bentuk umum dari struktur
kondisi ini adalah :
.ontoh :
S,it-h (ekspresi)
C
.ase konstanta1: pern#ataan1FbreakF
.ase konstanta": pern#ataan"FbreakF
*******
.ase konstantaDn: pern#ataanDnFbreakF
e1aultF
Pern#ataanD/F
H
II5 So&l
1) Buatlah program seleksi (ilai ETS dengan kategori nilai sbg berikut :
((ilai . ; :1 s)d =<)
((ilai B ; == s)d O&)
((ilai ' ; O1 s)d 1&&)
III5 Al<o'i(m&
1* Mulai
"* Masukkan (inputkan) nilai ETS
9* Jika inputan termasuk dalam kondisi nilai ETS J; :1 '( K; =<$ maka perintah
men-etak perkataan ?(ilai 'nda : .@ akan dikerjakan 8 dilanjutkan langsung ke
langkah #ang ke P* (amun jika tidak$ maka akan mengerjakan langkah ke :*
:* Jika inputan termasuk dalam kondisi nilai ETS J; == '( K; O&$ maka perintah
men-etak perkataan ?(ilai 'nda : B@ akan dikerjakan 8 dilanjutkan langsung ke
langkah #ang ke P* (amun jika tidak$ maka akan mengerjakan langkah ke <*
5. Jika inputan termasuk dalam kondisi nilai ETS J; O1 '( K; 1&&$ maka perintah
men-etak perkataan ?(ilai 'nda : '@ akan dikerjakan dan dilanjutkan mengerjakan
langkah ke P* (amun jika tidak$ maka akan langsung ke langkah #ang ke =*
=* Jika inputan tidak termasuk dalam semua pen#eleksian kondisi nilai diatas$ maka
perintah men-etak perkataan ?Mohon maa1$ nilai anda tidak masuk kategori #ang telah
ditentukan66@ lalu dilanjutkan mengerjakan langkah ke P*
P* Selesai
15 FLO+CHART
#5 So1'>e Co?e
START
Int nilai_UTS
Masukkan Nilai
UTS Anda :
(Nilai UTS >= 41
&& <= 65)
(Nilai UTS >= 66
&& <= !)
"als#
(Nilai UTS >= 1
&& <= 1!!)
"als#
$#tak %Nilai
Anda : $&
t'u#
$#tak %Nilai
Anda : (&
t'u#
$#tak %Nilai
Anda : A&
t'u#
$#tak %M)*)n +aa", nilai
anda tidak +asuk kat#-)'i
.an- t#la* dit#ntukan//&
"als#
0N1
#include"stdio.h"
void main()
{
int nilai=,"#
printf("'n $.... "eleksi Bilai ," ....$'n")#
printf("33333333333333333333333333333333333'n")#
printf(" .0 >asukkan Bilai ," !nda : ")#
scanf("1i", %nilai=,")#
printf("33333333333333333333333333333333333'n")#
if (nilai=," 0. C6 %% nilai=," /. D5)
printf("'t Bilai anda : E'n'n")#
else if(nilai=," 0. DD %% nilai=," /. F4)
printf("'t Bilai anda : :'n'n")#
else if (nilai=," 0. F6 %% nilai=," /. 644)
printf("'t Bilai anda : !'n'n")#
else printf(" >ohon maaf,nilai anda tidak masuk 'n kategori
Bilai ," 2ang telah'n't ditentukan??'n'n")#
A
-5 O1(1( P'o<'&m
.5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ pada bagian ini adalah pengarah -ompiler 2isual .AA* >in-lude
memberitahukan 2isual .AA untuk mengambil nama 1ile #ang disertakan dalam tanda
petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Boid main ( ) pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
C adalah kurung kura,al buka menandakan a,al program*
0nt nilaiDETSF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama
untuk men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
If ( ) adalah jika kondisi bernikai benar$ maka perintah akan dikerjakan dan jika tidak
memenuhi s#arat maka akan di abaikan*
1ls" If ( ) adalah jika kondisi salah*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
%5 Kesim1l&)
+esimpulan dari laporan ini adalah Pada intin#a adalah :
1* Per-abangan adalah pemilihan pelaksanaan perintah berdasarkan suatu kondisi* dan i1
else sendiri adalah merupakan salah satu -ara untuk membuat suatu per-abangan
(2rancing)* selain dengan menggunakan i1 else per-abangan juga bisa dibuat seperti
dengan S,it-h .ase$ (ested 01 $dll tergantung bagaimana per-abangan itu diperlukan*
"* 01 else sendiri mempun#ai pengertian ?jika kondisi bernilai benar maka perintah41
akan di kerjakan dan jika tidak memenuhi s#arat maka akan mengerjakan perintah4"@*
9* +eberhasilan dalam suatu program bran-ing salah satun#a di tentukan oleh algoritma
#ang baik$ maka hendakn#a sebelum membuat program buatlah suatu algoritma #ang
baik terlebih dulu agar nantin#a dalam pembuatan program tidak ban#ak terjadi
kesalahan*
@I* D&A(&' P1s(&!&
http !!!.googl".co#/&asar t"ori p"rca2angan/
http!!!.&ocsto'.co#/p"rca2angan (2ranching)/
(%'% )o&%l Pra'ti'%# (ahasa P"#rogra#an * UP+ ,-"t"ran. /a!a 0i#%r
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL - 6 PERULANGAN ,LOOPING/
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : 9
Judul : Perulangan (5ooping)
Rombongan :
!roup : "
Suraba#a$ (o2ember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL -
PERULANGAN ,LOOPING/
I5 D&s&' Teo'i
Perulangan adalah perintah pengulangan #ang di gunakan untuk melakukan suatu proses
se-ara berulang4ulang jika suatu kondisi dipenuhi atau sebalikn#a* Mengulang suatu proses
merupakan tindakan #ang ban#ak dijumpai dalam suatu pemrograman* Pada semua bahasa
pemrograman pengulangan proses ditangani dengan suatu mekanisme #ang disebut 5%%P*
Misal$ menampilkan tulisan seban#ak mungkin pada la#ar dapat di implementasikan dengan
kode program #ang pendek* Pada Baha-a . terdapat tiga buah struktur loop$ #aitu berupa 7%R$
%4QR05I$ dan QR05I*
5oop atau di sebut juga perulangan #aitu suatu proses #ang melakukan statemen4statemen
dalam sebuah program se-ara terus menerus sampai terdapat kondisi untuk menghentikann#a*
Jenis statemen perulangan :
,hile
do4,hile
1or (positi1 or negati1)
15 S('1>!(1' ,+=ileC/
#aitu perulangan #ang melakukan penge-ekan kondisi di a,al blok struktur$ perulangan ini
han#a akan dilakukkan jika kondisi #ang di de1inisikan di dalamn#a terpenuhi (bernilai
benar) dan jika kondisi #ang di de1inisikan tidak terpenuhi (bernilai salah) maka statement4
statement #ang terdapat di dalam blok perulanganpun tidak akan pernah dieksekusi oleh
program*
.ontoh Program Qhile :
i;9&F
,hile(iJ&)
C
print1(?SdTn@$i)F
iAAF
H
#5 S('1!(1' ,DoC+=ileC/
Struktur ini berbeda dengan struktur ,hile #ang melakukan penge-ekan kondisi di a,al blok
perulangan$ pada struktur do4,hile kondisi justru ditempatkan di bagian akhir* Biasan#a
struktur ini melakukkan perulangan terlebih dahulu dan pengujiann#a dilakukan di belakang*
.ontoh Statement Program o 4 Qhile :
.ounter;1F
doC
print1(?.AATn@)F
-ounterAAF
H,hile(-ounterK1<)F
-5 S('1!(1' ,Fo'C/
Struktur ini biasan#a digunakan untuk melakukan perulangan #ang telah diketahui
ban#akn#a* Entuk melakukkan perulangan dengan menggunakan struktur ini$ kita harus
memiliki sebuah 2ariabel sebagai indeksn#a* perhatikan bah,a tipe data dari 2ariabel #ang
akan digunakan sebagai indeksn#a haruslah tipe data #ang mempun#ai urutan #ang teratur$
misaln#a tipe data int (&$1$"$G) atau -har (a$b$-$G)
.ontoh Statement Program 7or :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
Bila pern#ataan didalam for lebih dari satu maka pern#ataan4pern#ataan tersebut harus
diletakan didalam tanda kurung*
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
+egunaan dari masing4masing argumen for diatas adalah :
0nisialisasi : merupakan bagian untuk memberikan nilai a,al untuk 2ariabel42ariabel
tertentu*
S#arat Pengulangan : memegang kontrol terhadap pengulangan$ karena bagian ini #ang
akan menentukan suatu perulangan diteruskan atau dihentikan*
Pengubah (ilai Pen-a-ah : mengatur kenaikan atau penurunan nilai pen-a-ah*
II5 So&l
1* Buatlah program #ang memiliki 1ungsi untuk menampilkan ( (;inputan user) bilangan
pertama deret 7ibbonan-i* eret 7ibbonan-i adalah : &$1$"$9$<$O$19$"1$9:$G
III5 Al<o'i(m&
1) Mulai*
") Masukkan nilai ( (( adalah bilangan #ang akan dihitung nilai 7ibbonan-in#a )*
9) Set Bariabel sukuDiD1 ; &*
:) Set Bariabel sukuDiD" ; 1*
<) Ritung 7ibbonan-i ; sukuDiD1 A sukuDiD"*
=) SukuDi ; sukuDiD1 A sukuDiD"*
P) 'pakah sukuDi K; (U Jika ?T0'+@ kembali ke langkah (:)*
O) Jika ?V'@ tampilkan nilai 7ibbonan-i*
W) 'pakah ingin mengulang program(V)T)U Jika inputan ; M#N)NVN kembali ke langkah (1)*
1&) (amun jika inputan ; MtN)NTN kerjakan langkah (W)*
11) Selesai*
I75 Flo3>
=&'(
Sta't
In2utkan N :
Suku_i_1 = !
Suku_i_3 = 1
4i55)nan6i = Suku_i_1 7
Suku_i_3
Suku_i = Suku_i_1 7
Suku_i_3
8*il# (Suku_i <= N)
$#tak 1#'#t
4i55)nan6i :
t'u#
"als#
Int = N
$*a' = 9:5
8*il# (;:5 == <.= >>
;:5 == =?=)
In-in
M#n-ulan-
@')-'a+A
t'u#
0nd
$#tak %T#'i+a
Basi*&
"als#
75 So1'>e Co?e
#include"stdio.h"
#include"GindoGs.h"
void main()
{
int B# // pendeklarasian nilai inputan B
char 2es# // pendeklarasian inputan &Gaban utk mengulang program
do
{
s2stem("cls")# // utk membersihkan la2ar
// baris pemisah % &udul program
printf("'n================================================='n")#
printf(" $$$(rogram (encetak Bilai Heret Iibbonanci$$$'n")#
printf(".................................................'n")#
// inputan nilai deret Iibbonanci
printf(" >asukkan Bilai (lebih besar dari 6)'t: ")#
scanf("1i",%B)#
// baris pemisah hasil dri inputan
printf(".................................................'n")#
printf(".0 Jasil : ")# // hasil deret Iibbonanci
int suku,suku=i=6,suku=i=7,suku=i#
suku.4#
suku=i=6.6#
suku=i=7.6#
suku=i.suku=i=6 K suku=i=7#
printf("1d ", suku)#
printf("1d ", suku=i=6)#
printf("1d ", suku=i)#
int i . 4#
Ghile(suku=i/.B)
{
suku=i=7.suku=i=6#
suku=i=6.suku=i#
suku=i.suku=i=6Ksuku=i=7#
iKK#
printf("1d ", suku=i)#
A
printf("'n.................................................'n")#
fflush(stdin)#
printf("'n't+ngin >engulang (rogramLL (M/,) : ")#
scanf("1c",%2es)#
A
Ghile(2es .. N2N--2es .. NMN)#
printf("'n===================,erima
<asih=================='n'n")#
A
7I5 O1(1( P'o<'&m
7II5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ 8 >in-lude ?,indo,s*h@ pada bagian ini adalah pengarah -ompiler
2isual .AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang
disertakan dalam tanda petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Qindo,s*h adalah salah satu sistem #ang memiliki 1ungsi untuk menghapus la#ar dengan
mengakti1kan perintah s3st"#(4cls5); pada atas baris program #ang akan di eksekusi*
Boid main ( ) pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
C adalah kurung kura,al buka menandakan a,al program*
0nt (F bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama untuk
men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
.har #esF bagian ini adalah mende1inisikan sebuah 2ariabel karakter* 6har adalah tipe
data untuk karakter*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
7o 89 bagian ini adalah statement perulangan #ang memiliki 1ungsi mengeksekusi
(menjalankan) statement program dalam ?CH@ (kurung kura,al) sesuai dengan perintah
statement inisialisasi$ 8 s#arat pengulangan pada program*
:hil" ( ) bagian ini adalah statement perulangan #ang memiliki 1ungsi men#atakan proses
perulangan selama kondisi tertentu dalam ?()@*
Ffl%sh(st&in) bagian ini adalah statement untuk memberikan bu11er pada pern#ataan
program di ba,ahn#a*
7III5 Kesim1l&)
+esimpulan dari laporan ini adalah Pada intin#a adalah :
1. alam bahasa . tersedia suatu 1asilitas #ang digunakan untuk melakukan
proses #ang berulang4ulang seban#ak keinginan kita* Misaln#a saja$ bila kita ingin
menginput dan men-etak bilangan dari 1 sampai 1&& bahkan 1&&&$ tentun#a kita akan
merasa kesulitan* (amun dengan struktur perulangan proses$ kita tidak perlu
menuliskan perintah sampai 1&& atau 1&&& kali$ -ukup dengan beberapa
perintah saja* Struktur perulangan dalam bahasa . mempun#ai bentuk #ang berma-am4
ma-am*
2. Perulangan #aitu suatu proses #ang melakukan statemen4statemen dalam sebuah program
se-ara terus menerus sampai terdapat kondisi untuk menghentikann#a*
3. o** Qhile** sendiri mempun#ai pengertian ?perulangan akan dilakukan minimal 1/
terlebih dahulu$ kemudian baru dilakukan penge-ekan terhadap kondisi$ jika kondisi
benar maka perulangan masih akan tetap dilakukan$ perulangan dengan do***,hile() akan
dilakukan sampai kondisi 1alse*@*
4. +eberhasilan dalam suatu program looping salah satun#a di tentukan oleh algoritma #ang
baik$ maka hendakn#a sebelum membuat program buatlah suatu algoritma #ang baik
terlebih dulu agar nantin#a dalam pembuatan program tidak ban#ak terjadi kesalahan
pada program*
@I* D&A(&' P1s(&!&
http: www.google.com/dasar teori perulangan/
http:www.docstok.com/perulangan (looping)/
http:www.wikipedia.com/struktur program c/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL . 6 PERULANGAN LANJUTAN ,NESTED LOOPING/
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : :
Judul : Perulangan 5anjutan ((ested 5ooping)
Rombongan :
!roup : "
Suraba#a$ (o2ember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL .
PERULANGAN LANJUTAN ,NESTED LOOPING/
I5 D&s&' Teo'i
S('1!(1' Ao' Be's&'&)< ,)es(e? loo/
Struktur ini sama haln#a seperti pada per-abangan$ pada struktur pengulangan dapat juga
diterapkan perulangan #ang bersarang (nested loop)*
Co)(o= 'o<'&m Ao' Be's&'&)< "
> in-lude Kstdio*hJ
> in-lude Kiostream*hJ
> in-lude K-onio*hJ
main()
C
>=&' a$bF
-lrs-r()F
Ao'(a;NaXF aK;NeXF aAA)
C
-outKK@Tn@F
Ao'(b;aF bK;NeXF AAb )
-outKKaKK@ ?F
H
get-h()F
}
II5 So&l
1. Buatlah program pen-etak bintang dalam bentuk segitiga beserta -erminann#a$ dimana
perulangan pertama set;16
III5 Al<o'i(m&

1* Mul ai
"* Masukkan nilai tinggi
9* 'pakah #K/ UU$jika tidak ke langkah (<)
:* .etak bintang (?3@)
<* 'pakah #K;Y4/ UU$jika tidak ke langkah (=)
=* .etak spasi (? @)
P* 'pakah #K;Y41 UU$jika tidak ke langkah (W)
O* .etak spasi (? ?)
W* 'pakah #K;/ UU$jika tidak ke langkah (11)
1&* .etak bintang (?3@) dan enter (?Tn@)
11* .etak enter (?Tn@)
1"* 'pakah ingin mengulang program(V)T)U Jika inputan ; M#N)NVN kembali ke langkah
(1)*(amun jika inputan ; MtN)NTN kerjakan langkah (19)*
19* Selesai*
I75 FLO+CHART
75 So1'>e Co?e
#include "stdio.h"
#include "GindoGs.h"
void main()
{
int 8,2,O#
char &Gb#
do
{
s2stem("cls")#
printf("--................................--'n")#
printf("--....(rogram (encetak :intang....--'n")#
printf("--................................--'n")#
printf(" +nputkan tinggi bintang : ")#
scanf("1d",%O)#
printf("--.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3--'n")#
for (8.6#8/.O#8KK)
{
for(2.6#2/.8#2KK)
printf("$")#
for(2.6#2/.O38#2KK)
printf(" ")#
for(2.8#2/.O36#2KK)
printf(" ")#
for(2.6#2/.8#2KK)
printf("$")#
printf("'n")#
A
printf("--................................--'n")#
fflush(stdin)#
printf(" +ngin >engulangLL (M/B) : ")#
scanf("1c",%&Gb)#
A
Ghile(&Gb..NMN--&Gb..N2N)#
printf("--333333333333333333333333333333--'n")#
A
7I5 O1(1( P'o<'&m
7II5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ 8 >in-lude ?,indo,s*h@ pada bagian ini adalah pengarah -ompiler
2isual .AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang
disertakan dalam tanda petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Qindo,s*h adalah salah satu sistem #ang memiliki 1ungsi untuk menghapus la#ar dengan
mengakti1kan perintah s3st"#(4cls5); pada atas baris program #ang akan di eksekusi*
Boid main ( ) pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
C adalah kurung kura,al buka menandakan a,al program*
0nt /$#$YF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama untuk
men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
.har #esF bagian ini adalah mende1inisikan sebuah 2ariabel karakter* 6har adalah tipe
data untuk karakter*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
7o 89 bagian ini adalah statement perulangan #ang memiliki 1ungsi mengeksekusi
(menjalankan) statement program dalam ?CH@ (kurung kura,al) sesuai dengan perintah
statement inisialisasi$ 8 s#arat pengulangan pada program*
:hil" ( ) bagian ini adalah statement perulangan #ang memiliki 1ungsi men#atakan proses
perulangan selama kondisi tertentu dalam ?()@*
For() igunakan untuk perulangan #ang batasn#a sudah diketahui dengan jelas$ misaln#a
dari 1 sampai 1&* 7or memerlukan " buah 2ariabel a,al dan akhir perulangan$ nilai
2ariabel penghitung akan se-ara otomatis bertambah atau berkurang tiap kali sebuah
pengulangan dilaksanakan*
45 Kesim1l&)
+esimpulan dari laporan ini adalah Pada intin#a adalah :
1. alam bahasa . tersedia suatu 1asilitas #ang digunakan untuk melakukan
proses #ang berulang4ulang seban#ak keinginan kita* Misaln#a saja$ bila kita ingin
menginput dan men-etak bilangan dari 1 sampai 1&& bahkan 1&&&$ tentun#a kita akan
merasa kesulitan* (amun dengan struktur perulangan proses$ kita tidak perlu
menuliskan perintah sampai 1&& atau 1&&& kali$ -ukup dengan beberapa
perintah saja* Struktur perulangan dalam bahasa . mempun#ai bentuk #ang berma-am4
ma-am*
2. Perulangan 5anjutan #aitu suatu proses #ang melakukan statemen4statemen dalam sebuah
program se-ara terus menerus sampai terdapat kondisi untuk menghentikann#a*
3. For() igunakan untuk perulangan #ang batasn#a sudah diketahui dengan jelas$ misaln#a
dari 1 sampai 1&* 7or memerlukan " buah 2ariabel a,al dan akhir perulangan$ nilai
2ariabel penghitung akan se-ara otomatis bertambah atau berkurang tiap kali sebuah
pengulangan dilaksanakan*
4. o** Qhile** sendiri mempun#ai pengertian ?perulangan akan dilakukan minimal 1/
terlebih dahulu$ kemudian baru dilakukan penge-ekan terhadap kondisi$ jika kondisi
Be)&' maka perulangan masih akan tetap dilakukan$ perulangan dengan do***,hile() akan
dilakukan sampai kondisi A&lse5@*
5. +eberhasilan dalam suatu program looping lanjutan salah satun#a di tentukan oleh
algoritma #ang baik$ maka hendakn#a sebelum membuat program buatlah suatu
algoritma #ang baik terlebih dulu agar nantin#a dalam pembuatan program tidak ban#ak
terjadi kesalahan pada program*
@I* D&A(&' P1s(&!&
http: www.google.com/dasar teori perulangan lan'utan/
http:www.docstok.com/perulangan lan'utan (nested looping)/
http:www.wikipedia.com/struktur program perulangan lan'utan/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL % 6 FUNGSI ,SUBRUTIN/
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : <
Judul : 7E(!S0 (SEBRET0()
Rombongan :
!roup : "
Suraba#a$ &1 esember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL %
FUNGSI , SUBRUTIN /
III5 D&s&' Teo'i
FUNGSI
Suatu 1ungsi adalah suatu bagian dari program #ang dimaksudkan untuk mengerjakan suatu tugas
tertentu dan letakn#a dipisahkan dari bagian program #ang menggunakann#a*
Tujuan penggunaan 1ungsi :
1* Program menjadi terstruktur
"* apat mengurangi pengulangan kode program*
7ungsi dapat diimplementasikan dalam tiga bentuk :
1* Pendeklarasian 1ungsi sebagai protot#pe 1ungsi*
"* Pende1inisian 1ungsi*
9* pemanggilan 1ungsi dari program lain*
15 P'o(o(ie F1)<si
Prototipe 1ungsi merupakan model dari sebuah 1ungsi #ang berguna untuk mendeklarasikan -irri4
-iri 1ungsi$ meliputi :
1* nama 1ungsi
"* tipe nilai balik 1ungsi*
9* jumlah dan tipe argument*
Bentuk umum : 0e)is;?&(& nama 1ungsi (0e)is;?&(&D 0e)is;?&(&$G)F
.ontoh : long kuadrat(long)F
0nt maks(int a$ int b)F
Boid garis( )F
5ong nilai(int$int)F
#5 Pe)?eAi)isi&) F1)<si
Mende1inisikan 1ungsi adalah men#usun perintah4perintah #ang akan dilakukan 1ungsi itu sesuai
dengan tugas #ang akan dilakukann#a*
Be)(1! 1m1m "
Zjenis data[ namaD1ungsi (ZjenisDdata arg1[$ jenis data ag"[$G)
C
Zdeklarasi 2ariable[F
Zkode program[F
Zpern#ataan return[F
H
-5 Pem&)<<il&) F1)<si
7ungsi41ungsi #ang telah dide1inisikan dapat dipanggil dari bagian4bagian 1ungsi lain* Pada saat
sebuah 1ungsi dipanggil$ alur eksekusi program akan berpindah ke 1ungsi #ang dipanggil itu* Setelah
selesai mengeksekusi 1ungsi$ kendali program akan dikembalikan kepada 1ungsi #ang memanggil$ dan
alur eksekusi program dilanjtukan pada pern#ataan setelah pemanggilan 1ungsi tersebut*
Be)(1! 1m1m "
(amaD1ungsi( ZjenisDdata arg1[$ Zjenis data ag"[$G)F
A(&1 (ama 1ungsi( )F )3tanpa nilai balik
Pe)<i'im&) A'<1me)
Pengiriman data dari satu 1ungsi ke 1ungsi lain$ dapat dilakukan dengan dua -ara:
1* mengirimkan salinan data$ disebut juga pengiriman dengan nilai (passing b# 2alue)$ dan
"* mengirimkan alamat data$ disebut juga pengiriman dengan alamat (passing b# re1eren-e atau
passing b# address)*
Re(1') merupakan perintah #ang ber1ungsi untuk mengembalikan nilai dari 1ungsi* Bentuk Emum:
return Z(ekspresi)[
.ontoh : returnF return &F
return (/3/)F
return (/S# U /:#)
Li)<!1 7&'i&Bel
Bariabel internal (lokal) adalah 2ariabel #ang dideklarasikan dalam 1ungsi* Ran#a dikenal oleh
1ungsi tempat 2ariabel dideklarasikan*
Bariabel eksternal (global) merupakan 2ariabel #ang dideklarasikan di luar 1ungsi* apat diakses
oleh semua 1ungsi*
Bariabel Statis dapat berupa 2ariabel internal (lokal) maupun 2ariabel eksternal (global)* Bariabel
statis tidak akan hilang sekeluarn#a dari 1ungsi (nilai pada 2ariabel akan tetap)*
Bariabel register adalah 2ariabel #ang nilain#a disimpan dalam register dan bukan dalam memori
R'M*
F1)<si Re!1'si
7ungsi . dapat dipakai se-ara rekursi maksudn#a adalah suatu 1ungsi dapat memanggil dirin#a
sendiri*
S#arat4s#arat :
1* Rarus ada kasus penghentian*
"* Tiap4tiap sturuktur pemanggilan harus lebih sederhana daripada srtruktur pemanggilan
sebelumnn#a*
P'oses Re!1'si
1* Semua 2ariable otomatis #ang terdapat di dalam 1ungsi rekursi1 akan memiliki lokasi memor#
sendiri pada setiap pemanggilann#a*
"* Pern#ataan4pern#ataan #ang terdapat sebelum rekursi1 akan dieksekusi dengan urutan #ang sama*
9* Pern#atan4pern#ataan #ang terdapat setelah pemanggilan rekursi1 akan dikerjakan dengan urutan
#ang terbalik terhaap pemanggilan*
:* +ode program untuk 1ungsi rekursi1 tidak duplikat$ ,alaupun 1ungsi tersebut dipanggil beberapa
kali*

Je)is-0e)is Re!1siA "
1* Rekursi akhir (tail re-usi2e)$ apabila pemanggilan dilakukan pada bagian akhir 1ungsi*
"* Rekursi tunggal (singl# rekursi)$ apabila tiap4tiap pemanggilan paling ban#ak membentuk satu
pemanggilan lagi*
3. Rekursi ganda (doubl# re-ursi2e)$ apabila tiap4tiap pemanggilan membentuk lebih dari satu
pemanggilan*
II5 So&l
1* Buatlah program pengoperasian penghitung Bolume Balok dengan menggunakan 1ungsi6
III5 Al<o'i(m&
1* Mul ai *
"* Masukkan (ilai Panjang (p) Balok*
9* Masukkan (ilai 5ebar (l) Balok*
:* Masukkan (ilai Tinggi (t) Balok*
<* 5akukan proses penghitungan 2olume balok (p3l3t)*
=* .etak ) tampilkan hasil nilai penghitungan 2olume balok*
P* Selesai*
I75 Flo3>=&'(
75 So1'>e Co?e
#include"stdio.h"
#include"GindoGs.h"
void volume=balok(int pan&ang, int lebar, int tinggi, int %Polume)
{
Polume . (pan&ang$lebar$tinggi)#
A
void main()
{
char ulang#
do
{
s2stem("cls")#
int pan&ang,lebar,tinggi#
int Polume#
printf("'t $$$ Polume :alok dengan Iungsi $$$'n")#
printf("--333333333333333333333333333333333333333333333333333--'n")#
printf(" .0 >asukkan pan&ang (p) : ")#
scanf("1i",%pan&ang)#
printf(" .0 >asukkan lebar (l) : ")#
scanf("1i",%lebar)#
printf(" .0 >asukkan tinggi (t) : ")#
scanf("1i",%tinggi)#
volume=balok(pan&ang,lebar,tinggi,Polume)#
printf("--
...................................................--'n")#
printf(" 300 >aka Polume :alok adalah : 1i'n",Polume)#
fflush(stdin)#
printf("--
...................................................--'n")#
printf(" 300 !pakah !nda +ngin >engulang (rogram (2/t)LL
")#
scanf("1c",%ulang)#
A
Ghile(ulang..N2N--ulang..NMN)#
printf("--
..................................................--'n")#
A
7I5 O1(1(
7II5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ 8 >in-lude ?,indo,s*h@ pada bagian ini adalah pengarah -ompiler
2isual .AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang
disertakan dalam tanda petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Qindo,s*h adalah salah satu sistem #ang memiliki 1ungsi untuk menghapus la#ar dengan
mengakti1kan perintah s3st"#(4cls5); pada atas baris program #ang akan di eksekusi*
Boid main ( ) pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
Boid 2olumeDbalok(int panjang$ int lebar$ int tinggi$ int 8Bolume) pern#ataan ini
merupakan pendeklarasian 1ungsi dengan nilai balik untuk mengoperasikan program$
dimana dalam tanda () terdapat 2ariabel dari 1ungsi tsb*
C adalah kurung kura,al buka menandakan a,al program*
0nt panjang$ lebar$ tinggi$ BolumeF bagian ini adalah mende1inisikan 2ariabel* Bariabel
adalah nilai bernama untuk men#impan data #ang dapat diubah* Int adalah tipe data untuk
bilangan bulat*
.har ulangF bagian ini adalah mende1inisikan sebuah 2ariabel karakter* 6har adalah tipe
data untuk karakter*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
7o 89 bagian ini adalah statement perulangan #ang memiliki 1ungsi mengeksekusi
(menjalankan) statement program dalam ?CH@ (kurung kura,al) sesuai dengan perintah
statement inisialisasi$ 8 s#arat pengulangan pada program*
:hil" ( ) bagian ini adalah statement perulangan #ang memiliki 1ungsi men#atakan proses
perulangan selama kondisi tertentu dalam ?()@*
7III5 Kesim1l&)
+esimpulan dari laporan ini adalah Pada intin#a adalah :
1. Suatu 1ungsi adalah suatu bagian dari program #ang dimaksudkan untuk mengerjakan
suatu tugas tertentu dan letakn#a dipisahkan dari bagian program #ang
menggunakann#a*
2. Tujuan penggunaan 1ungsi :
a* Program menjadi terstruktur
b* apat mengurangi pengulangan kode program*
3. 7ungsi dapat diimplementasikan dalam tiga bentuk :
a* Pendeklarasian 1ungsi sebagai protot#pe 1ungsi*
b* Pende1inisian 1ungsi*
-* pemanggilan 1ungsi dari program lain*
4. o** Qhile** sendiri mempun#ai pengertian ?perulangan akan dilakukan minimal 1/
terlebih dahulu$ kemudian baru dilakukan penge-ekan terhadap kondisi$ jika kondisi
Be)&' maka perulangan masih akan tetap dilakukan$ perulangan dengan do***,hile()
akan dilakukan sampai kondisi A&lse5@*
5. +eberhasilan dalam suatu program 1ungsi salah satun#a di tentukan oleh algoritma
#ang baik 8 pendeklarasian 1ungsi$ maka hendakn#a sebelum membuat program
buatlah suatu algoritma 8 siapkan 1ungsi beserta 2ariable #ang sesuai 8 baik terlebih
dulu agar nantin#a dalam pembuatan program tidak ban#ak terjadi kesalahan pada
program*
@I* D&A(&' P1s(&!&
http: www.google.com/dasar teori fungsi (su(rutin)/
http:www.docstok.com/)ungsi *ekursi + *ekursif/
http:www.wikipedia.com/struktur program fungsi pengoprasian penghitungan ,olume
(alok/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL 4 6 ARRA* / LARIK
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
#$1$
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : =
Judul : 'RR'V ) 5'R0+
Rombongan :
!roup : "
Suraba#a$ &O (o2ember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL 4
ARRA* / LARIK
I5 D&s&' Teo'i
'rra# adalah suatu 2ariabel #ang dapat menampung lebih dari satu data dengan tipe
data #ang sama dan dibedakan berdasarkan nomor inde/n#a* Ilemen4elemen arra# tersusun
se-ara sekuensial di dalam memori sehingga memiliki alamat #ang berdekatan*
'rra# dapat berupa arra# satu dimensi$ dua dimensi$ bahkan n4dimensi*
Ilemen4elemen arra# bertipe data sama tapi bisa bernilai sama atau berbeda4beda* alam
bahasa .$ arra# selalu dimulai dari inde/ ke4& (nol)*
.ontoh deklarasi arra# :
i)( NE1$FG
eklarasi diatas berarti pendeklarasian 2ariabel arra# bernama ( #ang mempun#ai
elemen seban#ak 1& buah dengan inde/ dimulai dengan nomor & sampai W*
Entuk memasukan suatu elemen data dalam arra#$ perintah #ang dilakukan ditulis
seperti pemba-aan data 2ariabel biasa han#a perbedaann#a harus ditulis untuk inde/ ke
berapa*
.ontoh untuk pengisian data ke elemen arra# :
s>&)A,8H?9D INE#F/G
Perintah diatas berarti pemba-aan data dari ke#board untuk data bertipe integer (Sd)
dan dimasukan ke 2ariabel arra# inde/ ke4" (urutan ke49)*
.ontoh4-ontoh lain pengisian ke suatu elemen arra# :
IJ%G // K&'i&Bel I ?iisi ?e)<&) )il&i %
NEIF J LG // ?&(& !e-I ?&'i K&'i&Bel N ?iisi ?e)<&) )il&i L
s>&)A,8H?9DINENEIFF/G
// emB&>&&) ?&(& 1)(1! K&'i&Bel N &?& i)?eM !e-NEIF ,L/
'rra# sendiri ada " ma-am arra# satu dimensi dan arra# dua dimensi $arra# satu
dimensi sudah dijelaskan seperti -ontoh #ang diatas sedangkan arra# dua dimensi berikut
penjelasann#a*
ARRA* SATU DIMENSI
Tanda Z[ disebut juga ?elemen #ang ke4 \* Misaln#a kondisiZ&[ berarti elemen #ang ke
nol*
'rra# #ang sudah dipesan$ misaln#a 1& tempat tidak harus diisi semuan#a$ bisa saja
han#a diisi < elemen saja$ baik se-ara berurutan maupun tidak* (amun pada kondisi #ang
tidak sepenuhn#a terisi tersebut$ tempat pemesanan di memori tetap seban#ak 1& tempat$
jadi tempat #ang tidak terisi tetap akan terpesan dan dibiarkan kosong*
.ontoh:
//De)<&) K&'i&Bel Bi&s&"
i)( M1J-DM#J%DM-J#DM.JLDM%J2G
//De)<&) l&'i!/&''&N"
i)( ME%FJO-D%D#DLD2PG
Bentuk umum arra# satu dimensi:
(ie;l&'i! )&m&;l&'i! E1!1'&)F
ARRA* DUA DIMENSIQ
'rra# " dimensi biasan#a digunakan untuk men#impan data dalam bentuk matrik*
0nde/ 'rra# " dimensi terdiri dari inde/ baris dan kolom*
Bentuk umum dari arra# " dimensi adalah :
(ie;l&'i! )&m&;l&'i! E1!1'&)1FE1!1'&)#F
Perhatikan :
Tanda kurung Z [ digunakan untuk menunjukkan elemen larik
Perhitungan elemen larik dimulai dari &$ bukan 1
Pemba-aan elemen4elemen arra# dua dimensi melibatkan " perulangan* 1 perulangan
baris dan 1 perulangan kolom*
3Be?& L&'i! / A''&N De)<&) 7&'i&Ble Bi&s&
Perbedaan utama antara larik)arra# dengan 2ariable biasa dalah sebuah larik dapat
mempun#ai sebuah nilai $ sedangkan sebuah 2aribel biasa han#a dihubungkan dengan
sebuah nilai saja*Misal terdapat tiga buah nilai #aitu O$< dan P*jika nilai4nilai ini akan
dihubungkan dengan sebuah nama saja$ maka dapat digunakan sebuah larik)arra#*jika
digunakan 2ariable untuk men#impan nilai4nilai tersebut$maka harus digunakan tiga buah
2ariable dengan nama4nama #ang berbeda$msaln#a 2ariable ]1 untuk men#impan nilai
O$2ariable ]" untuk nilai < dan ]9 untuk nilaiP*
II5 So&l
1* Buatlah program Penjumlahan M'TR0+ ber4%rdo "/" menggunakan 1ungsi 66
III5 Al<o'i(m&
1* Mulai
"* Telah di preparasi bah,a matrik "/"
9* Matrik ke ^ 1 :
a* Masukkan Ilemen Matrik Z&[Z&[ ; U
b* Masukkan Ilemen Matrik Z&[Z1[ ; U
-* Masukkan Ilemen Matrik Z1[Z&[ ; U
d* Masukkan Ilemen Matrik Z1[Z1[ ; U
:* .etak 0nputan Ilemen Matrik %rdo ke 1*
<* Matrik ke ^ " :
a* Masukkan Ilemen Matrik Z&[Z&[ ; U
b* Masukkan Ilemen Matrik Z&[Z1[ ; U
-* Masukkan Ilemen Matrik Z1[Z&[ ; U
d* Masukkan Ilemen Matrik Z1[Z1[ ; U
=* .etak 0nputan Ilemen Matrik %rdo ke "*
P* Penjumlahan 0nputan (Matrik ke 1 A Matrik ke ")*
O* .etak Rasil Pengoprasian Penjumlahan Matrik %rdo "/"*
W* 'pakah 0ngin Mengulang Program (#)n)UU* Jika 0nputan ?V@$ maka lakukan langkah ke (1)*
(amun jika inputan @(@$ maka lakukan langkah ke (1&)*
1&* Selesai*
I75 Flo3>=&'(
75 So1'>e
Co?e
Mulai
void jumlah(int mat1[][]!
int mat[][]! int mat"[][]!
int brs! int #lm)
void display(int
matri#s[][]! int
brs! int #lm)
int m1[][]! m[][]! m"[][];
int baris$! #olom$;
%har ulang;
isi&data(m1!
baris! #olom);
isi&data(m!
baris! #olom);
jumlah(m1! m! m"!
baris! #olom);
'pa#ah anda
ingin mengulang
program [y/n] (
)hile(ulang$$*y*
++ ulang$$*,*);
-elesai
.alse
/rue
void isi&data(int
matri#s[][]! int
brs! int #lm)
display(m1!
baris! #olom);
display(m!
baris! #olom);
display(m"!
baris! #olom);
i$0;
i1brs;
i22
j$0;
j1#lm;
j22
33 4si 5ata di
baris 6d! 7olom
6d8
i$0;
i1brs;
i22
j$0;
j1#lm;
j22
mat"[i][j]$
mat1[i][j]2mat[i][j];
i$0;
i1brs;
i22
j$0;
j1#lm;
j22
matri#s[i][j]
9include1stdio:h3
9include1)indo)s:h3
void isi&data(int matri#s[][]! int brs! int #lm)
{
;or(int i$0;i1brs;i22)
{
;or(int j$0;j1#lm;j22)
{
print;(< 33 4si 5ata di baris 6d! 7olom 6d8 <! i21!j21);
scan;(<6d<! =matri#s[i][j]);
}
print;(<>n<);
}
}
void jumlah(int mat1[][]!int mat[][]!int mat"[][]!int brs!int #lm)
{
;or(int i$0;i1brs;i22)
;or(int j$0;j1#lm;j22)
mat"[i][j]$mat1[i][j]2mat[i][j];
}
void display(int matri#s[][]! int brs! int #lm)
{
;or(int i$0;i1brs;i22)
{
;or(int j$0;j1#lm;j22)
print;(<6?d<! matri#s[i][j]);
print;(<>n<);
}
}
void main(void)
{
char ulang;
do
{
system(<cls<);
print;(< @@@ program penjumlahan matri#s @@@>n<);
print;(< Aumlah baris dan #olom diasumsi#an sama>n<);
print;(<++$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$++>n<);
int m1[][]! m[][]! m"[][];
int baris$! #olom$;
print;(<>n $3 Bengisian data untu# matri#s pertama 8>n<);
isi&data(m1! baris! #olom);
print;(<>n $3 Bengisian data untu# matri#s #edua 8 >n<);
isi&data(m! baris! #olom);
jumlah(m1! m! m"! baris! #olom);
print;(<>n++
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$++>n<);
print;(<>n $33 4si matri#s pertama adalah 8 >n>n<);
display(m1! baris! #olom);
print;(<>n $33 4si matri#s #edua adalah 8 >n>n<);
display(m! baris! #olom);
print;(<>n++
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$++>n<);
print;(<>n $33 Casil penjumlahan matri#s 1 dan adalah 8 >n>n<);
display(m"! baris! #olom);
print;(<>n++
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$++>n<);
;;lush(stdin);
print;(<>n $33 'pa#ah 'nda 4ngin Mengulang Brogram (y/n) 8<);
scan;(<6c<!=ulang);
}
)hile(ulang$$*y*++ulang$$*,*);
print;(<>n++DDDDDDDDDDDDDDDD1/erima 7asih3DDDDDDDDDDDDDDDDDDD++>n<);
}
7I5 O1(1( P'o<'&m
7II5 A)&lis& P'o<'&m
>in-lude Kstdio*hJ 8 >in-lude K,indo,s*hJ pada bagian ini adalah pengarah -ompiler
2isual .AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang
disertakan dalam tanda (K J) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Qindo,s*h adalah salah satu sistem #ang memiliki 1ungsi untuk menghapus la#ar dengan
mengakti1kan perintah s3st"#(4cls5); pada atas baris program #ang akan di eksekusi*
Boid isi5arik"(larik" l$ int n)F pern#ataan ini mendeklarasikan 1ungsi nilai balik isi
larik matrik dengan 2ariabel dalam ()*
Boid -etak0si5arik"(larik" l$ int n)F pern#ataan ini mendeklarasikan 1ungsi nilai balik
untuk men-etak isi larik matrik dengan 2ariabel dalam ()*
Boid jumlah"Matriks(larik" a$ larik" b$ larik" -$ int n)F pern#ataan ini
mendeklarasikan 1ungsi nilai balik untuk menghitung jumlah larik ke ^ " matrik dengan
2ariabel dalam ()*
Boid main () pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata Boid menandakan 1ungsi main tidak bertipe*
C adalah kurung kura,al buka menandakan a,al program*
0nt i$jF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama untuk
men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
.har ulangF bagian ini adalah mende1inisikan sebuah 2ariabel karakter* 6har adalah tipe
data untuk karakter*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip ? ?*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
7o 89 bagian ini adalah statement perulangan #ang memiliki 1ungsi mengeksekusi
(menjalankan) statement program dalam ?CH@ (kurung kura,al) sesuai dengan perintah
statement inisialisasi$ 8 s#arat pengulangan pada program*
:hil" ( ) bagian ini adalah statement perulangan #ang memiliki 1ungsi men#atakan proses
perulangan selama kondisi tertentu dalam ?()@*
For( ) igunakan untuk perulangan #ang batasn#a sudah diketahui dengan jelas$
misaln#a dari 1 sampai 1&* 7or memerlukan " buah 2ariabel a,al dan akhir perulangan$
nilai 2ariabel penghitung akan se-ara otomatis bertambah atau berkurang tiap kali sebuah
pengulangan dilaksanakan*
7III5 Kesim1l&)
+esimpulan dari Tugas Pendahuluan ini adalah Pada intin#a adalah :
1* alam bahasa . tersedia suatu 1asilitas #ang digunakan untuk melakukan
proses #ang berulang4ulang seban#ak keinginan kita* Misaln#a saja$ bila kita ingin
menginput dan men-etak bilangan dari 1 sampai 1&& bahkan 1&&&$ tentun#a kita akan
merasa kesulitan* (amun dengan struktur perulangan proses$ kita tidak perlu
menuliskan perintah sampai 1&& atau 1&&& kali$ -ukup dengan beberapa
perintah saja*
"* 'rra# merupakan koleksi data dimana setiap elemen memakai nama dan tipe #ang sama
serta setiap elemen diakses dengan membedakan indeks arra#n#a*
9* Bariable arra# dideklarsikan dengan men-antumkan tipe dan nama 2ariable #ang diikuti
dengan ban#akn#a lokasi memori #ang ingin dibuat*
:* Ban#akn#a lokasi memori dapat se-ara otomatis disediakan sesuai dengan ban#akn#a
nilai #ang akan dimasukkan*
<* 'rra# adalah struktur data #ang men#impan sekumpulan elemen #ang sama* Setiap
elemen diakses langsung melalui indeksn#a* 0ndeks larik haruslah tipe data #ang
men#atakan keurutan*
=* Bariabel tunggal adalah sebuah 2ariabel #ang han#a bisa dihubungkan dengan sebuah
nilai saja*
P* 'rra# adalah 2ariabel #ang mempun#ai satu nama tetapi mampu men#impan lebih dari
satu data*
I@5 D&A(&' P1s(&!&
http: www.google.com/dasar teori arra-/
http:www.docstok.com/pengertian arra- (larik)/
http:www.wikipedia.com/struktur program matriks/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL L 6 ARRA* / LARIK LANJUTAN
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
2010
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : P
Judul : 5'R0+ ) 'RR'V 5'(JET
Rombongan :
!roup : "
Suraba#a$ 1< (o2ember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL L
LARIK / ARRA* LANJUT
I5 D&s&' Teo'i
'rra# adalah suatu 2ariabel #ang dapat menampung lebih dari satu data dengan tipe
data #ang sama dan dibedakan berdasarkan nomor inde/n#a* Ilemen4elemen arra# tersusun
se-ara sekuensial di dalam memori sehingga memiliki alamat #ang berdekatan*
'rra# dapat berupa arra# satu dimensi$ dua dimensi$ bahkan n4dimensi*
Ilemen4elemen arra# bertipe data sama tapi bisa bernilai sama atau berbeda4beda* alam
bahasa .$ arra# selalu dimulai dari inde/ ke4& (nol)*
.ontoh deklarasi arra# :
i)( NE1$FG
eklarasi diatas berarti pendeklarasian 2ariabel arra# bernama ( #ang mempun#ai
elemen seban#ak 1& buah dengan inde/ dimulai dengan nomor & sampai W*
Entuk memasukan suatu elemen data dalam arra#$ perintah #ang dilakukan ditulis
seperti pemba-aan data 2ariabel biasa han#a perbedaann#a harus ditulis untuk inde/ ke
berapa*
.ontoh untuk pengisian data ke elemen arra# :
s>&)A,8H?9D INE#F/G
Perintah diatas berarti pemba-aan data dari ke#board untuk data bertipe integer (Sd)
dan dimasukan ke 2ariabel arra# inde/ ke4" (urutan ke49)*
.ontoh4-ontoh lain pengisian ke suatu elemen arra# :
IJ%G // K&'i&Bel I ?iisi ?e)<&) )il&i %
NEIF J LG // ?&(& !e-I ?&'i K&'i&Bel N ?iisi ?e)<&) )il&i L
s>&)A,8H?9DINENEIFF/G
// emB&>&&) ?&(& 1)(1! K&'i&Bel N &?& i)?eM !e-NEIF ,L/
'rra# sendiri ada " ma-am arra# satu dimensi dan arra# dua dimensi $arra# satu
dimensi sudah dijelaskan seperti -ontoh #ang diatas sedangkan arra# dua dimensi berikut
penjelasann#a*
ARRA* SATU DIMENSI
Tanda Z[ disebut juga ?elemen #ang ke4 \* Misaln#a kondisiZ&[ berarti elemen #ang ke
nol*
'rra# #ang sudah dipesan$ misaln#a 1& tempat tidak harus diisi semuan#a$ bisa saja
han#a diisi < elemen saja$ baik se-ara berurutan maupun tidak* (amun pada kondisi #ang
tidak sepenuhn#a terisi tersebut$ tempat pemesanan di memori tetap seban#ak 1& tempat$
jadi tempat #ang tidak terisi tetap akan terpesan dan dibiarkan kosong*
.ontoh:
//De)<&) K&'i&Bel Bi&s&"
i)( M1J-DM#J%DM-J#DM.JLDM%J2G
//De)<&) l&'i!/&''&N"
i)( ME%FJO-D%D#DLD2PG
Bentuk umum arra# satu dimensi:
(ie;l&'i! )&m&;l&'i! E1!1'&)F
ARRA* DUA DIMENSIQ
'rra# " dimensi biasan#a digunakan untuk men#impan data dalam bentuk matrik*
0nde/ 'rra# " dimensi terdiri dari inde/ baris dan kolom*
Bentuk umum dari arra# " dimensi adalah :
(ie;l&'i! )&m&;l&'i! E1!1'&)1FE1!1'&)#F
Perhatikan :
Tanda kurung Z [ digunakan untuk menunjukkan elemen larik
Perhitungan elemen larik dimulai dari &$ bukan 1
Pemba-aan elemen4elemen arra# dua dimensi melibatkan " perulangan* 1 perulangan
baris dan 1 perulangan kolom*
3Be?& L&'i! / A''&N De)<&) 7&'i&Ble Bi&s&
Perbedaan utama antara larik)arra# dengan 2ariable biasa dalah sebuah larik dapat
mempun#ai sebuah nilai $ sedangkan sebuah 2aribel biasa han#a dihubungkan dengan
sebuah nilai saja*Misal terdapat tiga buah nilai #aitu O$< dan P*jika nilai4nilai ini akan
dihubungkan dengan sebuah nama saja$ maka dapat digunakan sebuah larik)arra#*jika
digunakan 2ariable untuk men#impan nilai4nilai tersebut$maka harus digunakan tiga buah
2ariable dengan nama4nama #ang berbeda$msaln#a 2ariable ]1 untuk men#impan nilai
O$2ariable ]" untuk nilai < dan ]9 untuk nilaiP*
ARRA* MULTI-DIMENSI
'rra# multi4dimensi merupakan arra# #ang mempun#ai ukuran lebih dari dua* Bentuk
pendeklarasian arra# sama saja dengan arra# dimensi satu maupun arra# dimensi dua*
Bentuk umumn#a #aitu :
tipeDarra# namaDarra#Zukuran1[Zukuran"[GZukuran([F
.ontoh :
1loat ]Z"[Z:[Z9[F
]Z&[Z&[Z&[ ]Z&[Z&[Z1[ ]Z&[Z&[Z"[ ]Z1[Z&[Z&[ ]Z1[Z&[Z1[ ]Z1[Z&[Z"[
]Z&[Z1[Z&[ ]Z&[Z1[Z1[ ]Z&[Z1[Z"[ ]Z1[Z1[Z&[ ]Z1[Z1[Z1[ ]Z1[Z1[Z"[
]Z&[Z"[Z&[ ]Z&[Z"[Z1[ ]Z&[Z"[Z"[ ]Z1[Z"[Z&[ ]Z1[Z"[Z1[ ]Z1[Z"[Z"[
]Z&[Z9[Z&[ ]Z&[Z9[Z1[ ]Z&[Z9[Z"[ ]Z1[Z9[Z&[ ]Z1[Z9[Z1[ ]Z1[Z9[Z"[
II5 So&l
1* Buatlah program M'TR0+ ber4%rdo 9/9 menggunakan rumus transpose 66
III5 Al<o'i(m&
1* Mulai
"* Telah di preparasi bah,a matrik 9/9
9* 0nputan (ilai Matrik :
a* Masukkan (ilai Ilemen Matrik Z1[Z1[ ; U
b* Masukkan (ilai Ilemen Matrik Z1[Z"[ ; U
-* Masukkan (ilai Ilemen Matrik Z1[Z9[ ; U
d* Masukkan (ilai Ilemen Matrik Z"[Z1[ ; U
e* Masukkan (ilai Ilemen Matrik Z"[Z"[ ; U
1* Masukkan (ilai Ilemen Matrik Z"[Z9[ ; U
g* Masukkan (ilai Ilemen Matrik Z9[Z1[ ; U
h* Masukkan (ilai Ilemen Matrik Z9[Z"[ ; U
i* Masukkan (ilai Ilemen Matrik Z9[Z9[ ; U
:* .etak 0nputan (ilai Ilemen Matrik*
<* Pengoperasian (ilai Ilemen Matrik ke rumus Transpose*
=* .etak Rasil Pengoprasian rumus Transpose Matrik %rdo 9/9*
P* Selesai*

I75 Flo3>=&'(
75 So1'>e Co?e
9include<stdio:h<
9include<stdlib:h<
Mulai
int
#$"!l$"!i!j!inputan1
["]["]!inputan["]["]
;
i$0;
i1#;
i22
j$0;
j1l;
j22
$33 Masu##an
nilai elemen
matri# (6d)!(6d)$
<!i21!j21
=inputan1[i][j]
i$0;
i1#;
i22
j$0;
j1l;
j22
%eta#
4nputan
Eilai Flemen
Matri#
i$0;
i1#;
i22
j$0;
j1l;
j22
%eta# 4nputan
Eilai Flemen
Matri# #e rumus
/ranspose
inputan[i][j]
$inputan1[j][i];
S#l#sai
int main()
{
int #$"!l$"!i!j!inputan1["]["]!inputan["]["];
print;(<188888888@Brogram Matri# ordo "G" dgn rumus transpose@888888883
<);
print;(<>n<);
print;(<>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
print;(< $33 Masu##an nilai elemen matri# (6d)!(6d)$
<!i21!j21);
scan;(<6d<!=inputan1[i][j]);
}
}
print;(<>n188888888888881Casil Eilai 4nputan Flemen
Matri#388888888888883>n>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
print;(<6d>t<!inputan1[i][j]);
}
print;(<>n>n<);
}
print;(<18888888888881Casil pengoperasian matri#
transpose3888888888883>n>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
inputan[i][j]$inputan1[j][i];
print;(<6d>t<!inputan[i][j]);
}
print;(<>n>n<);
}
print;(<18888888888888888888888881/erima
7asih3888888888888888888888883>n>n<);
return(0);
}
7I5 O1(1( P'o<'&m
7II5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ 8 >in-lude ?stdlib*h@ pada bagian ini adalah pengarah -ompiler 2isual
.AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang disertakan
dalam tanda petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Stdlib*h adalah salah satu librar# 1ungsi pada bahasa pemrograman Bisual .AA*
0nt main () pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata 0nt menandakan 1ungsi main bertipe*
C adalah kurung kura,al buka menandakan a,al program*
int k;9$l;9$i$jF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama
untuk men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip (??)*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
For() igunakan untuk perulangan #ang batasn#a sudah diketahui dengan jelas$ misaln#a
dari 1 sampai 1&* 7or memerlukan " buah 2ariabel a,al dan akhir perulangan$ nilai
2ariabel penghitung akan se-ara otomatis bertambah atau berkurang tiap kali sebuah
pengulangan dilaksanakan*
7III5 Kesim1l&)
+esimpulan dari Tugas Pendahuluan ini adalah Pada intin#a adalah :
15 alam bahasa . tersedia suatu 1asilitas #ang digunakan untuk melakukan
proses #ang berulang4ulang seban#ak keinginan kita* Misaln#a saja$ bila kita ingin
menginput dan men-etak bilangan dari 1 sampai 1&& bahkan 1&&&$ tentun#a kita akan
merasa kesulitan* (amun dengan struktur perulangan proses$ kita tidak perlu
menuliskan perintah sampai 1&& atau 1&&& kali$ -ukup dengan beberapa
perintah saja*
#5 'rra# merupakan koleksi data dimana setiap elemen memakai nama dan tipe #ang sama
serta setiap elemen diakses dengan membedakan indeks arra#n#a*
-5 Bariable arra# dideklarsikan dengan men-antumkan tipe dan nama 2ariable #ang diikuti
dengan ban#akn#a lokasi memori #ang ingin dibuat*
.5 Ban#akn#a lokasi memori dapat se-ara otomatis disediakan sesuai dengan ban#akn#a
nilai #ang akan dimasukkan*
%5 'rra# adalah struktur data #ang men#impan sekumpulan elemen #ang sama* Setiap
elemen diakses langsung melalui indeksn#a* 0ndeks larik haruslah tipe data #ang
men#atakan keurutan*
45 Bariabel tunggal adalah sebuah 2ariabel #ang han#a bisa dihubungkan dengan sebuah
nilai saja*
L5 'rra# adalah 2ariabel #ang mempun#ai satu nama tetapi mampu men#impan lebih dari
satu data*
I@5 D&A(&' P1s(&!&
http: www.google.com/dasar teori arra- lan'ut/
http:www.docstok.com/pengertian arra- (larik) (erlan'ut/
http:www.wikipedia.com/struktur program matriks (erordo ./. dgn rumus
transpose/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur
LAPORAN RESMI
PRAKTIKUM BAHASA PEMOGRAMAN 1
MODUL 8 6 STRUCT
Sesi / Kelomo! "
D# / $%
N&m& P'&!(i!&) "
OKT*A+AN ADIT*A ,1$-.$1$1%-/
ASISTEN "
A)0&s P1')omo ,$8-.$1$1-2/
He'm&) K1')i&3&) ,$8-.$1$$.4/
LABORATORIUM PEMROGRAMAN KOMPUTER
JUR5 TEKNIK INFORMATIKA 6 FAKULTAS TEKNIK INDUSTRI
UNI7ERSITAS PEMBANGUNAN NASIONAL 87ETERAN9 JA+A TIMUR
2010
LEMBAR PENGESAHAN
Telah diperiksa dan disetujui laporan resmi :
Praktikum : Bahasa Pemrograman 1
Modul : O
Judul : STRE.T
Rombongan :
!roup : "
Suraba#a$ "1 esember "&1&
Men#etujui$
'sisten Penguji
,;;;;;;;;;;;;;;;;;;/
(PM:
MODUL 8
STRUCT
I5 D&s&' Teo'i
Stru-t adalah tipe data #ang dapat melakukan pen#impanan beberapa data #ang saling
terkait (seperti (ama$ (RP$ 'lamat)$ sebagai suatu kesatuan$ sehingga data4data tersebut
seakan4akan menjadi suatu data tunggal* Pembuatan tipe data baru dalam . dilakukan
dengan menggunakan kata kun-i stru-t$ #ang merupakan kependekan dari stru-ture
(struktur)*
S#nta/ :
Stru-t ZKstru-t t#pe nameJ[C
ZKt#peJK2ariabel4nameZ$2ariabel4name$ ***[J[F
*
*
*
H ZKstru-ture 2ariabelsJ[F
.ontoh :
t#pede1 stru-t
C
int (0P F
-har namaZ9&[
H pega,aiDtF

Perbedaan dengan Tipe data lain :
Tipe data #ang lain han#a terdiri dari 1 element$ sehingga han#a dapat men#impan
sebuah nilai atau sebuah string saja$ sedangkan tipe data stru-t dapat men#impan beberapa
elemen$ dengan berbagai ma-am tipe seperti int$ -har$ long$ dll*
%perator titik digunakan sebagai pemisah antara 2ariabel struktur dengan elemenn#a$
penulisan ini sebaikn#a tidak dipisahkan oleh spasi* %perator ini ber1ungsi untuk mengakses
suatu element dari 2ariabel struktur*
%perator panah digunakan untuk pengaksesan operasi pointer$ atau menggunakan
operator bintang (N3N)$ untuk pengaksesan element4element suatu struktur #ang berupa
pointer*
.ontoh :
t#pede1 stru-t
C
int (0P F
-har namaZ9&[
H pega,aiDt$ 3pegDtF

Pengaksesan dengan operator titik dan panah:
pega,aiDt*(0P
pega,aiDt*nama
(3pegDt)*(0P ;; pegDt 4J (0P
II5 So&l
1* Buatlah program STRE.T input data$ dimana pada program tsb memiliki tampilan
menu #ang terdiri dari :
a* 0nput ata
b* Bie, ata
-* Idit ata
III5 Al<o'i(m&
:* Mulai
<* Telah di preparasi bah,a matrik 9/9
=* 0nputan (ilai Matrik :
j* Masukkan (ilai Ilemen Matrik Z1[Z1[ ; U
k* Masukkan (ilai Ilemen Matrik Z1[Z"[ ; U
l* Masukkan (ilai Ilemen Matrik Z1[Z9[ ; U
m* Masukkan (ilai Ilemen Matrik Z"[Z1[ ; U
n* Masukkan (ilai Ilemen Matrik Z"[Z"[ ; U
o* Masukkan (ilai Ilemen Matrik Z"[Z9[ ; U
p* Masukkan (ilai Ilemen Matrik Z9[Z1[ ; U
q* Masukkan (ilai Ilemen Matrik Z9[Z"[ ; U
r* Masukkan (ilai Ilemen Matrik Z9[Z9[ ; U
O* .etak 0nputan (ilai Ilemen Matrik*
W* Pengoperasian (ilai Ilemen Matrik ke rumus
Transpose*
1&* .etak Rasil Pengoprasian rumus Transpose
Matrik %rdo 9/9*
11* Selesai*

@5 Flo3>=&'(
Mulai
int
#$"!l$"!i!j!inputan1
["]["]!inputan["]["]
;
i$0;
i1#;
i22
j$0;
j1l;
j22
$33 Masu##an
nilai elemen
matri# (6d)!(6d)$
<!i21!j21
=inputan1[i][j]
i$0;
i1#;
i22
j$0;
j1l;
j22
%eta#
4nputan
Eilai Flemen
Matri#
i$0;
i1#;
i22
j$0;
j1l;
j22
%eta# 4nputan
Eilai Flemen
Matri# #e rumus
/ranspose
inputan[i][j]
$inputan1[j][i];
S#l#sai
@I5 So1'>e Co?e
9include<stdio:h<
9include<stdlib:h<
int main()
{
int #$"!l$"!i!j!inputan1["]["]!inputan["]["];
print;(<188888888@Brogram Matri# ordo "G" dgn rumus transpose@888888883
<);
print;(<>n<);
print;(<>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
print;(< $33 Masu##an nilai elemen matri# (6d)!(6d)$
<!i21!j21);
scan;(<6d<!=inputan1[i][j]);
}
}
print;(<>n188888888888881Casil Eilai 4nputan Flemen
Matri#388888888888883>n>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
print;(<6d>t<!inputan1[i][j]);
}
print;(<>n>n<);
}
print;(<18888888888881Casil pengoperasian matri#
transpose3888888888883>n>n<);
;or(i$0;i1#;i22)
{
;or(j$0;j1l;j22)
{
inputan[i][j]$inputan1[j][i];
print;(<6d>t<!inputan[i][j]);
}
print;(<>n>n<);
}
print;(<18888888888888888888888881/erima
7asih3888888888888888888888883>n>n<);
return(0);
}
@II5 O1(1( P'o<'&m
@III5 A)&lis& P'o<'&m
>in-lude ?stdio*h@ 8 >in-lude ?stdlib*h@ pada bagian ini adalah pengarah -ompiler 2isual
.AA* >in-lude memberitahukan 2isual .AA untuk mengambil nama 1ile #ang disertakan
dalam tanda petik (?@) dan membuat 1ile tersebut ke dalam 2isual .AA*
Stdio*h adalah Standard 0nput %utput Reader$ salah satu perintah keluaran #ang memiliki
1ungsi untuk mengakti1kan perintah printf(), scanf() pada program #ang digunakan*
Stdlib*h adalah salah satu librar# 1ungsi pada bahasa pemrograman Bisual .AA*
0nt main () pern#ataan ini mendeklarasikan 1ungsi utama$ bah,a suatu program .AA
dapat berisi ban#ak 1ungsi$ #ang harus selalu memiliki sebuah 1ungsi utama (main
1un-tion)$ 7ungsi adalah modul #ang berisi kode4kode untuk men#elesaikan masalah4
masalah tertentu* +ata 0nt menandakan 1ungsi main bertipe*
C adalah kurung kura,al buka menandakan a,al program*
int k;9$l;9$i$jF bagian ini adalah mende1inisikan 2ariabel* Bariabel adalah nilai bernama
untuk men#impan data #ang dapat diubah* Int adalah tipe data untuk bilangan bulat*
Printf( ) adalah untuk men#impan pesan atau -omment diantara diantara tanda kutip (??)*
Scanf( ) adalah untuk menangkap ketikan dari ke#board*
/n adalah untuk menambahkan enter dalam tampilan .AA*
For() igunakan untuk perulangan #ang batasn#a sudah diketahui dengan jelas$ misaln#a
dari 1 sampai 1&* 7or memerlukan " buah 2ariabel a,al dan akhir perulangan$ nilai
2ariabel penghitung akan se-ara otomatis bertambah atau berkurang tiap kali sebuah
pengulangan dilaksanakan*
@I75 Kesim1l&)
+esimpulan dari Tugas Pendahuluan ini adalah Pada intin#a adalah :
85 alam bahasa . tersedia suatu 1asilitas #ang digunakan untuk melakukan
proses #ang berulang4ulang seban#ak keinginan kita* Misaln#a saja$ bila kita ingin
menginput dan men-etak bilangan dari 1 sampai 1&& bahkan 1&&&$ tentun#a kita akan
merasa kesulitan* (amun dengan struktur perulangan proses$ kita tidak perlu
menuliskan perintah sampai 1&& atau 1&&& kali$ -ukup dengan beberapa
perintah saja*
25 'rra# merupakan koleksi data dimana setiap elemen memakai nama dan tipe #ang sama
serta setiap elemen diakses dengan membedakan indeks arra#n#a*
1$5 Bariable arra# dideklarsikan dengan men-antumkan tipe dan nama 2ariable #ang diikuti
dengan ban#akn#a lokasi memori #ang ingin dibuat*
115 Ban#akn#a lokasi memori dapat se-ara otomatis disediakan sesuai dengan ban#akn#a
nilai #ang akan dimasukkan*
1#5 'rra# adalah struktur data #ang men#impan sekumpulan elemen #ang sama* Setiap
elemen diakses langsung melalui indeksn#a* 0ndeks larik haruslah tipe data #ang
men#atakan keurutan*
1-5 Bariabel tunggal adalah sebuah 2ariabel #ang han#a bisa dihubungkan dengan sebuah
nilai saja*
1.5 'rra# adalah 2ariabel #ang mempun#ai satu nama tetapi mampu men#impan lebih dari
satu data*
@75 D&A(&' P1s(&!&
http: www.google.com/dasar teori arra- lan'ut/
http:www.docstok.com/pengertian arra- (larik) (erlan'ut/
http:www.wikipedia.com/struktur program matriks (erordo ./. dgn rumus
transpose/
Buku Modul Praktikum Bahasa Pemrograman 1 P! "#eteran$ %awa &imur

Anda mungkin juga menyukai