SlideShare a Scribd company logo
1 of 155
Download to read offline
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!1!
!
Jobsheet 1
Input dan Output
1.1 Tujuan Instruksional Khusus (TIK)
1. Mahasiswa dapat membedakan konstanta dengan variabel.
2. Mahasiswa dapat menggunakan tipe data (integer, float, character , dan string) yang
sesuai pada sebuah program.
3. Mahasiswa mampu menggunakan kata tercadang printf() untuk mencetak keluaran,
dan scanf() untuk member input pada variabel dengan benar.
4. Mahasiswa mampu menggunakan penentu format sesuai dengan tipe data dari output
yang diinginkan.
1.2 Pendahuluan
Input dan Output memegang peranan yang cukup penting dalam suatu program, karena bagian
dari program inilah yang membuka jalur komunikasi dengan manusia. Sebelum menginjak
pada pembahasan Input/Output, kita akan meninjau beberapa hal penting yang berhubungan
erat dengan penggunaan Input/Output itu sendiri, seperti pengertian tentang Konstanta dan
Variabel, serta tipe-tipe data yang dikenal oleh Turbo C.
1.2.1 Konstanta
Konstanta adalah suatu nilai yang sifatnya tetap, misalnya angka ‘21’, dan abjad ‘k’. Bahasa
C membagi konstanta bilangan (numerik) menjadi tiga kelompok, yaitu:
a. Bilangan Bulat (integer)
b. Bilangan Desimal Berpresisi Tunggal (floating point)
Bilangan ini dapat dinyatakan dalam dua tampilan:
• Bentuk Desimal Contoh: 2.1333
• Bentuk Eksponen Contoh: 2.1333e2 yang artinya 2.1333 * 102
c. Bilangan Desimal Berpresisi Ganda (double precision).
Konstanta teks dibedakan dalam dua jenis, yaitu: karakter dan string. Data karakter terdiri
dari sebuah karakter saja, dan ditandai dengan dua tanda kutip tunggal (‘) sebagai
pembatasnya. Karakter dapat berupa abjad, baik huruf besar maupun kecil, angka, ataupun
notasi-notasi lain, seperti ^ % * dan lain-lain. Contoh: ‘A’, ‘k’, ‘2’, ‘*’ dan lain-lain.
Data string merupakan rangkaian dari beberapa karakter dan ditandai dengan tanda kutip
ganda (“) sebagai pembatasnya. Contoh: “Telekomunikasi”, “belajar”, “Semarang”, “50
tahun”, “Jalan Telaga Blok G88 Telepon 024-7612345”, dan lain-lain.
1.2.2 Variabel
Variabel dapat kita andaikan seperti sebuah tempat penampung data atau konstanta.
Sedangkan konstanta lebih bersifat sebagai data yang akan mengisi variabel tersebut. Bila
konstanta memiliki arti atau nilai yang selalu tetap, variabel dapat berubah-ubah. Sebuah
variabel yang sama dapat mengandung data yang berbeda pada saat yang berbeda. Bahasa
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!2!
!
pemrograman apapun yang anda gunakan, variabel selau memegang peranan yang sangat
besar dalam pembuatan program. Karena itu amatlah penting mempelajari sifat-sifat variabel
dalam setiap bahasa pemrograman. Pemberian nama umumnya dapat dilakukan secara bebas,
namun demikian tetap ada batasan-batasan tertentu yang tidak boleh dilanggar.
Beberapa hal penting perlu diperhatikan dalam memberikan nama pada variabel Bahasa C
adalah sebagai berikut:
a. Nama variabel Turbo C hanya boleh terdiri dari abjad, bilangan, dan tanda hubung(_).
Contoh: no1, Gaji_pegawai, Pajak_tahunan.
b. Nama variabel boleh dimulai oleh tanda hubung (_) , atau abjad. Contoh: _gaji_pokok,
_tunj_isteri, Laba_bersih.
c. Nama variabel tidak boleh dimulai oleh angka. Contoh nama variabel yang salah: 2no,
90_tahun, 4nilai_max.
d. Nama variabel tidak boleh menggunakan operator aritmatika (+-/*%). Contoh nama
variabel yang salah: Nilai+min, Tunj-anak, Nama/pegawai, Alamat*rumah,
Potongan%.
e. Nama variabel tidak boleh menggunakan karakter-karakter khusus sebagai berikut:
;:,#@$^!& dan titik(.). Contoh nama variabel yang salah: Luas:segitiga, Sisi#kubus,
Luas;tanah! , kell@linkaran, gaji$tahunan, tempat&tgl.lahir.
f. Nama variabel tidak boleh mengandung spasi. Contoh nama variabel yang salah: Gaji
bulanan, _kota asal .
g. Jangan menggunakan nama fungsi atau kata-kata lain yang mempunyai arti khusus dalam
Turbo C (reversed words). Contoh nama variabel yang salah: main, printf, float, char.
h. Nama variabel boleh terdiri dari reversed words yang digabungkan dengan kata lain.
Contoh nama variabel yang benar: char_pertama, fungsi_printf, data_float,
i. Turbo C membedakan antara huruf besar dan huruf kecil. Contoh: gaji, GAJI, dan Gaji,
merupakan tiga nama variabel yang berbeda.
Sebuah anjuran: untuk mencegah kesalahan semacam ini sebaiknya semua nama
variabel dituliskan dalam huruf kecil, kecuali bila anda dangan sengaja memang ingin
menggunakan dua nama variabel yang sama untuk variabel yang berbeda, maka salah
satu bias dituliskan dengan huruf besar.
1.2.3 Jenis-jenis Variabel
Seperti halnya konstanta, variabel juga terbagi menjadi dua kelompok besar, yaitu variabel
numerik dan variabel teks. Variabel numerik digolongkan atas:
a. Bilangan bulat atau integer
Integer ini mampu menampung bilangan bulat yang bekisar antara -32,768 hingga
+32,767.
b. Bilangan desimal berpresisi tunggal atau floating point
Dalam bentuk bilangan berpangkat floating point dapat digunakan untuk menampung data
dari 10-38
hingga 1038
, sedangkan dalam bentuk decimal jenis variabel ini umumnya dapat
menampung hingga 6 desimal (6 angka di belakang koma). Contoh: nilai_max=2.3e-20,
Std_dev=100.234567 (6 digit di belakang titik decimal).
c. Bilangan desimal berpresisi ganda atau double precision
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!3!
!
Bila data numeric yang akan diolah melebihi kapasitas yang dimiliki oleh floating point,
anda dapat menggunakan double precision ini sebagai alternative. Dalam bentuk bilangan
berpangkat, double precision dapat mengolah angka-angka dengan ketelitian yang
berkisar antara 10-308
hingga 10+308
.Sedangkan dalam bentuk bilangan decimal mampu
menampung hingga 15 digit. Jadi double precision banyak digunakan dalam hal
pengolahan data numeric yang besar atau bila diperlukan tingkat ketelitian yang tinggi.
Contoh: teliti=1234.5678901234, A=1.34567e-100
Sedangkan variabel teks dibedakan atas:
a. Karakter (untuk karakter tunggal)
Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula
dikonversikan dalam bentuk bilangan (ASCII code), bilangan hasil konversi data ini
dinyatakan dengan bilangan bulat yang berkisar dari -128 hingga +127.
b. String (untuk rangkaian karakter)
String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter null
(‘0’). Variabel string tidak akan dibahas disini karena Turbo C menganggap string sebagai
array (jajaran) dari character.
Ditinjau dari nama variabel, sama sekali tidak ada perbedaan antara variabel numerik dan
variabel teks. Perbedaan dari kedua jenis variabel ini hanya dapat kita pantau pada waktu
variabel-variabel tersebut di deklarasikan.
1.2.4 Deklarasi Variabel
Sebelum sebuah variabel digunakan, variabel tersebut harus ‘diperkenalkan’ lebih dahulu
kepada Turbo C. Proses memperkenalkan variabel kepada Turbo C ini dikenal dengan istilah
Deklarasi Variabel. Deklarasi variabel ini sifatnya mutlak, artinya tanpa adanya deklarasi
variabel, Turbo C tidak akan menerima variabel tersebut. Perkenalan atau deklarasi variabel
meliputi tipe variabel, seperti integer atau character, dan nama variabel itu sendiri. Contoh:
int gaji. Urutan deklarasi variabel ini baku, yaitu tipe variabel dulu kemudian disusul dengan
nama variabel (lihat contoh di atas). Daftar tipe variabel dapat anda lihat dalam table 1.1.
Contoh: kita akan mendeklarasikan variabel jumlah sebagai integer, variabel nilai_max
sebagai floating point, dan variabel gaji sebagai double precision.
int jumlah;
float nilai_max;
double gaji;
Table 1.1. Tipe-tipe variabel serta simbol yang digunakan.
TIPE VARIABEL SIMBOL DEKLARASI
Integer
Floating point
Double precision
Karakter
int
float
double
char
Beberapa variabel yang bertipe sama dapat dideklarasikan sekaligus, dengan memberikan
koma (,) sebagai pemisah variabel-variabel tadi. Contoh: Kita akan mendeklarasikan variabel-
variabel bil dan no sebagai integer, variabel-variabel harga_jual, harga_beli, serta keuntungan
sebagai float, dan variabel-variabel nilai_max, nilai_min sebagai double.
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!4!
!
int bil,no;
float harga_beli,harga_jual,keuntungan;
double nilai_max,nilai_min;
Variabel dengan nama yang sama TIDAK BOLEH dideklarasikan ulang. Contoh: Kita
mendeklarasikan variabel nilai dua kali, pertama sebagai integer kemudian sebagai float pada
program yang sama.
int nilai;
float nilai;
Program ini akan memberikan pesan kesalahan redeclaration, yang berarti adanya deklarasi
ulang atas variabel yanga sama.
1.2.5 Inisialisasi Suatu Variabel
Inisialisasi adalah proses pemberian nilai awal terhadap suatu variabel. Pemberian nilai
terhadap suatu variabel ini dapat dinyatakan dengan penggunaan tanda sama dengan (=).
Contoh: Variabel harga_satuan dan jumlah yang bertipe float terlebih dahulu akan diberi nilai
sebesar 12.50 dan 40 sebelum digunakan untuk menghitung harga_total yang juga bertipe
float.
/*inisialisasi*/
Harga_satuan=12.50;
Jumlah=40;
1.2.6 Output program
Agar hasil proses yang telah dilakukan oleh computer dapat dibaca oleh pemakai, hasil
tersebut harus dapat ditampilkan dalam media output (dapat printer atau monitor atau media
yang lain). Untuk menampilkan hasil proses tadi, tentunya diperlukan adanya perintah-
perintah atau fungsi-fungsi yang mengatur output itu. Dalam bahasa C, salah satu fungsi
output yang paling umum adalah printf(). Fungsi printf() dapat digunakan untuk mencetak
data baik yang bertipe numeric atau teks, baik konstanta ataupun variabel. Contoh di bawah
ini menunjukan pemakaian fungsi printf() dalam bentuk yang paling sederhana.
main()
{ printf(“saya belajar bahasa pemrograman C”);
Fungsi argumen
}
Keluaran dari program adalah sebagai berikut :
Saya belajar bahasa pemrograman C
Contoh program berikut ini digunakan untuk mencetak konstanta string dengan konstanta atau
variabel secara bersamaan.
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!5!
!
main() koma pemisah
{
printf(“Jumlah ikan Koi dikolam sebanyak %d” , 14);
}
Konstanta String konstanta integer
Penentu format
Keluaran dari program tersebut adalah
Jumlah ikan Koi dikolam sebanyak 14
Di dalam contoh program diatas penentu format yang sebenarnya berfungsi untuk
menunjukkan dimana data lain (tidak hanya terbatas pada konstanta saja) akan diletakkan bila
dicetak menjadi satu kesatuan dengan konstanta string di depannya. Program dibawah ini
akan memperjelas penggunaan penentu format.
main()
{
printf (“%c merupakan abjad yang ke %d”, ‘z’,26);
}
Hasil output program ini adalah:
z merupakan abjad yang ke 26
Penggunaan penentu format berkaitan erat dengan tipe-tipe data yang akan dicetak. Artinya
setiap tipe data memiliki penentu format-nya masing-masing. Pada tabel 1.2, diberikan
penentu format untuk setiap tipe data yang telah anda kenal.
Tabel 1.2 penentu format untuk fungsi printf().
TIPE DATA PENENTU FORMAT UNTUK printf()
Integer
Bentuk Desimal
Character
String
%d
%f
%c
%s
Satu hal yang sangat penting diperhatikan adalah urutan dari letak penentu format harus
sesuai dengan urutan data yang akan mengisi penentu format tersebut.
printf(“%c merupakan abjad yang ke %d” , ‘b’ , 2 );
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!6!
!
Penentu format untuk ‘b’ adalah %c, sedangkan untuk 2 adalah %d. karena %c mendahului
%d, maka ‘b’ harus diletakkan didepan 2. Bila urutan data yang akan diambil tidak sesuai
dengan urutan penentu formatnya maka akan terjadi kesalahan program.
printf(“%c merupakan abjad yang ke %d ,2, ‘b’ );
Angka desimal yang diberikan sebenarnya dapat diatur, demilkian juga dengan panjang data
(panjang field-nya ). Cara mengatur lebar field dan jumlah desimal yang akan dicetak dengan
format tambahan %f seperti berikut :
%a.bf
Lebar field jumlah decimal
Dimana a dan b berupa bilangan bulat. Contoh dari format tersebut dapat dilihat pada contoh
berikut ini :
main()
{
float bil=0.5 , nomor=30.756;
clrscr();
printf(“bilangan = %10.2f n”,bil );
printf(“nomor” = %10.2f”,nomor);
}
Data tersebuat akan dicetakkan dengan format sebagai berikut:
bilangan =
jumlah decimal = 2
Nomor
lebar field = 10
Bila jumlah desimal yang ada lebih panjang dari yang akan dicetak, maka desimal tersebut
akn dibulatkan ke angka terdekat, dapat dibulatkan ke atas atau ke bawah. Pengaturan lebar
field juga dapat diabaikan, dengan pengertian bahwa kita tidak ambil pusing berapapun
jumlah angka didepan koma, di sini yang kita perhatikan hanya jumlah angka di belakang
komanya saja. Untuk keadaan yang demikian maka lebar field dapat dibuang dari format
tambahan tadi. Sebagai Ilustrasi, dapat dilihat pada contoh berikut ini:
main()
{
2 . 5 0
3 0 . 7 6
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!7!
!
float bil=2.5 , nomor=30.756;
clrscr();
printf(“bilangan = %2.f n”,bil);
printf(“nomor = %2f”,nomor);
}
Output yang dihasilkan akan menjadi:
bilangan
nomor
penentuan lebar field berlaku juga untuk data yang bertipe integer. Berhubung integer tidak
mengandung bilangan pecahan, maka pengaturan jumlah angka di belakang titik decimal
tidak diperlukan. Bentuk penentu lebar field untuk integer adalah:
%ad dimana: a adalah bilangan bulat
contoh:
%10d lebar field untuk integer ini adalah 10
Bila lebar field ditentukan, data umumnya dicetak rata kanan. Untuk kebutuhan khusus, kita
dapat juga mencetak data dalam format rata kiri dengan cara menyisipkan tanda minus (-)
pada format tambahan tadi. Sebagai contoh perhatikan program berikut ini:
main()
{
float bilangan=2.5 , nomor=30.756;
printf(“bilangan = %-10.2f n”,bilangan);
printf(“nomor = %-10.2f”,nomor”);
}
titik ini jangan lupa
outputnya adalah:
bilangan
nomor
1.2.7 Escape Sequence
Disebut escape sequence karena notasi ‘’ dianggap sebagai karakter “escape” (menghindari),
dalam arti bahwa karakter yang terdapat setelah tanda ‘’ dianggap bukan merupakan teks
biasa. Beberapa escape sequence lainnya dapat anda lihat dalam tabel 1.3.
Tabel 1.3 Escape Sequence
2 . 5 0
3 0 . 7 6
2 . 5 0
3 0 . 7 6
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!8!
!
ESCAPE SEQUENCE PENGERTIAN
b
f
n
r
t
’
”

xaa
aaa
Backspace
Formfeed
Baris Baru
Carriage Return
Tab (default = 8 karakter )
Tanda kutip tuggal (‘)
Tanda kutip ganda (“)
Backslash
Kode ASCII dalam
hexadecimal
(aa – menunjukkan angka
ASCII ybs.)
Kode ASCII dalam octal
(aa – menunjukkan angka
ASCII ybs.)
Sebagai ilustrasi dapat dilihat contoh berikut ini:
main()
{
float bil1=13.5 , bil2=45.2, bil3=4.76;
float bil4=30.75 , bil5=32.1, bil6=7.5;
clrscr();
printf(“%8.2f t%8.2f t%8.2f” ,bil1,bil2,bil3);
printf(“n%8.2ft%8.2f t%8.2f”,bil4,bil5,bil6);
}
Dengan keluaran
13.50 45.20 4.76
30.75 32.10 7.50
1.2.8 Input
Kegunaan input tidaklah kalah pentingnya dengan output. Sebagai pengumpan data, input
akan meneruskan data tersebut agar diproses oleh komputer sebelum dikeluarkan oleh output.
Tiga perintah input yang ada dalam program bahasa C adalah scanf(), getche(), dan getch().
Fungsi scanf()
Format dari fungsi scanf adalah sebagai berikut:
scanf(“ penentu format”,&nama_variabel);
Dalam penggunaanya scanf() seringkali dikombinasikan dengan printf() untuk sekedar
memberikan keterangan data apakah yang harus dimasukkan dalam scanf() tersebut, karena
scanf() sendiri tidak dapat digabungkan dengan teks. Selain itu, di depan nama variabel dalam
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!9!
!
scanf() harus digunakan ‘&’. Salah satu kesalahan yang sering dilakukan dalam penggunaan
scanf() adalah lupa memberikan ‘&’ di depan nama variabel, hal ini akan mengakibatkan
proses program menjadi kacau. ‘&’ dikenal sebagai operator alamat (address operator).
/* penggunaan fungsi scanf() */
main()
{
float bil1 , bil2 , bil3 ;
clrscr();
printf(“ Masukkan bilangan pertama :”);
scanf(“%f”, &bil1);
printf(“ Masukkan bilangan kedua :”);
scanf(“%f”, &bil2);
bil3=bil1+bil2
printf(“ Total kedua bilangan : %3f”,bil3);
getche();
}
Sebagai contoh kita akan menjumlahkan dua bilangan 45.5 dengan 30.25, maka output
program diatas akan menjadi:
Masukkan bilangan pertama : 45.5
Masukkan bilangan kedua : 30.25
Total kedua bilangan : 75.750
1.2.9 Memberikan Komentar Dalam Program
Memberikan komentar-komentar atau keterangan dalam program sering kali akan membantu
pemrogram dalam mempelajari atau mengecek kembali program bila terjadi kesalahan-
kesalahan ataupun di kemudian hari ingin mengembangkan program tersebut. Dalam bahasa
C, komentar diletakkan di antara tanda ‘/*’ dan ‘*/’. Misalkan /* ini sebuah komentar */ .
Komentar dapat dituliskan dalam huruf besar, huruf kecil, ataupun kombinasi huruf dengan
karakter-karakter lain, seperti angka dan sebagainya. Komentar dapat diletakan di awal
maupun di tengah program. Dapat di tuliskan pada baris yang terpisah ataupun pada baris
yang sama dengan perintah-perintah lainnya. Sebagai contoh dapat dilihat pada program
berikut ini:
main()
{
/* Deklarasi variabel */
float gaji,pajak,bersih;
clrscr(); /* Menghapus layar */
gaji=500000; /* gaji = gaji kotor per bulan */
pajak=50000; /* pajak = pajak per bulan */
bersih=gaji-pajak; /* bersih = gaji bersih per bulan*/
/* CETAK GAJI BERSIH PER BULAN */
printf("nGaji bersih yang diterima: %.2f",bersih); getche(); }
1.3 Peralatan
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!10!
!
1. 1 set computer
2. Software bahasa C
1.4 Langkah Kerja
1. Aktifkan software bahasa C, dan lakukanlah setting directories dengan cara pilih
Options pada menu utama software, kemudian pilih Directories pada sub-menu
options.
Gambar 1.1. Tampilan Utama Kompiler Turbo C
Isikanlah letak file-file Include, Library, dan Turbo C (biasanya sama dengan letak
folder TC). Isikan pula letak tempat menyimpan file-file program pada Output
directory.
Gambar 2.2. Pengesetan Directory
2. Buatlah program seperti berikut ini, dan simpan dalam file Coba11.C dengan cara
pilih File dan Save atau F2. Untuk melihat program tersebut benar atau tidak
lakukan Compile dari menu utama dan untuk menjalankan program lakukan Run.
/* inisialisasi suatu variabel file Coba11.C*/
main()
{
/* deklarasi variabel */
float harga_satuan, jumlah, total;
clrscr(); /*membersihkan layar */
/*inisialisasi*/
Harga_satuan=12.50;
Jumlah=40;
/*menghitung harga total*/
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!11!
!
total=harga_satuan*jumlah;
/*mencetak harga total*/
printf(“harga total : %f”, total);
getche(); /*menahan layar */
}
3. Buatlah program seperti berikut ini, dan File Save dalam file Coba12.C kemudian
lakukan Compile dan Run.
/* mencetak tipe data karakter dan integer */
main()
{ clrscr();
printf (“%c merupakan abjad yang ke %d”, ‘z’,26);
getche();
}
4. Buatlah program seperti berikut ini, dan File Save dalam file Coba13.C kemudian
lakukan Compile dan Run.
main()
{ clrscr();
float bilangan=2.5 , nomor=30.756;
printf(“bilangan = %-10.2f n”,bilangan);
printf(“nomor = %-10.2f”,nomor”);
getche();
}
5. Buatlah program seperti berikut ini, dan File Save dalam file Coba14.C kemudian
lakukan Compile dan Run.
/*Menghitung Luas segiempat */
main()
{
float panjang , lebar , luas ;
clrscr();
/* Input data – panjang dan lebar */
printf(“panjang segiempat :”);
scanf(“%f”, &panjang);
printf(“lebar segiempat :”);
scanf(“%f”, &lebar);
/* Menghitung luas segiempat */
luas=panjang*lebar ;
/* Mencetak luas segiempat */
printf(“nLuas segiempat : %10.4f” , luas);
getche();
}
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!12!
!
6. Buatlah program seperti berikut ini, dan File Save dalam file Coba15.C kemudian
lakukan Compile dan Run.
/* Penggunaan getche() tanpa variabel */
main()
{
clrscr();
printf("nSaya mempelajari penggunaan getche()");
/* Contoh penggunaan getche() */
printf("nTekan sembarang tombol");
getche();
/* periksa tombol yang Anda tekan */
printf("nAnda telah menekan sebuah tombol");
}
1.5 Lembar Kerja
Tuliskanlah hasil dari langkah kerja 2 hingga 6 kedalam tabel berikut ini:
No Nama File Hasil Keluaran
1.6 Pertanyaan dan Tugas
1. Dari nama-nama variable berikut ini, mana yang benar dan mana yang salah, dan
bila salah apakah penyebab kesalahan tadi.
a. nama_orang g. uang+muka
b. alamat.rumah h. nilai*max
c. uang* i. rata-rata
d. _alamat j. float1
e. gaji bulanan k. printf
f. satu_char l. 2_data
! Pr.$Pemrograman$Komputer$1$!
!
Jobsheet!1:!Input!dan!Output! Halaman!!!13!
!
2. Buatlah flow-chart dan program untuk menghitung luas dan keliling suatu lingkaran.
Adapun rumus luas = π.r2
, sedangkan rumus keliling=2.π.r, jari-jari lingkaran
dimasukkan melalui scanf.
3. Buatlah flow chart dan program untuk menghitung luas dan volume suatu tabung.
Adapun rumus luas= 2.π.r.t sedangkan volume = π.r.t2
. Jari-jari alas dan tinggi
dimasukkan ke program sebagai input melalui scanf.
4. Buatlah flow chart dan program untuk mencari konversi suhu dari cecius ke
Fahrenheit dan reamur dengan rumus:
Fahrenheit = 9/5*Celcius+32
Reamur = 4/5*Celcius
5. Buatlah program untuk menghitung nilai uang dalam bentuk dollar, yen, dan peso.
Adapun inputan program adalah mata uang rupiah dengan rumus:
Dollar = rupiah/9000;
Yen = rupiah/4000
Peso = rupiah/3000
6. Buatlah program untuk menghitung nilai persamaan berikut ini:
X = a2
+b2
+c
Hitunglah nilai X dengan nilai a,b, dan c sebagai nilai input.
7. Buatlah program untuk menghitung berapa bulan lamanya cicilan dari seseorang
yang membeli mobil seharga Rp. 50.000.000,- dengan DP Rp. 10.000.000,- dan tiap
bulan dia harus mencicil sebesar Rp. 300.000,-
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  14	
  
	
  
JOBSHEET 2
OPERASI ARITMATIKA
2.1. Tujuan Instruksional Khusus
1. Mahasiswa dapat membedakan fungsi aritmatika dari operator aritmatika,
ekspresi aritmatika, operator pemberi nilai aritmatika, operator penambah, dan
operator pengurang.
2. Mahasiswa dapat menggunakan operasi aritmatika dengan benar.
2.2. Pendahuluan
Pembahasan Bab ini akan berkisar pada berbagai hal yang berhubungan dengan
operasi aritmatika, baik yang bersifat umum, yang juga dapat Anda jumpai pada
bahasa Pemrograman lainnya, ataupun yang bersifat khusus dimiliki oleh bahasa C.
2.2.1 Operator Aritmatika
Operasi aritmatika yang dikenal oleh Turbo C adalah sebagai berikut :
+ tambah
- kurang
/ bagi
* kali
% sisa
Contoh : A = 10/2; hasilnya = 5
B = 5+2-3; hasilnya = 4
Bila dalam beberapa bahasa Pemrograman lain ada operator untuk pemangkatan,
tetapi di dalam Turbo C jenis operator ini tidak dikenal. Jadi apabila ada rumus-rumus
pemangkatan harus dilakukan dengan cara lain.
Contoh : dalam Turbo C dituliskan A = X*X ;
dalam Turbo C dituliskan B = 5*Y*Y*Y ;
Operator sisa (%) hanya dapat digunakan untuk data yang bertipe char atau int, dan
tidak dapat digunakan untuk tipe data float ataupun double.
Contoh : A = 5 % 2 nilai A = 1
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  15	
  
	
  
solusinya 5 dibagi 2 = 2 sisa 1
B = 4.3 % 3.2 nilainya akan salah
2.2.2 Ekspresi Aritmatika
Pada contoh di atas, Anda menjumpai pernyataan seperi A = X*X, bentuk X*X ini
disebut sebagai ekspresi aritmatika. Sedangkan A = X*X merupakan pernyataan
pemberian nilai kepada suatu variable. Bentuk umum pernyataan pemberian nilai
adalah :
variable = ekspresi aritmatika
LVALUE RVALUE
Tanda ‘=’ dalam pernyataan di atas dikenal sebagai operator pemberi nilai
(assignment operator), karena tanda ‘=’ ini digunakan untuk memberi nilai kepada
suatu variabel, baik numerik maupun karakter atau string. Sebelah kiri tanda ‘=’, yaitu
variabel, dikenal dengan sebutan LVALUE (Left Value), sedangkan ekspresi
aritmatika yang terlaetak di sebelah kanan tanda ‘=’ dinamakan RVALUE (Right
Value). LVALUE harus selalu berupa variabel tunggal, tidak boleh lain. Sedangkan
RVALUE dapat berupa konstanta, variabel lain maupun suatu ekspresi atau rumus
aritmatika.
Contoh : A = 5;
char = ‘j’;
X = nilai;
rata-rata = total/jumlah;
bil = 0.3*bil_1+0.7*bil_2;
Bila LVALUE bukan berupa variabel, maka akan muncul pesan kesalahan :
Lvalue required in function …
Beberapa contoh ekspresi aritmatika yang salah :
5 = A;
2+4 = B;
total/jumlah = rata_rata;
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  16	
  
	
  
Pemberian nilai terhadap beberapa variabel yang akan diberi nilai sama, dapat
dilakukan sekaligus dalam satu baris perintah.
Contoh :
A = B = C =10;
Dalam proses ini, C akan diberi nilai lebih dulu dengan 10, kemudian B diberi nilai
sama dengan C, yaitu 10 juga. Akhirnya A diberi nilai sama dengan B yang juga 10.
Pemberian nilai tehadap beberapa variabel yang nilainya berbeda, tidak dapat
dilakukan sekaligus. Contoh dari pemberian beberapa variabel dapat dilihan pada
contoh berikut ini:
Kita akan member nilai A = 10, B = 5, C = 7. Anda tidak dapat menuliskan sebagai :
A = B + 5 = C + 3 = 10;
Ekspresi ini SALAH.
2.2.3 Hierarki Operator Aritmatika
Bila dalam suatu ekspresi aritmatika Anda dapat menjumpai penggunaan beberapa
operator Artmatika yang berbeda secara bersamaan, maka hierarki dari operator ini
adalah sebagai berikut :
* atau / tergantung letak, yang di depan yang di dahulukan.
%
+ atau - tergantung letak.
Contoh : A = 5 + 3*2/6
Langkah-langkah perhitungan yang dilaukan oleh komputer adalah :
1. 3*2 dihitung dulu, karena ‘*’ di depan ‘/’
A = 5 + 6/6
2. Kemudian dihitung 6/6, karena hirearki ‘/’ lebih tinggi dari pada ‘+’
A = 5 + 1
3. Terakhir penjumlahan, sehingga A = 6
B = 10/5*2+3;
Solusinya : B = 2*2+3
B = 4 + 3
B = 7
Hirearki ini dapat dilawan dengan penggunaan tanda kurung ‘(‘ dan ‘)’. Ekspresi yang
terdapat pada kurung terdalam akan dijalankan lebih dahulu.
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  17	
  
	
  
Contoh :
A = (5+3)*2/4;
Solusinya : A = 8*2/4
A = 16/4
A = 4
B = 100/(5*(2+3));
Solusinya : B = 100/(5*5)
B = 100/25
B = 4
Berikut ini adalah beberapa contoh penulisan ekspresi aritmatika dalam Turbo C.
Contoh :
dituliskan (a+b)/(a-b) – p*q
dituliskan (a+b/p)/a*b–q
dituliskan (a+b/p)/a*b–q
atau ((a+b/p)/a)*b-q
Dua contoh yang terakhir menunjukkan bahwa tanda kurung juga memegang peranan
penting dalam ekspresi aritmatika. Bila terjadi kesalahan meletakkan kurung, maka
ekspresi aritmatika yang dihasilkan kemungkinan besar akan memiliki arti yang
brbeda pula. Oleh karena itu berhati-hatilah (perhatikan (a+b/p)/(a*b)-q memiliki
pengertian yang berbeda dengan (a+b/p)/a*b-q). Kesalahan semacam ini seringkali
dilakukan oleh para programmer tanpa disengaja dan cukup sulit dilacak, karena
Turbo C tidak akan memberikan pesan kesalahan selama sintaks penulisan ekspresi
tadi benar.
Kesalahan lain yang juga mungkin terjadi adalah suatu perkalian variabel yang
melupakan tanda kalinya, misalnya perkalian p dan q yang seharusnya dituliskan p*q,
dituliskan pq saja. Untuk kesalahan semacam ini, Turbo C ada kalanya memberikan
pesan kesalahan, yaitu bila tidak mendeklarasikan suatu variabel lain dengan nama
pq. Bila kebetulan ada variabel dengan nama pq, maka tidak aka nada pesan
kesalahan.
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  18	
  
	
  
2.2.4 Operator Pemberi Nilai Aritmatika
Bila ‘=’ dikenal sebagai operator pemberi nilai (assignment operator), ada operator-
operator lain sejenis yang khusus digunakan dalam ekspresi-ekspresi aritmatika, oleh
karena itu operator-operator ini lebih dikenal sebagai operator pemberi nilai
aritmatika (arithmetic assignment operators). Sebelum melihat apa saja yang disebut
sebagai operator pemberi nilai aritmatika, kita tinjau dulu sebuah contoh persamaan
berikut ini :
total = total + bilangan ;
Ekspresi semacam ini sering kali kita jumpai dalam mencari nilai kumulatif
(penjumlahan) dari sejumlah nilai tertentu yang banyak dijumpai dalam loop
(program pengulangan). Bila Anda pernah mempelajari suatu bahasa Pemrograman
tertentu, tentunya ekspresi semacam ini tidak merupakan suatu hal yang asing lagi
bagi Anda. Di dalam Turbo C, penulisan ekspresi di atas, dapat disederhanakan
menjadi :
total + = bilangan;
Notasi ‘+=’ ini dikenal dengan operator pemberi nilai aritmatika (arithmetic
assignment operator). Operator pemberi nilai selengkapnya dapat Anda lihat pada
Tabel 2.1
Tabel 2.1 Operator Pemberi Nilai Aritmatika
OPERATOR ARTI
+= Penjumlahan
-= Pengurangan
*= Perkalian
/= Pembagian
%= Sisa
Beberapa contoh berikut ini akan memberikan gambaran tentang penggunaan
operator-operator ini.
langkah += 2; langkah = langkah + 2
nilai -= 4.75; nilai = nilai – 4.75
bil *= 12; bil = bil * 12
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  19	
  
	
  
bagi /= nomor; bagi = bagi / nomor
sisa %= 2; sisa = sisa % 2
2.2.5 Operator Penambah (increment) dan Pengurang (decrement)
Suatu variabel yang nilainya selal bertambah satu, misalkan seperti pada sebuah
variabel pencacah (counter) dengan rumus sebagai berikut ini :
nomor = nomor + 1;
berdasarkan ketentuan yang telah dijelaskan pada topic sebelumnya, rumus ini dapat
dituliskan sebagai :
nomor += 1;
Rumus di atas sebenarnya merupakan bentuk khusus dari rumus-rumus yang terdapat
pada topic sebelumnya (lihat Operator Pemberi Nilai Aritmatika), dimana
penambahannya selalu ‘1’. Dalam C, rumus di atas ini masih dapat disederhanakan
lagi menjadi :
nomor++
Notasi ‘++’ disebut Operator Penambah (Increment Operator). ‘++’ dapat digunakan
baik di depan nama variabel, seperti :
++nomor
Ataupun di belakang variabel :
nomor ++
Kedua bentuk penulisan ini memiliki arti yang BERBEDA. Bila ‘++’ diletakkan di
depan nama variabel, maka proses penambahan akan dilakukan sesaat sebelum atau
langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung
berubah begtu ekpresi ini ditemukan. Jika ‘++’ diletakkan di belakang nama variabel,
maka proses penambahan akan dilakukan setelah ekspresi ini dijumpai, dengan kata
lain nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Hal yang serupa juga berlaku untuk operator pengurang (decrement operator).
Operator ini akan mengurangi nilai variabel dengan 1,setiap prosesnya. Operator
pengurang ini menggunakan notasi ‘-‘, yang juga dapat diletakkan di depan ataupun
di belakang nama variabel, dengan pengertian yang serupa dengan operator
penambah.
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  20	
  
	
  
2.2.6 Operasi Aritmatika Dari Campuran Tipe Data Yang Berbeda
Operasi aritmatika dapat dilakukan untuk campuran berbagai tipe data yang berbeda.
Pada umumnya hasil akhir akan sesuai dengan tipe variabel yang akan menyimpan
hasil operasi aritmatika ini. Namun demikian ada berbagai penyimpangan yang patut
diperhatikan, guna mencegah terjadinya kesalahan-kesalahan yang sebenarnya tidak
perlu. Untuk memberikan gambaran yang lebih jelas, ikutilah beberapa contoh
dibawah ini.
Pertama kita akan meninjau hasil operasi aritmatika terhadap data-data yang bertipe
integer, dan hasil proses akan disimpan kedalam variabel yang bertipe integer juga.
Perhatikan contoh di bawah ini :
/* Operasi Aritmatika terhadap Data Integer */
/* yang hasilnya disimpan ke dalam variabel integer */
main()
{
int bil1=5,bil2=3,bil3,bil4,bil5,bil6;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2;
bil5=bil1*bil2;
bil6=bil1/bil2;
printf("n%4d + %4d = %4d",bil1,bil2,bil3);
printf("n%4d - %4d = %4d",bil1,bil2,bil4);
printf("n%4d * %4d = %4d",bil1,bil2,bil5);
printf("n%4d / %4d = %4d",bil1,bil2,bil6);
}
Output program ini adalah :
5 + 3 = 8
5 – 3 = 2
5 * 3 = 15
5 / 3 = 1
Semua hasil dari operasi aritmatika ini adalah integer. Untuk penjumlahan, selisih,
dan perkalian tidak ada hal yang aneh, namun untuk pembagian yang hasilnya bukan
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  21	
  
	
  
berupa bilangan bulat, hasil tadi akan selalu dibulatkan kebawah. Sebagai contoh kita
lihat dari proses di atas :
5 / 3 seharusnya 1.666667 disini dibulatkan menjadi 1
contoh lain :
6 / 3 hasilnya 2 (tidak dibulatkan lagi karena hasilnya memang sudah
berupa
bilangan bulat)
11/4 seharusnya 2.75
disini akan dibulatkan menjadi 2
Sekarang kita akan meninjau operasi aritmatika dari data-data yang bertipe integer,
namun hasilnya akan disimpan kedalam variabel yang bertipe float.
/* Operasi Aritmatika terhadap Data Integer */
/* yang hasilnya disimpan ke dalam variabel float */
main()
{
int bil1=1000,bil2=3;
float bil3,bil4,bil5,bil6;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2;
bil5=bil1*bil2;
bil6=bil1/bil2;
printf("n%4d + %4d = %4f",bil1,bil2,bil3);
printf("n%4d - %4d = %4f",bil1,bil2,bil4);
printf("n%4d * %4d = %4f",bil1,bil2,bil5);
printf("n%4d / %4d = %4f",bil1,bil2,bil6);
}
Outputnya :
1000 + 3 = 1003.000000
1000 – 3 = 997.000000
1000 * 3 = 3000.000000
1000 / 3 = 333.000000
Bila kita pelajari output diatas, untuk penjumlahan, selisih, dan perkalian tidak ada hal
yang aneh, hanya semua hasilnya sekarang dituliskan dalam bentuk floating point
dengan menampilkan desimalnya. Untuk pembagian ada sedikit keanehan, ternyata
hasilnya tetap dibulatkan menjadi integer, hanya ditampilkan dalam bentuk decimal
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  22	
  
	
  
(ada 6 angka dibelakang titik decimal ). Dari sini dapat disimpulkan bahwa
pembagian dari dua jenis data integer yang disimpan kedalam variabel float tetap akan
memberikan hasil integer yang dituliskan dalam bentuk desimal. Untuk operasi
aritmatika terhadap data-data yang bertipe campuran, integer dan float, yang hasilnya
akan disimpan dalam variabel integer.
/* Operasi Aritmatika terhadap Data Campuran */
/* yang hasilnya disimpan ke dalam variabel integer*/
main()
{
int bil1=1000,bil3,bil4,bil5,bil6;
float bil2=3.5;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2;
bil5=bil1*bil2;
bil6=bil1/bil2;
printf("n%4d + %f = %d",bil1,bil2,bil3);
printf("n%4d - %f = %d",bil1,bil2,bil4);
printf("n%4d * %f = %d",bil1,bil2,bil5);
printf("n%4d / %f = %d",bil1,bil2,bil6);
}
Outputnya :
1000 + 3.500000 = 1003
1000 – 3.500000 = 996
1000 * 3.500000 = 3500
1000 / 3.500000 = 285
Berikutnya adalah operasi aritmatika terhadap data campuran yang akan disimpan
kedalam variabel float.
/* Operasi Aritmatika terhadap Data Campuran */
/* yang hasilnya disimpan ke dalam variabel float */
main()
{
int bil1=1000;
float bil2=3.5,bil3,bil4,bil5,bil6;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2;
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  23	
  
	
  
bil5=bil1*bil2;
bil6=bil1/bil2;
printf("n%4d + %f = %f",bil1,bil2,bil3);
printf("n%4d - %f = %f",bil1,bil2,bil4);
printf("n%4d * %f = %f",bil1,bil2,bil5);
printf("n%4d / %f = %f",bil1,bil2,bil6);
}
Outputnya :
1000 + 3.500000 = 1003.500000
1000 – 3.500000 = 996.500000
1000 * 3.500000 = 3500.000000
1000 / 3.500000 = 285.714294
Dari sini dapat disimpulkan, bila ingin memperoleh hasil float yang benar, tanpa
adanya pembulatan menjadi integer, maka minimum salah satu suku atau faktor yang
terdapat dalam operasi aritmatika harus bertipe float, dan hasil operasi ini harus
disimpan dalam variabel float pula. Hal ini perlu diperhatikan terutama untuk
pembagian. Dari contoh-contoh yang telah diberikan diatas, dapat disimpulkan bahwa
dalam operasi aritmatika, operasi pembagian sering memberikan hasil yang kadang-
kadang sedikit aneh. Ada dua hal yang perlu kita perhatikan dalam operasi pembagian
ini :
1. Untuk pembagian integer, yaitu bila pembilang dan penyebut kedua-duanya
berbentuk integer, maka hasilnya akan integer.
Contoh : 125/100 = 1
15/20 = 0
2. Untuk pembagian campuran, yaitu bila pembilang atau penyebut atau kedua-
duanya merupakan float, maka hasilnya akan menjadi float juga.
Contoh : 125.0/100 = 1.250000
15/20.0 = 0.750000
3.25/6.50 = 0.500000
2.2.7 Pengaturan Tipe (type casting)
Tipe data dapat langsung diatur didalam ekspresi aritmatika yang dituliskan, dengan
demikian konversi tipe data akan langsung dilakukan pada setiap langkah
perhitungannya. Pengaturan tipe data ini dituliskan sebagai :
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  24	
  
	
  
(tipe) variabel atau konstanta
Sebagai contoh, kita tinjau program dibawah ini.
/* Penggunaan pengatur Tipe */
main()
{
int a1=10,a2,a3,a4,a5,a6,a7;
float b1,b2;
clrscr();
a2=45.5/a1+2.75;
a3=(int) 45.5/a1 + 2.75;
a4=(int) 45.5/a1+(int) (2.75);
a5=(int) 45.75/0.5;
a6=(int) (45.75/0.5);
a7=(int) 45.75/(int) 1.5;
b1=45/a1+2.75;
b2=(float) 45/a1 +2.75;
printf("n %d”,a2);
printf("n %d",a3);
printf("n %d",a4);
printf("n %d",a5);
printf("n %d",a6);
printf("n %d",a7);
printf("n %f",b1);
printf("n %f",b2);
}
Outputnya :
7
6
6
90
91
45
6.750000
7.250000
Proses langkah demi langkahnya adalah sebagai berikut :
a2 = 45.5/a1 + 2.75
= 45.5/10 + 2.75
= 4.55 + 2.75
= 7.30
a3 = (int) 45.5/a1 + 2.75
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  25	
  
	
  
= 45/10 + 2.75
= 4 + 2.75
= 6.75
dibulatkan menjadi 6, karena a3 integer
a4 = (int) 45.5/a1 + (int) 2.75
= 45/10 + 2
= 4 + 2
= 6
Meskipun a2 dan a3 hasilnya sama, namun proses perhitungan langkah demi
langkahnya berbeda.
a5 = (int) 45.75/0.5
= 45/0.5
= 90.000000
dituliskan sebagai 90
a6 = (int) (45.75/0.5)
= (int) 91.500000
= 91
a7 = (int) 45.75/ (int) 1.5
= 45/1
= 45
b1 = 45/a1 + 2.75
= 45/10 + 2.75
= 4 + 2.75
= 6.750000
b2 = (float) 45/a1 + 2.75
= (float) 45/10 + 2.75
= 4.500000 + 2.75
= 7.250000
Kesimpulan :
1. Pengatur tipe hanya mengatur sebuah variabel atau konstanta yang tepat berada
dibelakang pengatur tipe tadi.
Contoh :
(int) 45.75/0.5 → 45/0.5
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  26	
  
	
  
2. Bila setiap konstanta atau variabel hendak diubah tipenya, maka konstanta-
konstanta atau variabel- variabel tersebut membutuhkan pengatur tipenya masing-
masing.
Contoh :
(int) 45.75/ (int) 1.5 → 45/1
3. Kita dapat menggunakan tanda kurung untuk mengatur dijalankannya proses
aritmatika lebih dahulu, baru kemudian hasilnya di konversikan ke dalam tipe
yang di inginkan.
Contoh :
(int) (45.75/0.5) → (int) 91.500000
2.2.8 Hierarki Operator
Bila pada beberapa topik sebelumnya telah diberikan hierarki operator aritmatika
(lihat tabel 2.1), pada table berikut ini akan diberikan hierarki yang lebih lengkap.
Tabel 2.2 Hierarki operator.
Prioritas Operator Keterangan
I
II
III
IV
V
VI
VII
VIII
()
++--
*/
%
+-
= += -=
*= /= %=
!
< > <= >=
!= = =
&& ; ;
Tanda kurung
Penambahan dan pengurangan.
Kali dan bagi
Sisa
Tambah dan kurang
Operator pemberi nilai
Aritmatika
Operator logic tidak/bukan.
Operator relasi
Operator logic DAN dan
ATAU
2.2.9 Operasi Character
Meskipun sebenarnya operasi character bukan merupakan bagian dari operasi
matematika,namun topic ini sengaja disisipkan disini,mengingat bahwa karakter dapat
dinyatakan dalam bentuk integer. Karakter umumnya disimpan secara internal dalam
bentuk integer,artinya karakter dikonversikan menjadi integer sebelum disimpan ke
dalam memori dan akan dikonversikan menjadi karakter kembali bila dicetak.pada
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  27	
  
	
  
umumnya system konversi yang dianut oleh sebagian besar microcomputer akana
menjadi nilai ASCII-nya(lihat Lampiran A).nilai ASCII dapat berkisar dari 0 hingga
127 atau 0 hingga 255, tergantung jenis computer yang anda gunakan.
Seperti yang telah dibahas pada bab sebelumnya, untuk mencetak sebuah karakter
digunakan format specifier ‘%c’.bagaimanakah untuk mencetak nilai ASCII –nya?
Nilai ASCII dapat dicetak dengan menggunakan format specifier ’%d’ (%d mewakili
integer).
/* Program konversi nilai ASCII */
main()
{
char c1='a',c2='A';
clrscr();
printf("nKarakter pertama : %c",c1);
printf("nNilai ASCII nya : %d",c1);
printf("nKarakter kedua : %c",c2);
printf("nNilai ASCII nya : %d",c2);
}
Output program ini:
Karakter pertama : a
Nilai ASCII nya : 97
Karakter kedua : A
Nilai ASCII nya : 65
2.3. Peralatan
1. 1 set computer
2. Software Turbo C
2.4. Langkah Kerja
1. Aktifkanlah editor Turbo C, kemudian lakukanlah konfigurasi directory.
2. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con21.C
/* Penggunaan '++' di depan nama variabel */
main()
{
int bil=10;
clrscr();
printf("n %d",bil);
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  28	
  
	
  
printf("n%d",++bil);
printf("n%d",bil++);
printf(“n%d”, bil);
getche();
}
3. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con22.C
/* Penggunaan '++' di belakang nama variabel */
main()
{
int bil=10;
clrscr();
printf("n %d",bil);
printf("n %d",bil++);
printf("n %d",++bil);
getche();
}
4. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con23.C
/* Penggunaan '++' di depan dan di belakang nama variabel */
main()
{
int bil=25;
clrscr();
printf("n %d",++bil);
printf("n %d",bil++);
printf("n %d",bil);
printf("n %d",++bil);
printf("n %d",bil++);
printf("n %d",++bil);
getche();
}
5. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con24.C
/* Contoh penggunaan '++' dan '--' */
main()
{
int bil=15;
clrscr();
printf("n %d",++bil);
printf("n %d",bil--);
printf("n %d",bil);
printf("n %d",bil++);
printf("n %d",++bil);
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  29	
  
	
  
printf("n %d",bil--);
printf("n %d",--bil);
printf("n %d",bil);
printf("n %d",++bil);
printf("n %d",--bil);
printf("n %d",bil);
getche();
}
Bagaimanakah output dari program di atas ? Cobalah menganalisa program ini
tanpa menjalankannya di computer. Bila analisa anda seperti hasil saat eksekusi
program maka Anda telah benar-benar memahami pengertian operator-operator
tersebut.
6. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con25.C
/* Operasi Aritmatika */
main()
{
int a1=10,a2,a3,a4;
float b1=1.5,b2,b3,b4;
clrscr();
a2=a1/b1+2.5;
a3=45/a1+3;
a4=45.0/a1+3;
b2=a1/b1+2.5;
b3=45/a1+3;
b4=45.0/a1+3;
printf("n %d”,a2);
printf("n %d",a3);
printf("n %d",a4);
printf("n %f",b2);
printf("n %f",b3);
printf("n %f",b4);
getche();
}
Langkah kerja nomor 7 merupakan contoh program konversi dari huruf besar
menjadi huruf kecil, dalam kode ASCII selisih antara huruf besar dan huruf kecil
adalah 32 (misal A mempunyai kode 1000001 atau $41 sedangkan a mempunyai
kode 1010001 atau $61), maka sifat ini dapat kita gunakan untuk
mengkonversikan huruf besar menjadi huruf kecil.
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  30	
  
	
  
7. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con26.C
/* Program konversi huruf besar ke kecil */
main()
{
char besar,kecil;
clrscr();
/* Cetak Judul */
printf("xDB PROGRAM KONVERSI HURUF xDB");
/* Inputkan sebuah huruf besar */
printf("nnInputkan sebuah huruf besar (A-Z)");
besar=getche();
/* Konversi ke huruf kecil */
kecil=besar+32;
/* Cetak huruf kecilnya */
printf("nnHuruf kecil dari %c adalah %c",besar,kecil);
getche();
}
8. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con27.C
/* Program konversi jam */
main()
{
int jam;
float jam_input,menit,tot_menit;
clrscr();
/* Cetak Judul */
printf("xB1xB1 Program Konversi Jam xB1xB1");
/* Input Data */
printf("nnInputkan Jam (x.xx) : ");
scanf("%f",&jam_input);
/* Konversi */
jam=(int) jam_input;
menit=(jam_input-(int) jam_input)*60;
tot_menit=jam*60+menit;
/* Cetak Output */
printf("n%f jam = %d jam %5.2f menit = %.2f menit",jam_input,
jam,menit,tot_menit);
getche();
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  31	
  
	
  
}
2.5. Lembar Kerja
No Nama File Keluaran
2.6. Pertanyaan dan Tugas
1. Tuliskan ekspresi aritmatika dibawah ini dalam bentuk yang dikenal oleh Turbo
C:
a.
dimana a,b,c,d,p,q,x, dan y masing masing adalah sebuah variable.
2. Bila diketahui a=100, b=10 dan c=2, tentukan hasil ekspresi aritmatika berikut
ini:
a. d = a/2*b; f. z = a/(2*b);
b. x = a*b/5*c; g. p = a+b/2*b;
c. y = a*(b/5)*c; h. q = (a+b)/2*b;
d. f = a+c/10+b; i. r = (a+b)/(2*b);
e. g = a+c/(10+b); j. s = (a+c)/(10+b);
3. Dari program berikut ini, berapakah nilai x ?
main()
{
int x,y ;
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  32	
  
	
  
y = 3
x = y*3+12;
printf("Nilai dari x adalah : %d ",x);
}
4. Dari program berikut ini, bagaimana outputnya ?
main()
{
int a=12,b=15,c=40,d,x;
float e=5.5,f=12.5,h.i,y;
d=a+e;
h=c/b;
i=f/a;
x=f/e;
y=f/e;
printf("n d : %d",d);
printf("n h : %f",h);
printf("n i : %f",i);
printf("n x : %d",x);
printf("n y : %f",y);
}
5. Tentukan output dari program dibawah ini:
main()
{
int bil=3;
printf("n %d",bil);
printf("n %d",bil++);
printf("n %d",--bil);
bil+=5;
printf("n %d",bil);
printf("n %d",++bil);
printf("n %d",bil++);
printf("n %d",bil);
bil*=5;
printf("n %d",bil++);
printf("n %d",++bil);
printf("n %d",bil);
bil-=5;
printf("n %d",bil);
getche();
}
6. Tentukan output program berikut ini :
main()
{
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  33	
  
	
  
int bil1=10,bil2,bil3;
float bil4=75.5,bil5,bil6;
bil2=(int) bil4/bil1+(int) bil4;
bil3=(int) (bil4/0.25)+5/2;
bil5=bil1/2+(int) bil4/25;
bil6=bil4/ (int) 1.5+2.4;
printf("n %d",bil2);
printf("n %d",bil3);
printf("n %f",bil5);
printf("n %f",bil6);
}
Tentukan lebih dahulu dengan perhitungan manual, sebelum anda coba
program diatas. Dengan demikian anda dapat menguji apakah anda benar
benar telah memahami langkah langkah perhitungan ini.
7. Tentukan output program dibawah ini, kerjakan secara manual dahulu,kemudian
buatlah programnya, serta periksa apakah hasil manual tersebut sesuai output
program?.
main()
{
char kar1,kar2,kar3;
kar1='a'+10;
kar2=kar1-20;
kar3='C'+'D'-'A'+10;
printf("n %c kode ASCII nya %u",kar1,kar1);
printf("n %c kode ASCII nya %u",kar2,kar2);
printf("n %c kode ASCII nya %u",kar3,kar3);
}
8. Buatlah program untuk menghitung volume dan luas permukaan tabung
apabila masukkannya berupa jari-jari dan tinggi. Jari-jari dan tinggi yang
dimasukkan bertipe float dan output atau keluaran yang dihasilkan adalah
luas dan volume permukaan bola dengan tipe float.
  Pr. Pemrograman Komputer 1 	
  
	
  
Jobsheet	
  2:	
  Operasi	
  Aritmatika	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Halaman	
  	
  34	
  
	
  
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  34	
  
	
  
JOBSHEET 3
Percabangan Bersyarat
3.1. Tujuan Instruksional Khusus
1. Mahasiswa dapat membuat program menggunakan percabangan menggunakan if .. else.
2. Mahasiswa dapat membuat program menggunakan percabangan bertingkat menggunakan
if .. else if.
3. Mahasiswa dapat membuat program menggunakan percabangan menggunakan switch ..
case.
3.2. Pendahuluan
Percabangan bersyarat memungkinkan pemrogram untuk memilih suatu alternatif dari
beberapa alternatif yang disediakan berdasarkan kondisi yang sesuai.
3.2.1 Operator Relasi
Operator relasi digunakan untuk membandingkan nilai dua ekspresi aritmatika yang berbeda.
Kedua nilai ekspresi yang dibandingkan tersebut dapat sama, lebih besar, atau lebih kecil atau
tidak sama dan sebagainya.
Tabel 3.1. Operator Relasi
OPERATOR
RELASI
ARTI
< Lebih kecil
> Lebih besar
== Sama dengan
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama
dengan
!= Tidak sama dengan
Kesalahan yang sering terjadi dalam menggunakan operator relasi ini adalah penggunaan
tanda sama dengan (==). Sering pemrogram menggunakan notasi ‘=’ untuk menunjukkan
relasi sama dengan (==). Hal ini dapat dimaklumi karena dalam bahasa pemrograman yang
lain tanda relasi sama dengan yang banyak digunakan adalah ‘=’. Contoh dari ekspresi sama:
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  35	
  
	
  
Ekspresi pertama : x + 5
Ekspresi kedua : y + 10
Pernyataan yang benar adalah : x+5==y+10
Bila pernyataan tersebut dituliskan x+5=y+10
Akan muncul pesan kesalahan Lvalue required in function…
3.2.2 Operator Lojik
Operator lojik umumnya digunakan untuk membandingkan dua ekspresi relasional atau lebih
dalam suatu ekspresi logik. Operator Logik yang dikenal oleh Turbo C diberikan dalam Tabel
3.2
Tabel 3.2 Operator Lojik
OPERATOR LOGIK ARTI
&& Lojik AND
|| Logik OR
! Lojik NOT
Suatu ekspresi lojik yang terdiri dari dua ekspresi realsional atau lebih yang dihubungkan oled
DAN (logical AND) akan dianggap BENAR bila semua ekspresi relasional tadi BENAR.
Tinjau dari tiga ekspresi relasional berikut ini merupakan contoh dari ekspresi lojik:
1. X+5<10
2. Y>x+3
3. Z-2>3
Bila ketiga ekspresi relasional ini digabungkan dengan &&
(x+5<10 && y>x+3 && z-2>3)
Jika nilai-nilai x=1, y=5, z=10, maka ekspresi-ekspresi relasional tersebut akan memiliki nilai:
X+5<10 → BENAR
Y>x+3 → BENAR
Z-2>3 → BENAR
Berhubung ketiga ekspresi relasional BENAR, maka:
(x+5<10 && y>x+3 && z-2>3) → juga BENAR
Untuk nilai x,y,, dan z yang brbeda, misalkan x=2, y=2, dan z=10, maka:
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  36	
  
	
  
X+5<10 → BENAR
Y>x+3 → SALAH
Z-2>3 → BENAR
Karena di sini ada ekpresi relasional yang SALAH, maka :
(x+5<10 && y>x+3 && z-2>3) → SALAH
Dua atau lebih ekspresi realsional yagn dihubungkan oleh lojik OR akan BENAR, bila
minimum salah satu ekspresi relasional tersebut Benar. Bila semua relasi memiliki nilai
SALAH, abru pernyataan tersebut akan Salah. Dari contoh tersebut, penggabungan beberapa
ekpresi relasional dalam suatu ekspresi lojik dengan menggunakan && dan ||, akan mengikuti
aturan seperti yang ditunjukkan dalam Tabel 3.3.
Tabel 3.3 Operator lojik
OPERATOR
LOGIK
EKSPRESI LOGIK HASIL
&& (benar) && (benar)
(benar) && (salah)
(salah) && (benar)
(salah) && (salah)
BENAR
SALAH
SALAH
SALAH
|| (benar) || (benar)
(benar) || (salah)
(salah) || (benar)
(salah) || (salah
BENAR
BENAR
BENAR
SALAH
! ! (benar)
! (salah)
SALAH
BENAR
Bila && dan || digunakan secara bersama-sama dalam suatu pernyataan untuk
menggabungkan beberapa relasi, maka && akan dipriotaskan lebih dahulu, baru kemudian
menyusul ||.
.
3.2.3 Pernyataan if
Pernyataan if membagi suatu alur proses menjadi dua cabang, berdasarkan persyaratan yang
diberikan. Cabang yang pertama dijalankan bila persyaratan dipenuhi, sedangkan cabang yang
kedua akan dipilih bila persyaratan tidak dipenuhi. Dalam bentuk diagram alir, proses
percabangan if dapat digambarkan sebagai berikut (lihat gambar 3.1.)
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  37	
  
	
  
Ya Tidak
Gambar 3.1. Digram Alir Percabangan if
Diagram alir yang diberikan dalam gambar 3.1. menggambarkan proses percabangan if yang
paling sederhana, yaitu bila cabang yang kedua (persyaratan tidak dipenuhi) tidak memiliki
perintah. Dengan kata lain, sekumpulan perintah akan dijalankan bila syarat dipenuhi,
sedangkan bila syarat tidak dipenuhi, sekumpulan perintah tadi akan dilewati atau diabaikan,
proses akan langsung dialnjutkan pada perintah-perintah berikutnya. Struktur if dapat
dituliskan dalam dua bentuk penulisan. Pertama, pada if hanya mengandung sebuah perintah
atau pernyataan dengan format perintah seperti berikut:
if(syarat)
……perintah;
Terlihat bahwa baris if tidak diakhiri oleh ‘;’, notasi ‘;’ baru diberikan pada akhir perintah
baris di bawah if. Bentuk penulisan kedua digunakan bila perintah yang terdapapat di dalam if
merupakan sekumpulan perintah.
if(syarat)
{ ……perintah;
……perintah;
……perintah; }
Pada setiap baris perintah diakhiri oleh ‘;’. Kumpulan perintah yang termasuk di dalam if
diletakkan di antara ‘{‘ dan ’}’.
IF	
  
PERINTAH	
  
PERINTAH	
  
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  38	
  
	
  
3.2.4 Pernyataan if else
Pernyataan if else sebenarnya merupakan pengembangan dari pernyataan if. Disini kedua
cabang, yaitu syarat dipenuhi dan syarat tidak dipenuhi, masing-masing memiliki perintah
yang harus dijalankan. Diagram alir untuk pernyataan if else dilukiskan dalam Gambar 3.2.
PERINTAH
PERINTAH
PERINTAH
PERINTAH
TidakYa
IF
Gambar 3.2. Diagram Alir untuk pernyataan if .. else
Seperti halnya pernyataan if.cara menuliskan struktur if else ini juga dibedakan dalam dua
bentuk.Yang pertama yaitu bila masing-masing alternative hanya terdiri dari satu perintah
atau pernyataan.
if (syarat)
….perintah;
else
….perintah;
Bila setiap alternatif terdiri lebih dari satu perintah,maka perintah-perintah tadi harus
diletakkan diantara tanda kurung ’{ }’.
if (syarat)
{
....perintah;
....perintah;
....perintah;
}
else
{
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  39	
  
	
  
….perintah;
….perintah;
….perintah;
}
3.2.5 Bentuk Percabangan if else if
Bentuk else if sebenarnya mirip dengan nested if, bahkan dalam aplikasinya seringkali
sturktur ini digunakan untuk menggantikan struktur nested if. Keuntungan struktur else if
dibandingkan dengan nested if adalah struktur ini menghasilkan bentuk penulisan program
yang lebih sederhana. Diagram alir untuk struktur else if ini di lukiskan dalam Gambar 3.3.
Gambar 3.3. Diagram alir struktur else if
Struktur pertanyaan if else if dapat dituliskan sebagai berikut:
if (syarat)
{
…..perintah;
	
  	
  	
  	
  	
  	
  if	
  
else	
  if	
  
else	
  
else	
  if	
  
Perintah	
  4	
  
Perintah	
  3	
  
Perintah	
  2	
  
Perintah	
  1	
  
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  40	
  
	
  
…..perintah;
}
else if (syarat)
{
…..perintah;
…..perintah;
}
else if (syarat)
{
…..perintah;
…..perintah;
{
else
{ …..perintah;
…..perintah;
}
Bagian program ini akan dijalankan bila semua syarat if dan else if di atasnya tidak dipenuhi.
Jadi alternative else yang terakhir ini akan dipilih bila semua alternative yang diberikan
sebelumnya bukan merupakan pilihan yang sesuai.
3.2.6 Switch dan break
Perintah switch dan break memiliki sifat yang hamper sama dengan else if, namun
penggunaanya lebih sempit, karena perintah ini hanya khusus untuk memeriksa data yang
bertipe karakter atau integer. Perintah switch dan break ini juga digunakan untuk
menyelesaikan program yang memiliki banyak cabang atau alternative. Bentuk penulisan
perintah ini:
switch (variable integer atau karakter)
{
case nilai pertama variable :
…..perintah;
…..perintah;
break;
case nilai kedua:
…..perintah;
…..perintah;
Break;
case nilai ketiga:
…..perintah;
…..perintah;
break;
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  41	
  
	
  
default:
…..perintah;
…..perintah;
}
Tanda kurung kurawal ‘{ }’ menunjukkan batas jangkauan switch. Setiap cabang akan
dijalankan bila syarat nilai variable tersebut dipenuhi. Default akan dijalankan bila semua
cabang di atasnya tidak dipenuhi. Pertanyaan break menunjukkan bahwa kita siap keluar dari
switch. Bila pertanyaanya ini tidak ada, maka program akan diteruskan ke cabang-cabang di
bawahnya.
3.2.7 Operator Kondisi (Conditional Operator)
Operator kondisi diperkenalkan oleh Turbo C untuk menyediakan penulisan program yang
sedang disusun. Kita tinjau contoh penggalan program di bawah ini.
if (nilai>=60)
Status=’L’;
else
Status=’G’;
Dimana ‘L’ dan ‘G’ masing-masing menyatakan ‘lulus’ dan ‘gugur’. Penggalan program di
atas ini dapat disederhanakan menjadi:
status = nilai>60 ? ‘L’ : ‘G’;
Bentuk umum dari operator kondisi:
TRUE
nama_variabel = ekspresi logic atau relasi ? ekspresi 1 : ekspresi 2;
FALSE
Nama_variabel: adalah variable yang akan menerima nilai ekspresi 1 atau ekspresi 2. Ekspresi
lojik atau relasi: merupakan ekspresi yang akan memeriksa apakah kondisi yang ada BENAR
atau SALAH. Jadi hasil ekspresi ini adalah ‘TRUE’ (BENAR) atau ‘FALSE’ (SALAH).
T	
  
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  42	
  
	
  
Kondisi yang BENAR apabila memenuhi syarat yang diberikan dalam ekspresi lojik atau
relasi, sedangkan kondisi yang SALAH tidak memenuhi kreteria ini.
3.3. Peralatan
1. 1 set computer
2. Software turbo C
3.4. Langkah Kerja
1. Aktifkanlah editor Turbo C, kemudian lakukanlah konfigurasi directory.
2. Buatlah program seperti berikut ini yang digunakan untuk menghitung jumlah belanja
yang harus dibayar, bila berlaku ketentuan: Discount 10% diberlakukan bagi pembeli
yang berbelanja Rp.100.000,- ke atas. Program disimpan dengan nama Con31.C.
Input program: Jumlah belanja
Output program: Discount dan Jumlah yang harus dibayar
Ketentuan tentang nama dan tipe variabel yang dugunakan adalah sebagai berikut:
Variabel untuk Nama variabel Tipe
Jumlah belanja jml_belanja float
Discount discount float
Jumlah yang jml_bayar float
harus dibayar
/* Program menghitung uang pembelian */
main()
{
float jml_belanja, discount=0,jml_bayar;
/* Input Jumlah Belanja */
printf("nBesarnya Belanja : ");
scanf("%f",&jml_belanja);
/* Menghitung Discount */
if (jml_belanja>=100000)
discount=0.10*jml_belanja;
/* Menghitung Uang Pembayaran */
jml_bayar=jml_belanja-discount;
/* Cetak Discount dan Uang Pembayaran */
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  43	
  
	
  
printf("nDiscount : %10.2f",discount);
printf("nUang Pembayaran : %10.2f",jml_bayar);
getche();
}
3. Buatlah program seperti dibawah ini dan simpan dengan nama Con32.C.
/* Struktur if yang terdiri dari sekumpulan perintah */
main()
{
int usia;
clrscr();
printf("Berapakah usia Anda? : ");
scanf("%d",&usia);
if(usia>=40)
{
printf("nWah, Anda sudah cukup tua");
printf("nJangan makan makanan yang banyak mengandung kolesterol");
printf("nTidak baik untuk kesehatan Anda");
}
getche();
}
4. Buatlah program seperti dibawah ini dan simpan dengan nama Con33.C.
/* struktur if else yang terdiri dari sebuah perintah */
main()
{
char jawab;
printf(“nanda mau ikut ujian hari ini ? ”);
jawab=getche();
if(jawab==’Y’ | | jawab==’Y’)
printf(“nCepat datang ke auditorium”);
else
printf(“nTetap kuliah”);
getche();
}
5. Buatlah program seperti dibawah ini dan simpan dengan nama Con34.C. Kemudian
isikanlah angka 30 dan tuliskan hasilnya pada lembar kerja, coba pula untuk angka 60.
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  44	
  
	
  
/* Penggunaan nested if */
main()
{
int umur;
clrscr();
printf(‘’nBerpakah usia Anda ? : ‘’);
scanf(‘’%d’’,&umur);
if (umur<50)
if (umur>21)
printf(‘’nAnda sudah dewasa’’);
else
printf(“nAnda sudah tua“);
getche();
}
6. Buatlah program seperti dibawah ini dan simpan dengan nama Con35.C. Saat program
dijalankan cobalah dengan mengisikan angka 60, 30 dan 15 secara bergantian saat ada
pertanyaan Berapakah usia anda ? .
/* Penggunaan nested if */
main()
{
int umur;
clrscr();
printf("nBerapakah usia Anda ? : ");
scanf("%d",&umur);
if (umur<50)
{
if (umur>21)
printf("nAnda sudah dewasa");
}
else
printf("nAnda sudah tua");
getche();
}
7. Buatlah program seperti dibawah ini dan simpan dengan nama Con36.C. Saat program
dijalankan cobalah dengan mengisikan angka 1, 2, 3, 4, dan 5 secara bergantian saat ada
pertanyaan Pilihlah angka antara 1 sampai dengan 5 ? .
/* penggunaan switch */
main()
{
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  45	
  
	
  
int bil;
printf(“nPilihlah angka antara 1 sampai dengan 5 ? “);
scanf(“%d”,&bil);
switch(bil)
{ case 1 : printf(“nanda mengetikkan satu”);
break;
case 2 : printf(“nanda mengetikkan dua”);
break;
case 3 : printf(“nanda mengetikkan tiga”);
break;
case 4 : printf(“nanda mengetikkan empat”);
break;
case 5 : printf(“nanda mengetikkan lima”);
break;
default: printf(nanda mengetikkan bilangan yang salah”);
}
getche();
}
8. Buatlah program seperti dibawah ini dan simpan dengan nama Con37.C. Saat program
dijalankan cobalah dengan mengisikan angka 1, 2, 3, 4, dan 5 secara bergantian saat ada
pertanyaan Pilihlah angka antara 1 sampai dengan 5 ? .
/* penggunaan switch */
main()
{
int bil;
printf(“n Pilihlah angka antara 1 sampai dengan 5 ? “);
scanf(“%d”,&bil);
switch(bil)
{ case 1 : printf(“nanda mengetikkan satu”);
case 2 : printf(“nanda mengetikkan dua”);
case 3 : printf(“nanda mengetikkan tiga”);
case 4 : printf(“nanda mengetikkan empat”);
case 5 : printf(“nanda mengetikkan lima”);
default: printf(nanda mengetikkan bilangan yang salah”);
}
getche();
}
9. Buatlah program seperti dibawah ini dan simpan dengan nama Con38.C. Saat program
dijalankan cobalah dengan menginputkan dengan salah satu bulan dan tahun dan
tuliskanlah hasilnya pada lembar kerja.
/* menentukan jumlah hari pada bulan tertentu */
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  46	
  
	
  
main()
{
int bulan,tahun,hari;
clrscr();
/* input bulan dan tahun */
printf(“nninputkan bulan dan tahun (xx-xxxx) “);
scanf(“%d-%d”, &bulan,& tahun);
if (bulan==1)
hari=31;
else if (bulan==2)
{ if (tahun % 4 == 0) /* tahun kabisat */
hari=29;
else /* tahun biasa */
hari=28;
}
else if (bulan==3)
hari=31;
else if (bulan==4)
hari=30;
else if (bulan==5)
hari=31;
else if (bulan==6)
hari=30;
else if (bulan==7)
hari=31;
else if (bulan==8)
hari=31;
else if (bulan==9)
hari=30;
else if (bulan==10)
hari=31;
else if (bulan==11)
hari=30;
else if (bulan==12)
hari=31;
else
printf(“nn bulannya ngaco, bos!!!nn”);
/* cetak output */
printf(“nnbulan %2d tahun %4d memiliki %d hari “,bulan ,tahun,hari);
getche();
}
10. Buatlah program seperti dibawah ini dan simpan dengan nama Con39.C. Saat program
dijalankan cobalah dengan menginputkan dengan salah satu bulan dan tahun dan
tuliskanlah hasilnya pada lembar kerja.
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  47	
  
	
  
/* menentukan jumlah hari pada bulan tertentu */
main()
{
int bulan,tahun,hari;
clrscr();
/* input bulan dan tahun */
printf(“nninputkan bulan dan tahun (xx-xxxx) “);
scanf(“%d-%d”, &bulan,& tahun);
if (bulan<=12)
{
if (bulan<=7)
hari= bulan % 2 == 0 ? 30 : 31 ;
else
hari=bulan % 2 == 0 ? 30 : 31 ;
}
else
printf(“nn bulannya ngaco bos!!!nn”);
if (bulan==2)
hari= tahun % 4 == 0 ? 29 : 28 ;
/* cetak output */
printf(“nnbulan %2d tahun %4d memiliki %d hari “,bulan,tahun,hari);
getche();
}
3.5. Lembar Kerja
No Nama File Keluaran
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  48	
  
	
  
3.6. Pertanyaan dan Tugas
1. Buatlah flowchart dan program untuk menampilkan total pembelian yang harus
dibayarkan oleh seorang pelanggan apabila diketahui kondisi berikut ini:
Beli=harga barang * jumlah barang
Jika jumlah barang > 100 maka discount = beli*15%
Jika tidak discount = beli*5%
Dimana Total bayar = beli - discount
2. Buatlah flowchart dan program untuk membantu menyelesaikan persoalan pada sebuah
developer menjual dua tipe rumah,Tipe A dengan harga tanah 40000 dan harga bangunan
150000,sedamgkan Tipe B dijual dengan harga tanah 50000 dan harga bangunan 200000.
Sebagai input: luas tanah, luas bangunan, tipe
Sebagai output: harga tanah, harga bangunan, harga total
Ketentuan tentang variable-variabel yang digunakan:
Variable untuk nama variable tipe
Luas tanah luas_tanah float
Luas bangunan luas_bang float
Harga satuan tanah harga_sat_tnh float
Harga satuan bang. harga_sat_bang float
Harga tanah harga_tnh float
Harga bangunan harga_bang float
Harga total harga_total float
Tipe tipe char
3. Buatlah flowchart dan program untuk menyelesaikan permasalahan pada PT POLINOS
yang memberikan komisi kepada para salesmannya dengan ketentuan sebagai berikut:
a. Bila seorang salesman dapat menjual menjual barang hingga Rp.200.000,- dia akan
mendapat uang jasa sebesar Rp.10.000,- ditambah dengan uang komisi sebesar 10%
dari pendapatan yan diperoleh hari itu.
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  49	
  
	
  
b. Bila seorang salesman menjual barang diatas Rp.200.000,- hingga Rp.500.000,- maka
uang jasa yang diterima sebesar Rp.20.000,- ditambah dengan 15% dari pendapatan
yang dieroleh.
c. Bila seorang salesman menjual barang di atas Rp.500.000,- maka uang jasa yang
diperoleh sebesar Rp.30.000,- ditambah dengan 20% dari pendapatan yang didapat.
Sebagai input: Pendapatan
Sebagai output: Uang jasa, Komisi, Total uang
Ketentuan-ketentuan variable yang digunakan:
Variabel untuk nama variable tipe
Pendapatan p_dptan float
Uang jasa jasa float
Komisi komisi float
Total Uang total float
4. Buatlah flowchart dan program untuk mengkonversikan nilai angka menjadi nilai huruf
akan dibuat berdasarkan ketentuan sebagai berikut:
Nilai Angka Nilai huruf
<50 E
50-59 D
60-69 C
70-84 B
85-100 A
Sebagai input: Nilai Angka
Sebagai Output: Nilai Huruf
Ketentuan variable
Variable untuk nama variable tipe
Nilai Angka angka float
Nilai Huruf huruf char
5. Buatlah program dalam bentuk menu yang mampu menghitung:
a. Luas dan Keliling bujur sangkar
b. Luas dan keliling persegi panjang
c. Luas dan keliling lingkaran
  Pr Algoritma dan Pemrograman I
	
  
Jobsheet	
  3:	
  Percabangan	
  Bersyarat	
   Page	
  50	
  
	
  
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  51	
  
	
  
JOBSHEET 4
PERULANGAN (LOOPING)
5.1 Tujuan Instruksional Khusus
1. Mahasiswa dapat membuat program menggunakan perulangan for, while dan
do..while.
2. Mahasiswa dapat membuat program menggunakan perulangan didalam
perulangan atau perulangan bersarang (nested loop).
5.2 Pendahuluan
Proses pengulangan hampir selalu dapat dijumpai dalam berbagai baik yang bersifat
teknik maupun masalah-masalah umum . Dalam Turbo C, proses pengulangan ini
dimungkinkan dengan disediakannya berbagai perintah loop, dimana setiap perintah
loop memiliki keunikannya sendiri. Suatu proses pengulangan yang kurang cocok
diselesaikan dengan sebuah perintah loop, mungkin akan sangat tepat diselesaikan
dengan perintah loop yang lain. Jadi sangat penting untuk memilih perintah loop yang
tepat dalam menyelesaikan suatu masalah pengulangan untuk memperoleh program
yang seefektif mungkin.
5.2.1 Pengulangan dengan for
Perintah pengulangan pertama yang akan kita pelajari adalah for. Bentuk umum
pernyataan for adalah sebagai berikut:
for( inisialisasi; syarat pengulangan; perubah nilai pencacah)
pernyataan/perintah ;
Bila jumlah pernyataan atau perintah di dalam for lebih dari satu, maka pernyataan-
pernyataan atau perintah-perintah tersebut harus diletakkan di antara tanda kurung.
for(inisialisasi; syarat pengulangan; perubah nilai pencacah )
{
Pernyataan / perintah ;
Pernyataan / perintah ;
Pernyataan / perintah ;
}
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  52	
  
	
  
Argumen dari pernyataan for terdiri dari tiga bagian yaitu: Inisialisasi, syarat
pengulangan, dan perubah nilai pencacah, dimana setiap bagian ini dipisahkan dengan
titik koma (:). Inisialisasi merupakan bagian untuk memberikan nilai awal bagi
variabel-variabel tertentu, terutama bagi variabel pencacah. Pemberian ( nilai ini
hanya dilakukan sekali saja yaitu pada waktu pengulangan mulai dilaksanakan,
selama proses pengulangan Inisialisasi tidak akan dllakukan lagi. Untuk contoh-
contoh di awal pembahasan, Inisialisasi hanya akan dilakukan bagi variabel pencacah
saja, namun pada contoh-contoh lebih lanjut inisialisasi tidak hanya akan dibatasi
pada variabel pencacah saja, namun juga variabel-variabel lain yang
membutuhkannya. Syarat pengulangan memegang kontrol terhadap pengulangan.
karena bagian inilah yang akan menentukan apakah pengulangan masih harus terus
dilaksanakan ataukah harus dihentikan. Pengulangan akan dilakukan selama syarat ini
dipenuhi, dan bila syarat tersebut sudah tidak dipenuhi lagi, maka pengulangan akan
dihentikan. Syarat Pengulangan dapat berupa ekspresi relasional ataupun ekspresi
logik. Perubah nilai pencacah, sesuai dengan namanya. akan mengatur perubahan
nilai variabel pencacah. Sifat perubahan nilai ini dapat berupa kenalkan ataupun
penurunan nilai pencacah. Perubah nilai pencacah dapat dinyatakan dalam bentuk
ekspresi ataupun dalam bentuk variable. Ketiga bagian ini tidak harus selalu
berhubungan satu sama lain, dalam arti bahwa penggunaan variabel pada setiap
bagian tidak perlu sama misalnya pada bagian Inisialisasi, kita memberi nilai awal
pada variabel pencacah, pada bagian syarat pengulangan, syarat yang diberikan tidak
harus berdasarkan variabel pencacah.
5.2.2 Pengulangan dengan while
Pengulangan dengan while merupakan suatu bentuk pengulangan yang mirip dengan
for, namun dengan bentuk yang lebih sederhana. Pernyataan while ini merupakan
pengulangan yang dikendalikan oleh suatu syarat tertentu, dalam arti pengulangan
akan terus dilaksanakan selama syarat tersebut dipenuhi, dan akan dihentikan bila
syarat tersebut sudah tidak dipenuhi lagi. Syarat pengulangan dapat berupa ekspresi
relasional atau ekspresi logik. Bentuk umum dari perintah ini:
inisialisasi ;
while(syarat)
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  53	
  
	
  
{
pernyataan/perintah;
pernyataan/perintah;
…………………….. ;
perubahan nilai ;
}
5.2.3 Perulangan dengan do..while
Pengulangan dengan do while merupakan kebalikan dari pengulangan dengan while
ataupun for. Bila dalam while dan for pemeriksaan terhadap syarat pengulangan
dilakukan dl awal loop, pada pengulangan do while pemeriksaan terhadap syarat ini
dilakukan di akhir pengulangan. Bentuk umum pernyataan ini adalah:
inisialisasi ;
do
{
perintah/pemyataan;
perintah/pemyataan;
………………… ;
perubahan nilai;
}
while (Syarat perulangan);
5.2.4 Perulangan bersarang (Nested Loop)
Di dalam pernyataan for boleh terdapat for yang lain, bentuk yang demikian disebut
sebagai nested for. Bentuk format dari perulangan ini adalah sbb.:
for(inisialisasi; syarat; perubahan nilai)
{
for(inisialisasi; syarat; perubahan nilai)
{
pernyataan / perintah;
pernyataan / perintah;
}
}
5.3 Peralatan
1. 1 set computer
2. Software turbo C
5.4 Langkah Kerja
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  54	
  
	
  
1. Buatlah program seperti dibawah ini dan simpan dengan nama Con51, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
main()
{
int bil,total=0;
clrscr();
/* Cetak Judul */
printf("nN Total “);
for(bi1=1 ;bil<=10;bil++)
{
Total += bil;
printf("n%d %d”, bil, total );
}
printf ("nNilai N setelah keluar dari Loop : %d “, bil);
getche();
}
2. Buatlah program seperti dibawah ini dan simpan dengan nama Con52, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
main()
{
int bil, total = 0;
clrscr();
/* cetak judul */
printf("nN Total");
for(bil=10;bil<=10;++bil)
{
total+=bil;
printf("n%d %d", bill, total);
}
printf("nNilai N setelah keluar dari Loop : %d”, bil);
getche();
}
3. Buatlah program seperti dibawah ini dan simpan dengan nama Con53, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Mencetak bilangan genap di antara 1 hingga 10 */
main()
{
int bil;
clrscr;
for(bil=20; bil<=30; bil+=2);
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  55	
  
	
  
{
printf (“%d “, bil, total);
}
printf(“nNilai N setelah keluar dari Loop : %d”, bil);
getche();
}
4. Buatlah program seperti dibawah ini dan simpan dengan nama Con54, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Mencari rata-rata dari sejumlah bilangan */
main()
{
int i, n; /* n adalah jumlah bilangan */
float bil, rerata, total=0; /* bil adalah bilangan yg akan dimasukkan */
printf (“nJumlah bilangan : “);
scanf (“%d”,&n);
for (i=1;i<=n; i++)
{
printf (“Bilangan ke %d : “,i);
scanf (“%f”,&bil);
total +=bil;
}
rerata= total /n;
printf (“nRata-rata bilangan tersebut : %8.3f “, rerata);
getche();
}
5. Buatlah program seperti dibawah ini dan simpan dengan nama Con55, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Mencari rata-rata dari sejumlah bilangan positif */
main()
{
int i;
float bil, rerata, total=0;
for (i=1; i<=5 ; i++)
{
printf("Bilangan ke %d : “, i);
scanf("%f",&bil);
total+=bi1;
}
rerata=tota1/(i-2);
printf("Rata-rata bilangan tersebut : %8.3f”, rerata);
getche();
}
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  56	
  
	
  
6. Buatlah program seperti dibawah ini dan simpan dengan nama Con56, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
main()
{
char kar;
clrscr ();
for (kar=’Z';kar>='A’; kar-=2)
printf("%c ", kar);
getche();
}
7. Buatlah program seperti dibawah ini dan simpan dengan nama Con57, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* memasukkan data karakter */
main();
{
char kar;
printf(“nProgram pengulangan tak berhingga”);
for ( ; ; )
{
printf(“nnKetikkan satu karakter : “);
kar=getche();
if (kar==’q’)
{
pritf(?nYachhh!! Benar sekali ?);
break;
}
printf (“nMaaf, anda salah mengetikkan karakter “);
printf (“nCoba kembali, jangan putus asa “);
}
getche();
}
8. Buatlah program seperti dibawah ini dan simpan dengan nama Con58, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Mencetak matriks */
main()
{
int n,i, j,elemen;
clrscr();
printf("nDimensi Matriks : “);
scanf (“%d”, &n);
printf(“nn”);
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  57	
  
	
  
for(i=1; i<=n; i++)
{
printf(“n”);
for (j=1; j<=n; j++)
{
elemen = i== j ? 1 : 0;
printf(“t%d”, elemen) ;
}
}
getche();
}
9. Buatlah program seperti dibawah ini dan simpan dengan nama Con59, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Progran Memilih suatu bilangan dengan do while */
main()
{
int bil;
clrscr();
printf(“nProgram memilih suatu bilangan");
printf("nInputkan sebuah bilangan bulat");
scanf("%d",&bil);
do
{
printf("nAnda mengetikkan bilangan yang salah");
printf("nCoba lagi : ");
scanf("%d",&bil);
} while(bil!=0);
printf{"nBenar Sekali, Anda hebat !!!!");
getche();
}
10. Buatlah program seperti dibawah ini dan simpan dengan nama Con510, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Penggunaan break */
main()
{
int i;
clrscr();
for(i=1;i<=10;i++)
{
if(i==6)
break;
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  58	
  
	
  
pritf("%5d",i);
}
printf(“nAkhir pengulangan”);
getche();
}
11. Buatlah program seperti dibawah ini dan simpan dengan nama Con511, kemudian
lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia.
/* Penggunaan continue */
main()
{
int i;
clrscr();
for(i=1;i<=10;i++)
{
if(i==6)
continue;
printf("%5d”,i);
}
printf("nAkhir pengulangan");
getche();
}
5.5 Lembar Kerja
No Nama File Keluaran
1
2
3
4
5
6
7
8
9
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  59	
  
	
  
10
11
5.6 Pertanyaan dan Tugas
1. Buatlah flowchart dan program untuk menghitung total bilangan ganjil dari 10
sampai dengan 20 ?.
2. Buatlah program untuk menghitung total bilangan genap dari 10 sampai
dengan 20 ?.
3. Buatlah flowchart dan program untuk menghitung total bilangan bulat
kelipatan 3 yang berkisar dari 0 sampai dengan 20. (Buatlah kenaikan
pencacahnya=3, dan nilai awalnya dimulai dengan 0) ?.
4. PT Polinos memberi komisi salesmannya berdasarkan ketentuan sebagai
berikut:
Bila salesman berhasil menjual barang hingga 500.000 maka akan mendapat
komisi sebesar 10%. Bila lebih dari 500.000, untuk 500.000 pertama
komisinya 10% sedangkan sisanya mendapat 15%. Bila perusahaan tersebut
memiliki 5 orang salesman, tentu komisi yang diterima oleh setiap
salesmannya, serta total komisi yang telah dibayarkan oleh PT Polinos kepada
ke 5 salesman tadi.
Input: Hasil penjualan / salesman
Output: Komisi setiap salesman
Total komisi yang dibayarkan PT Polinos.
5. Buatlah flowchart dan program dalam bentuk menu yang tampilannya seperti
berikut:
MENU KONVERSI
[1] Bahan Bakar Minyak
[2] Mata Uang
[3] Suhu
[4] Keluar
Dengan ketentuan sebagai berikut:
  Pemrograman Komputer I
	
  
Jobsheet	
  4:	
  Perulangan	
  (Looping)	
   Halaman	
  	
  	
  60	
  
	
  
a. BBM meliputi premium, solar dan pertamax, ditampilkan untuk pembelian
dari 1 liter hingga 10 liter dengan kenaikan 1. Harga BBM ditentukan
sesuai dengan harga saat ini.
b. Mata Uang meliputi Rupiah, Yen dan Dollar. Tampilkan konversi rupiah
dari 1000 hinga 10000 dengan kenaikan 500. Nilai kurs mata uang yen dan
dollar ditentukan sesuai dengan kurs saat ini.
c. Suhu meliputi celcius, Fahrenheit dan Reamur. Tampilan konversi suhu
dalam celcius ke Fahrenheit dan Reamur dari 0 hingga 100 derajad dengan
kenaikan 10 derajad ?.
d. Keluar dengan menampilkan ucapan “TERIMA KASIH”.
e. Bila tidak dipilih menu Keluar maka program tetap menampikan MENU
KONVERSI walaupun telah dilakukan pilihan BBM, Mata Uang maupun
Suhu.
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  61	
  
	
  
JOBSHEET 5
Larik (Array)
5.1 Tujuan Instruksional Khusus
1. Mahasiswa mampu membuat program menggunakan array satu dimensi dan
algoritma array dua dimensi.
2. Mahasiswa mampu membuat program sortir menggunakan metoda bubble –sort
dan quick-sort.
5.2 Pendahuluan
Array adalah sekelompok data sejenis,yang disimpan ke dalam variabel dengan nama
yang sama, untuk membedakan variabel yang satu dengan yang lainya diberilah
indeks. Misalkan ada 10 bilangan yang akan disimpan kedalam variabel bil, maka
bilangan yang pertama akan disimpan kedalam varibel bil[0],bilangan kedua akan
disimpan kedalamvariabel bil[1], bilangan ketiga akan disimpan kedalam variabel [2],
dan seterusnya. Penulisan [0], [1], [2], [3],dan seterusnya disebut sebagai indeks dari
variabel bil.
5.2.1 Variabel Array
Struktur variabel array satu dimensi dituliskan sebagai:
Nama_variabel [indeks]
Ketentuan mengenai nama variabel array sama dengan nama variabel biasa,
sedangkan indeks menunjukkan nomor dari variabel tadi. Array dapat berdimensi
lebih dari satu, misalnya dua, tiga, dan seterusnya. Untuk array berdimensi
dua,variabelnya dituliskan:
Nama_variabel[indeks_1][indeks_2].
Indeks_1 menunjukkan baris, sedangkan indeks_2 menunjukkan kolom
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  62	
  
	
  
5.2.2 Deklarasi Variabel Array
Sebelum digunakan,variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array sama dengan variabel biasa, hanya disini diikuti oleh
suatu indeks yang menunjukkan jumlah maksimum variabel yang akan disediakan.
Bentuk umum deklarasi variabel array:
Tipe nama_variabel[indeks]:
Sebagai contoh,kita akan mempersiapkan variabel array dengan nama bil yang akan
menampung 10 data yang bertype float:
float bil [10]:
Indeks 10 menunjukkan bahwa variabel bil akan terdiri dari 10 buah elemen, dimana
setiap elemen akan menampung sebuah data. Elemen array akan diberi nomor secara
berurutan mulai dari nol(0) hingga sejumlah data tadi. Jadi bila pada deklarasi
ditentukan:
float bil[10]:
Berarti ke 10 elemen variabel bil akan diurutkan sebagai berikut:
Elemen pertama adalah bil[0]
Elemen kedua adalah bil[1]
Elemen ketiga adalah bil[2]
…………………………
………………………...
Elemen kesepuluh adalah bil[9]
Karena indeks array dimulai dari nol (0), sedangkan nomor elemen biasanya dimulai
dari satu (1), maka ada selisih satu antara nomor elemen dan nomor indeks.
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  63	
  
	
  
Nomor elemen dapat dibuat sama dengan nomor indeks.untuk mempermudah
pembuatan program yaitu dengan memberi indeks satu lebih banyak dari jumlah data
yang dibutuhkan karena elemen dengan indeks nol tidak akan digunakan. Sebagai
contoh untuk deklarasi array dengan 10 bilangan,akan menjadi:
float bil [11];
Dengan bil[0] tidak digunakan .sehingga:
Elemen pertama adalah bil[1]
Elemen kedua adalah bil[2]
dst.............hingga
Elemen ke sepuluh adalah bil[10]
Tetapi apakah hal ini diperlukan? jawabannya saya serahkan kepada anda masing-
masing. Yang harus diingat, yaitu bila variabel array yang digunakan sudah lebih dari
satu jenis, maka maka variabel yang dikorbankan bukan hanya satu lagi, tetapi
sejumlah array yang ada, karena semua elemen ke nol dari masing-masing array tidak
akan digunakan. Contoh lain adalah cara untuk mendeklarasikan variabel array kar
yang akan menampung 4 buah karakter.
char kar [4];
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  64	
  
	
  
Keempat elemen variabel array ini adalah : kar[1],kar[2],dan kar[3]. Contoh yang
berikutnya,kita akan mendeklarasikan variabel array nomor yang akan menampung 5
data integer:
int nomor[5];
Dengan elemen-elemen array nomor [0], nomor [1], nomor [2], nomor [3] dan nomor
[4]. Deklarasi variabel array dapat dilakukan baik didalam suatu fungsi, maupun
diluar fungsi-fungsi yang ada.jika deklarasi dilakukan didalam suatu fungsi,maka
variabel array ini akan bersifat lokal yang hanya akan dikenal oleh fungsi
tersebut.sebaiknya bila deklarasi dilakukan diluar fungsi,maka variabel array ini akan
bersifat global,yang akan dikenal oleh beberapa atau seluruh fungsi.
5.2.3 Inisialisasi Array Satu Dimensi
Bila diperlukan,variabel array dapat juga diberi nilai awal (inisialisasi). Inisialisasi
dapat dilakukan bersama dengan deklarasi atau tersendiri. Cara menginisialisasi suatu
array adalah dengan meletakkan elemen-elemen array diantara tanda kurung kurawal
seperti:
int bil[5] = {0,1,3,5,2};
Dan diantara elemen yang satu dengan yang lainnya dipisahkan dengan koma. Contoh
inisialisasi di atas menyatakan bahwa:
Bil[0]=0
Bil[1]=1
Bil[2]=3
Bil[3]=5
Bil[4]=2
Sedangkan cara yang kedua yaitu dengan mendefinisikan array tadi sebagai static
array. Static array adalah suatu array yang diinisilisasikan didalam suatu fungsi dan
bersifat seperti variable local, artinya array ini hanya dikenal oleh fungsi yang
bersangkutan, tidak oleh fungsi-fungsi yang lain.sama halnya dengan external array
atau global,nilai yang dimiliki oleh elemen-elemen static array masih tetap akan
tersimpan didalam memori meskipun program dihentikan,jadi nilai-nilai tersebut tidak
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  65	
  
	
  
hilang sehingga masih dapat digunakan oleh program yang lain. Cara
mendeklarasikan static array yaitu dengan menambahkan kata static didepan tipe
variable atau type specifier seperti:
static int bil[5]={0,0,0,0,0};
apakah keuntungan lain menggunakan global static array dibandingkan dengan
automatic array. Pada automatic array yang tidak diinisialisasi, elemen-elemen array
tersebut akan memiliki nilai yang tidak beraturan.
5.2.4 Array Dua Dimensi
Struktur array dua dimensi memiliki dua macam indeks yang dituliskan seperti
berikut ini:
Nama_variabel [indeks1] [indeks2]
Indeks1 menunjukkan jumlah atau nomor baris, sedangkan indeks2 menunjukkan
jumlah atau nomor kolom
Jumlah elemen yang dimiliki oleh array dua dimensi dapat ditentukan dari hasil
perkalian Indeks1 * Indeks2. Misalkan: array A[2][3] akan memiliki 2 * 3 = 6
elemen, B[7][8] akan memiliki 7 * 8 = 56 elemen. Penanganan terhadap array
dua dimensi mirip sekali dengan array satu dimensi. Pertama, akan diberikan
contoh menginisialisasi array dua dimensi:
  Permrograman Komputer I
	
  
Jobsheet	
  5:	
  Larik	
  (Array)	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Halaman	
  	
  	
  66	
  
	
  
atau dapat pula dituliskan dengan # define:
Selanjutnya adalah contoh menginisialisasi array dua dimensi:
Keluaran dari contoh di atas adalah sbb,:
elemen bil [0] [0] adalah 1.1
elemen bil [0] [1] adalah 1.2
elemen bil [0] [2] adalah 1.3
elemen bil [0] [3] adalah 1.4
elemen bil [0] [4] adalah 1.5
elemen bil [1] [0] adalah 2.1
elemen bil [1] [1] adalah 2.2
elemen bil [1] [2] adalah 2.3
elemen bil [1] [3] adalah 2.4
elemen bil [1] [4] adalah 2.5
dst ………
6.2.5 Mengurutkan Array
Proses lain yang cukup penting dipelajari adalah menngurutkan array. Sebenarnya
cukkup banyak metode untuk mengurutkan aray ini, namun pada kesempatan ini
hanya dua metode saja yang akan dibahas, yaitu bubble sort dan quick sort. Bubble
sort dipillih karena metode ini memiliki metode yang mudah dipelajari, Sedangkan
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output
Input-Output

More Related Content

What's hot

Metode maximum likelihood
Metode maximum likelihoodMetode maximum likelihood
Metode maximum likelihoodririn12
 
Hukum permintaan dan penawaran
Hukum permintaan dan penawaranHukum permintaan dan penawaran
Hukum permintaan dan penawaranAhmad Rudi
 
Kumpulan soal-latihan-andat-statdas-biostat-2011
Kumpulan soal-latihan-andat-statdas-biostat-2011Kumpulan soal-latihan-andat-statdas-biostat-2011
Kumpulan soal-latihan-andat-statdas-biostat-2011Heri Setiawan
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Kelinci Coklat
 
Bab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataBab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataAffandi Arrizandy
 
Revisi tendensi sentral dan variabilitas
Revisi tendensi sentral dan variabilitasRevisi tendensi sentral dan variabilitas
Revisi tendensi sentral dan variabilitasistiqma
 
makalah Time value of money
makalah Time value of moneymakalah Time value of money
makalah Time value of moneyKhairul Alonx
 
perekonomian 3 sektor
perekonomian 3 sektorperekonomian 3 sektor
perekonomian 3 sektorSucifitria
 
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAH
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAHMakalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAH
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAHOnal Lensun
 
Bab vi konsep dasar teori diferensial
Bab vi    konsep dasar teori diferensialBab vi    konsep dasar teori diferensial
Bab vi konsep dasar teori diferensialTajus Yamani
 
4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektifSimon Patabang
 
Bunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganBunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganArjuna Ahmadi
 
Ekonometrika Variabel Dummy
Ekonometrika Variabel DummyEkonometrika Variabel Dummy
Ekonometrika Variabel DummyAyuk Wulandari
 
Ukuran dispersi(5)
Ukuran dispersi(5)Ukuran dispersi(5)
Ukuran dispersi(5)rizka_safa
 
17. modul statistik pak sukani
17. modul statistik pak sukani17. modul statistik pak sukani
17. modul statistik pak sukanisukani
 
Matematika ekonomi (Keuntungan Maksimum)
Matematika ekonomi (Keuntungan Maksimum)Matematika ekonomi (Keuntungan Maksimum)
Matematika ekonomi (Keuntungan Maksimum)Kristalina Dewi
 

What's hot (20)

Metode maximum likelihood
Metode maximum likelihoodMetode maximum likelihood
Metode maximum likelihood
 
Hukum permintaan dan penawaran
Hukum permintaan dan penawaranHukum permintaan dan penawaran
Hukum permintaan dan penawaran
 
Akt 2-tabel-mortalitas
Akt 2-tabel-mortalitasAkt 2-tabel-mortalitas
Akt 2-tabel-mortalitas
 
Pertemuan vi pengaruh pajak dan subsidi
Pertemuan vi pengaruh pajak dan subsidiPertemuan vi pengaruh pajak dan subsidi
Pertemuan vi pengaruh pajak dan subsidi
 
Kumpulan soal-latihan-andat-statdas-biostat-2011
Kumpulan soal-latihan-andat-statdas-biostat-2011Kumpulan soal-latihan-andat-statdas-biostat-2011
Kumpulan soal-latihan-andat-statdas-biostat-2011
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)
 
SIM Part 1
SIM Part 1SIM Part 1
SIM Part 1
 
Bab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataBab 2 identifier dan tipe data
Bab 2 identifier dan tipe data
 
Revisi tendensi sentral dan variabilitas
Revisi tendensi sentral dan variabilitasRevisi tendensi sentral dan variabilitas
Revisi tendensi sentral dan variabilitas
 
makalah Time value of money
makalah Time value of moneymakalah Time value of money
makalah Time value of money
 
perekonomian 3 sektor
perekonomian 3 sektorperekonomian 3 sektor
perekonomian 3 sektor
 
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAH
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAHMakalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAH
Makalah PENGANGGURAN, INFLASI, DAN KEBIJAKAN PEMERINTAH
 
Bab vi konsep dasar teori diferensial
Bab vi    konsep dasar teori diferensialBab vi    konsep dasar teori diferensial
Bab vi konsep dasar teori diferensial
 
4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif
 
Bunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganBunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung Keuangan
 
29689173 bab-4-bunga-majemuk
29689173 bab-4-bunga-majemuk29689173 bab-4-bunga-majemuk
29689173 bab-4-bunga-majemuk
 
Ekonometrika Variabel Dummy
Ekonometrika Variabel DummyEkonometrika Variabel Dummy
Ekonometrika Variabel Dummy
 
Ukuran dispersi(5)
Ukuran dispersi(5)Ukuran dispersi(5)
Ukuran dispersi(5)
 
17. modul statistik pak sukani
17. modul statistik pak sukani17. modul statistik pak sukani
17. modul statistik pak sukani
 
Matematika ekonomi (Keuntungan Maksimum)
Matematika ekonomi (Keuntungan Maksimum)Matematika ekonomi (Keuntungan Maksimum)
Matematika ekonomi (Keuntungan Maksimum)
 

Viewers also liked

Jobsheet 3 ad hoc
Jobsheet 3 ad hocJobsheet 3 ad hoc
Jobsheet 3 ad hocfmraihan
 
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)candrafery
 
Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Salahuddin Ali
 
Contoh laporan job sheet magang smk
Contoh laporan job sheet magang smkContoh laporan job sheet magang smk
Contoh laporan job sheet magang smkDewa Dewa
 
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISI
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISIMATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISI
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISIndriehs
 
Job Sheet komputer dan jaringan
Job Sheet komputer dan jaringanJob Sheet komputer dan jaringan
Job Sheet komputer dan jaringanBayu Chendoel's
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritmalinda_rosalina
 
Job sheet tkj kelas x
Job sheet tkj kelas xJob sheet tkj kelas x
Job sheet tkj kelas xEKO SUPRIYADI
 
Soal video presentasi
Soal video presentasiSoal video presentasi
Soal video presentasiroyrambo
 
Modul 1 dasar desain grafis
Modul 1 dasar desain grafisModul 1 dasar desain grafis
Modul 1 dasar desain grafisMajid Abdul
 
Modul pascal lengkap
Modul pascal lengkapModul pascal lengkap
Modul pascal lengkapsmk2kuripan
 
Rpp simulasi digital smk 2013
Rpp simulasi digital smk 2013Rpp simulasi digital smk 2013
Rpp simulasi digital smk 2013Yuliandri Andini
 

Viewers also liked (20)

Jobsheet tkj
Jobsheet tkjJobsheet tkj
Jobsheet tkj
 
Jobsheet 3 ad hoc
Jobsheet 3 ad hocJobsheet 3 ad hoc
Jobsheet 3 ad hoc
 
gambar tugas
gambar tugasgambar tugas
gambar tugas
 
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)
1. produktif 4 kelas x tkj&amp;mm (senin, 15 des 2014)
 
Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2
 
Contoh laporan job sheet magang smk
Contoh laporan job sheet magang smkContoh laporan job sheet magang smk
Contoh laporan job sheet magang smk
 
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISI
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISIMATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISI
MATERI PEMOGRAMAN DASAR PERCABANGAN DUA KONDISI
 
Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)
 
Job sheet 3 psd
Job sheet 3 psdJob sheet 3 psd
Job sheet 3 psd
 
Job Sheet komputer dan jaringan
Job Sheet komputer dan jaringanJob Sheet komputer dan jaringan
Job Sheet komputer dan jaringan
 
Jobsheet revisi
Jobsheet revisiJobsheet revisi
Jobsheet revisi
 
Jobsheet multimedia
Jobsheet multimediaJobsheet multimedia
Jobsheet multimedia
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Job sheet tkj kelas x
Job sheet tkj kelas xJob sheet tkj kelas x
Job sheet tkj kelas x
 
Soal video presentasi
Soal video presentasiSoal video presentasi
Soal video presentasi
 
Job sheet jaringan dasar 1
Job sheet jaringan dasar  1Job sheet jaringan dasar  1
Job sheet jaringan dasar 1
 
Bahan ajar excel
Bahan ajar excelBahan ajar excel
Bahan ajar excel
 
Modul 1 dasar desain grafis
Modul 1 dasar desain grafisModul 1 dasar desain grafis
Modul 1 dasar desain grafis
 
Modul pascal lengkap
Modul pascal lengkapModul pascal lengkap
Modul pascal lengkap
 
Rpp simulasi digital smk 2013
Rpp simulasi digital smk 2013Rpp simulasi digital smk 2013
Rpp simulasi digital smk 2013
 

Similar to Input-Output

1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_dataRoziq Bahtiar
 
Struktur Level Data
Struktur Level DataStruktur Level Data
Struktur Level DataDimara Hakim
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxsampesireron
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxssuser2693661
 
Modul 2 variabel, tipe data dan operator
Modul 2   variabel, tipe data dan operatorModul 2   variabel, tipe data dan operator
Modul 2 variabel, tipe data dan operatorFardian Syah
 
Modul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfModul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfValentino Selayan
 
Bahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiBahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiJevri Ardiansah
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooindahshafira
 
Pertemuan 2 Variabel Konstanta dan Tipe Data
Pertemuan 2 Variabel Konstanta dan Tipe DataPertemuan 2 Variabel Konstanta dan Tipe Data
Pertemuan 2 Variabel Konstanta dan Tipe DataEndang Retnoningsih
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++Rangga Ananto
 

Similar to Input-Output (20)

1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data
 
Alpro tutor
Alpro tutorAlpro tutor
Alpro tutor
 
Struktur Level Data
Struktur Level DataStruktur Level Data
Struktur Level Data
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptx
 
Modul 2 variabel, tipe data dan operator
Modul 2   variabel, tipe data dan operatorModul 2   variabel, tipe data dan operator
Modul 2 variabel, tipe data dan operator
 
Chendra (pemrograman)
Chendra (pemrograman)Chendra (pemrograman)
Chendra (pemrograman)
 
Ch 02 variabel
Ch 02   variabelCh 02   variabel
Ch 02 variabel
 
Modul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfModul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdf
 
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe DataAlgoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
 
C++ lengkap
C++ lengkap C++ lengkap
C++ lengkap
 
Bahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiBahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsi
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 
Pertemuan 2 Variabel Konstanta dan Tipe Data
Pertemuan 2 Variabel Konstanta dan Tipe DataPertemuan 2 Variabel Konstanta dan Tipe Data
Pertemuan 2 Variabel Konstanta dan Tipe Data
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Elemen Dasar C++
Elemen Dasar C++Elemen Dasar C++
Elemen Dasar C++
 
Pascal01
Pascal01Pascal01
Pascal01
 

Recently uploaded

Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxarifyudianto3
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxdjam11
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxYehezkielAkwila3
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxHamidNurMukhlis
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx185TsabitSujud
 
Materi Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranMateri Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranSintaMarlina3
 
Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industririzwahyung
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfVardyFahrizal
 

Recently uploaded (9)

Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
 
Materi Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranMateri Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur Lebaran
 
Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industri
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
 

Input-Output

  • 1. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!1! ! Jobsheet 1 Input dan Output 1.1 Tujuan Instruksional Khusus (TIK) 1. Mahasiswa dapat membedakan konstanta dengan variabel. 2. Mahasiswa dapat menggunakan tipe data (integer, float, character , dan string) yang sesuai pada sebuah program. 3. Mahasiswa mampu menggunakan kata tercadang printf() untuk mencetak keluaran, dan scanf() untuk member input pada variabel dengan benar. 4. Mahasiswa mampu menggunakan penentu format sesuai dengan tipe data dari output yang diinginkan. 1.2 Pendahuluan Input dan Output memegang peranan yang cukup penting dalam suatu program, karena bagian dari program inilah yang membuka jalur komunikasi dengan manusia. Sebelum menginjak pada pembahasan Input/Output, kita akan meninjau beberapa hal penting yang berhubungan erat dengan penggunaan Input/Output itu sendiri, seperti pengertian tentang Konstanta dan Variabel, serta tipe-tipe data yang dikenal oleh Turbo C. 1.2.1 Konstanta Konstanta adalah suatu nilai yang sifatnya tetap, misalnya angka ‘21’, dan abjad ‘k’. Bahasa C membagi konstanta bilangan (numerik) menjadi tiga kelompok, yaitu: a. Bilangan Bulat (integer) b. Bilangan Desimal Berpresisi Tunggal (floating point) Bilangan ini dapat dinyatakan dalam dua tampilan: • Bentuk Desimal Contoh: 2.1333 • Bentuk Eksponen Contoh: 2.1333e2 yang artinya 2.1333 * 102 c. Bilangan Desimal Berpresisi Ganda (double precision). Konstanta teks dibedakan dalam dua jenis, yaitu: karakter dan string. Data karakter terdiri dari sebuah karakter saja, dan ditandai dengan dua tanda kutip tunggal (‘) sebagai pembatasnya. Karakter dapat berupa abjad, baik huruf besar maupun kecil, angka, ataupun notasi-notasi lain, seperti ^ % * dan lain-lain. Contoh: ‘A’, ‘k’, ‘2’, ‘*’ dan lain-lain. Data string merupakan rangkaian dari beberapa karakter dan ditandai dengan tanda kutip ganda (“) sebagai pembatasnya. Contoh: “Telekomunikasi”, “belajar”, “Semarang”, “50 tahun”, “Jalan Telaga Blok G88 Telepon 024-7612345”, dan lain-lain. 1.2.2 Variabel Variabel dapat kita andaikan seperti sebuah tempat penampung data atau konstanta. Sedangkan konstanta lebih bersifat sebagai data yang akan mengisi variabel tersebut. Bila konstanta memiliki arti atau nilai yang selalu tetap, variabel dapat berubah-ubah. Sebuah variabel yang sama dapat mengandung data yang berbeda pada saat yang berbeda. Bahasa
  • 2. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!2! ! pemrograman apapun yang anda gunakan, variabel selau memegang peranan yang sangat besar dalam pembuatan program. Karena itu amatlah penting mempelajari sifat-sifat variabel dalam setiap bahasa pemrograman. Pemberian nama umumnya dapat dilakukan secara bebas, namun demikian tetap ada batasan-batasan tertentu yang tidak boleh dilanggar. Beberapa hal penting perlu diperhatikan dalam memberikan nama pada variabel Bahasa C adalah sebagai berikut: a. Nama variabel Turbo C hanya boleh terdiri dari abjad, bilangan, dan tanda hubung(_). Contoh: no1, Gaji_pegawai, Pajak_tahunan. b. Nama variabel boleh dimulai oleh tanda hubung (_) , atau abjad. Contoh: _gaji_pokok, _tunj_isteri, Laba_bersih. c. Nama variabel tidak boleh dimulai oleh angka. Contoh nama variabel yang salah: 2no, 90_tahun, 4nilai_max. d. Nama variabel tidak boleh menggunakan operator aritmatika (+-/*%). Contoh nama variabel yang salah: Nilai+min, Tunj-anak, Nama/pegawai, Alamat*rumah, Potongan%. e. Nama variabel tidak boleh menggunakan karakter-karakter khusus sebagai berikut: ;:,#@$^!& dan titik(.). Contoh nama variabel yang salah: Luas:segitiga, Sisi#kubus, Luas;tanah! , kell@linkaran, gaji$tahunan, tempat&tgl.lahir. f. Nama variabel tidak boleh mengandung spasi. Contoh nama variabel yang salah: Gaji bulanan, _kota asal . g. Jangan menggunakan nama fungsi atau kata-kata lain yang mempunyai arti khusus dalam Turbo C (reversed words). Contoh nama variabel yang salah: main, printf, float, char. h. Nama variabel boleh terdiri dari reversed words yang digabungkan dengan kata lain. Contoh nama variabel yang benar: char_pertama, fungsi_printf, data_float, i. Turbo C membedakan antara huruf besar dan huruf kecil. Contoh: gaji, GAJI, dan Gaji, merupakan tiga nama variabel yang berbeda. Sebuah anjuran: untuk mencegah kesalahan semacam ini sebaiknya semua nama variabel dituliskan dalam huruf kecil, kecuali bila anda dangan sengaja memang ingin menggunakan dua nama variabel yang sama untuk variabel yang berbeda, maka salah satu bias dituliskan dengan huruf besar. 1.2.3 Jenis-jenis Variabel Seperti halnya konstanta, variabel juga terbagi menjadi dua kelompok besar, yaitu variabel numerik dan variabel teks. Variabel numerik digolongkan atas: a. Bilangan bulat atau integer Integer ini mampu menampung bilangan bulat yang bekisar antara -32,768 hingga +32,767. b. Bilangan desimal berpresisi tunggal atau floating point Dalam bentuk bilangan berpangkat floating point dapat digunakan untuk menampung data dari 10-38 hingga 1038 , sedangkan dalam bentuk decimal jenis variabel ini umumnya dapat menampung hingga 6 desimal (6 angka di belakang koma). Contoh: nilai_max=2.3e-20, Std_dev=100.234567 (6 digit di belakang titik decimal). c. Bilangan desimal berpresisi ganda atau double precision
  • 3. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!3! ! Bila data numeric yang akan diolah melebihi kapasitas yang dimiliki oleh floating point, anda dapat menggunakan double precision ini sebagai alternative. Dalam bentuk bilangan berpangkat, double precision dapat mengolah angka-angka dengan ketelitian yang berkisar antara 10-308 hingga 10+308 .Sedangkan dalam bentuk bilangan decimal mampu menampung hingga 15 digit. Jadi double precision banyak digunakan dalam hal pengolahan data numeric yang besar atau bila diperlukan tingkat ketelitian yang tinggi. Contoh: teliti=1234.5678901234, A=1.34567e-100 Sedangkan variabel teks dibedakan atas: a. Karakter (untuk karakter tunggal) Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula dikonversikan dalam bentuk bilangan (ASCII code), bilangan hasil konversi data ini dinyatakan dengan bilangan bulat yang berkisar dari -128 hingga +127. b. String (untuk rangkaian karakter) String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter null (‘0’). Variabel string tidak akan dibahas disini karena Turbo C menganggap string sebagai array (jajaran) dari character. Ditinjau dari nama variabel, sama sekali tidak ada perbedaan antara variabel numerik dan variabel teks. Perbedaan dari kedua jenis variabel ini hanya dapat kita pantau pada waktu variabel-variabel tersebut di deklarasikan. 1.2.4 Deklarasi Variabel Sebelum sebuah variabel digunakan, variabel tersebut harus ‘diperkenalkan’ lebih dahulu kepada Turbo C. Proses memperkenalkan variabel kepada Turbo C ini dikenal dengan istilah Deklarasi Variabel. Deklarasi variabel ini sifatnya mutlak, artinya tanpa adanya deklarasi variabel, Turbo C tidak akan menerima variabel tersebut. Perkenalan atau deklarasi variabel meliputi tipe variabel, seperti integer atau character, dan nama variabel itu sendiri. Contoh: int gaji. Urutan deklarasi variabel ini baku, yaitu tipe variabel dulu kemudian disusul dengan nama variabel (lihat contoh di atas). Daftar tipe variabel dapat anda lihat dalam table 1.1. Contoh: kita akan mendeklarasikan variabel jumlah sebagai integer, variabel nilai_max sebagai floating point, dan variabel gaji sebagai double precision. int jumlah; float nilai_max; double gaji; Table 1.1. Tipe-tipe variabel serta simbol yang digunakan. TIPE VARIABEL SIMBOL DEKLARASI Integer Floating point Double precision Karakter int float double char Beberapa variabel yang bertipe sama dapat dideklarasikan sekaligus, dengan memberikan koma (,) sebagai pemisah variabel-variabel tadi. Contoh: Kita akan mendeklarasikan variabel- variabel bil dan no sebagai integer, variabel-variabel harga_jual, harga_beli, serta keuntungan sebagai float, dan variabel-variabel nilai_max, nilai_min sebagai double.
  • 4. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!4! ! int bil,no; float harga_beli,harga_jual,keuntungan; double nilai_max,nilai_min; Variabel dengan nama yang sama TIDAK BOLEH dideklarasikan ulang. Contoh: Kita mendeklarasikan variabel nilai dua kali, pertama sebagai integer kemudian sebagai float pada program yang sama. int nilai; float nilai; Program ini akan memberikan pesan kesalahan redeclaration, yang berarti adanya deklarasi ulang atas variabel yanga sama. 1.2.5 Inisialisasi Suatu Variabel Inisialisasi adalah proses pemberian nilai awal terhadap suatu variabel. Pemberian nilai terhadap suatu variabel ini dapat dinyatakan dengan penggunaan tanda sama dengan (=). Contoh: Variabel harga_satuan dan jumlah yang bertipe float terlebih dahulu akan diberi nilai sebesar 12.50 dan 40 sebelum digunakan untuk menghitung harga_total yang juga bertipe float. /*inisialisasi*/ Harga_satuan=12.50; Jumlah=40; 1.2.6 Output program Agar hasil proses yang telah dilakukan oleh computer dapat dibaca oleh pemakai, hasil tersebut harus dapat ditampilkan dalam media output (dapat printer atau monitor atau media yang lain). Untuk menampilkan hasil proses tadi, tentunya diperlukan adanya perintah- perintah atau fungsi-fungsi yang mengatur output itu. Dalam bahasa C, salah satu fungsi output yang paling umum adalah printf(). Fungsi printf() dapat digunakan untuk mencetak data baik yang bertipe numeric atau teks, baik konstanta ataupun variabel. Contoh di bawah ini menunjukan pemakaian fungsi printf() dalam bentuk yang paling sederhana. main() { printf(“saya belajar bahasa pemrograman C”); Fungsi argumen } Keluaran dari program adalah sebagai berikut : Saya belajar bahasa pemrograman C Contoh program berikut ini digunakan untuk mencetak konstanta string dengan konstanta atau variabel secara bersamaan.
  • 5. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!5! ! main() koma pemisah { printf(“Jumlah ikan Koi dikolam sebanyak %d” , 14); } Konstanta String konstanta integer Penentu format Keluaran dari program tersebut adalah Jumlah ikan Koi dikolam sebanyak 14 Di dalam contoh program diatas penentu format yang sebenarnya berfungsi untuk menunjukkan dimana data lain (tidak hanya terbatas pada konstanta saja) akan diletakkan bila dicetak menjadi satu kesatuan dengan konstanta string di depannya. Program dibawah ini akan memperjelas penggunaan penentu format. main() { printf (“%c merupakan abjad yang ke %d”, ‘z’,26); } Hasil output program ini adalah: z merupakan abjad yang ke 26 Penggunaan penentu format berkaitan erat dengan tipe-tipe data yang akan dicetak. Artinya setiap tipe data memiliki penentu format-nya masing-masing. Pada tabel 1.2, diberikan penentu format untuk setiap tipe data yang telah anda kenal. Tabel 1.2 penentu format untuk fungsi printf(). TIPE DATA PENENTU FORMAT UNTUK printf() Integer Bentuk Desimal Character String %d %f %c %s Satu hal yang sangat penting diperhatikan adalah urutan dari letak penentu format harus sesuai dengan urutan data yang akan mengisi penentu format tersebut. printf(“%c merupakan abjad yang ke %d” , ‘b’ , 2 );
  • 6. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!6! ! Penentu format untuk ‘b’ adalah %c, sedangkan untuk 2 adalah %d. karena %c mendahului %d, maka ‘b’ harus diletakkan didepan 2. Bila urutan data yang akan diambil tidak sesuai dengan urutan penentu formatnya maka akan terjadi kesalahan program. printf(“%c merupakan abjad yang ke %d ,2, ‘b’ ); Angka desimal yang diberikan sebenarnya dapat diatur, demilkian juga dengan panjang data (panjang field-nya ). Cara mengatur lebar field dan jumlah desimal yang akan dicetak dengan format tambahan %f seperti berikut : %a.bf Lebar field jumlah decimal Dimana a dan b berupa bilangan bulat. Contoh dari format tersebut dapat dilihat pada contoh berikut ini : main() { float bil=0.5 , nomor=30.756; clrscr(); printf(“bilangan = %10.2f n”,bil ); printf(“nomor” = %10.2f”,nomor); } Data tersebuat akan dicetakkan dengan format sebagai berikut: bilangan = jumlah decimal = 2 Nomor lebar field = 10 Bila jumlah desimal yang ada lebih panjang dari yang akan dicetak, maka desimal tersebut akn dibulatkan ke angka terdekat, dapat dibulatkan ke atas atau ke bawah. Pengaturan lebar field juga dapat diabaikan, dengan pengertian bahwa kita tidak ambil pusing berapapun jumlah angka didepan koma, di sini yang kita perhatikan hanya jumlah angka di belakang komanya saja. Untuk keadaan yang demikian maka lebar field dapat dibuang dari format tambahan tadi. Sebagai Ilustrasi, dapat dilihat pada contoh berikut ini: main() { 2 . 5 0 3 0 . 7 6
  • 7. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!7! ! float bil=2.5 , nomor=30.756; clrscr(); printf(“bilangan = %2.f n”,bil); printf(“nomor = %2f”,nomor); } Output yang dihasilkan akan menjadi: bilangan nomor penentuan lebar field berlaku juga untuk data yang bertipe integer. Berhubung integer tidak mengandung bilangan pecahan, maka pengaturan jumlah angka di belakang titik decimal tidak diperlukan. Bentuk penentu lebar field untuk integer adalah: %ad dimana: a adalah bilangan bulat contoh: %10d lebar field untuk integer ini adalah 10 Bila lebar field ditentukan, data umumnya dicetak rata kanan. Untuk kebutuhan khusus, kita dapat juga mencetak data dalam format rata kiri dengan cara menyisipkan tanda minus (-) pada format tambahan tadi. Sebagai contoh perhatikan program berikut ini: main() { float bilangan=2.5 , nomor=30.756; printf(“bilangan = %-10.2f n”,bilangan); printf(“nomor = %-10.2f”,nomor”); } titik ini jangan lupa outputnya adalah: bilangan nomor 1.2.7 Escape Sequence Disebut escape sequence karena notasi ‘’ dianggap sebagai karakter “escape” (menghindari), dalam arti bahwa karakter yang terdapat setelah tanda ‘’ dianggap bukan merupakan teks biasa. Beberapa escape sequence lainnya dapat anda lihat dalam tabel 1.3. Tabel 1.3 Escape Sequence 2 . 5 0 3 0 . 7 6 2 . 5 0 3 0 . 7 6
  • 8. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!8! ! ESCAPE SEQUENCE PENGERTIAN b f n r t ’ ” xaa aaa Backspace Formfeed Baris Baru Carriage Return Tab (default = 8 karakter ) Tanda kutip tuggal (‘) Tanda kutip ganda (“) Backslash Kode ASCII dalam hexadecimal (aa – menunjukkan angka ASCII ybs.) Kode ASCII dalam octal (aa – menunjukkan angka ASCII ybs.) Sebagai ilustrasi dapat dilihat contoh berikut ini: main() { float bil1=13.5 , bil2=45.2, bil3=4.76; float bil4=30.75 , bil5=32.1, bil6=7.5; clrscr(); printf(“%8.2f t%8.2f t%8.2f” ,bil1,bil2,bil3); printf(“n%8.2ft%8.2f t%8.2f”,bil4,bil5,bil6); } Dengan keluaran 13.50 45.20 4.76 30.75 32.10 7.50 1.2.8 Input Kegunaan input tidaklah kalah pentingnya dengan output. Sebagai pengumpan data, input akan meneruskan data tersebut agar diproses oleh komputer sebelum dikeluarkan oleh output. Tiga perintah input yang ada dalam program bahasa C adalah scanf(), getche(), dan getch(). Fungsi scanf() Format dari fungsi scanf adalah sebagai berikut: scanf(“ penentu format”,&nama_variabel); Dalam penggunaanya scanf() seringkali dikombinasikan dengan printf() untuk sekedar memberikan keterangan data apakah yang harus dimasukkan dalam scanf() tersebut, karena scanf() sendiri tidak dapat digabungkan dengan teks. Selain itu, di depan nama variabel dalam
  • 9. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!9! ! scanf() harus digunakan ‘&’. Salah satu kesalahan yang sering dilakukan dalam penggunaan scanf() adalah lupa memberikan ‘&’ di depan nama variabel, hal ini akan mengakibatkan proses program menjadi kacau. ‘&’ dikenal sebagai operator alamat (address operator). /* penggunaan fungsi scanf() */ main() { float bil1 , bil2 , bil3 ; clrscr(); printf(“ Masukkan bilangan pertama :”); scanf(“%f”, &bil1); printf(“ Masukkan bilangan kedua :”); scanf(“%f”, &bil2); bil3=bil1+bil2 printf(“ Total kedua bilangan : %3f”,bil3); getche(); } Sebagai contoh kita akan menjumlahkan dua bilangan 45.5 dengan 30.25, maka output program diatas akan menjadi: Masukkan bilangan pertama : 45.5 Masukkan bilangan kedua : 30.25 Total kedua bilangan : 75.750 1.2.9 Memberikan Komentar Dalam Program Memberikan komentar-komentar atau keterangan dalam program sering kali akan membantu pemrogram dalam mempelajari atau mengecek kembali program bila terjadi kesalahan- kesalahan ataupun di kemudian hari ingin mengembangkan program tersebut. Dalam bahasa C, komentar diletakkan di antara tanda ‘/*’ dan ‘*/’. Misalkan /* ini sebuah komentar */ . Komentar dapat dituliskan dalam huruf besar, huruf kecil, ataupun kombinasi huruf dengan karakter-karakter lain, seperti angka dan sebagainya. Komentar dapat diletakan di awal maupun di tengah program. Dapat di tuliskan pada baris yang terpisah ataupun pada baris yang sama dengan perintah-perintah lainnya. Sebagai contoh dapat dilihat pada program berikut ini: main() { /* Deklarasi variabel */ float gaji,pajak,bersih; clrscr(); /* Menghapus layar */ gaji=500000; /* gaji = gaji kotor per bulan */ pajak=50000; /* pajak = pajak per bulan */ bersih=gaji-pajak; /* bersih = gaji bersih per bulan*/ /* CETAK GAJI BERSIH PER BULAN */ printf("nGaji bersih yang diterima: %.2f",bersih); getche(); } 1.3 Peralatan
  • 10. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!10! ! 1. 1 set computer 2. Software bahasa C 1.4 Langkah Kerja 1. Aktifkan software bahasa C, dan lakukanlah setting directories dengan cara pilih Options pada menu utama software, kemudian pilih Directories pada sub-menu options. Gambar 1.1. Tampilan Utama Kompiler Turbo C Isikanlah letak file-file Include, Library, dan Turbo C (biasanya sama dengan letak folder TC). Isikan pula letak tempat menyimpan file-file program pada Output directory. Gambar 2.2. Pengesetan Directory 2. Buatlah program seperti berikut ini, dan simpan dalam file Coba11.C dengan cara pilih File dan Save atau F2. Untuk melihat program tersebut benar atau tidak lakukan Compile dari menu utama dan untuk menjalankan program lakukan Run. /* inisialisasi suatu variabel file Coba11.C*/ main() { /* deklarasi variabel */ float harga_satuan, jumlah, total; clrscr(); /*membersihkan layar */ /*inisialisasi*/ Harga_satuan=12.50; Jumlah=40; /*menghitung harga total*/
  • 11. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!11! ! total=harga_satuan*jumlah; /*mencetak harga total*/ printf(“harga total : %f”, total); getche(); /*menahan layar */ } 3. Buatlah program seperti berikut ini, dan File Save dalam file Coba12.C kemudian lakukan Compile dan Run. /* mencetak tipe data karakter dan integer */ main() { clrscr(); printf (“%c merupakan abjad yang ke %d”, ‘z’,26); getche(); } 4. Buatlah program seperti berikut ini, dan File Save dalam file Coba13.C kemudian lakukan Compile dan Run. main() { clrscr(); float bilangan=2.5 , nomor=30.756; printf(“bilangan = %-10.2f n”,bilangan); printf(“nomor = %-10.2f”,nomor”); getche(); } 5. Buatlah program seperti berikut ini, dan File Save dalam file Coba14.C kemudian lakukan Compile dan Run. /*Menghitung Luas segiempat */ main() { float panjang , lebar , luas ; clrscr(); /* Input data – panjang dan lebar */ printf(“panjang segiempat :”); scanf(“%f”, &panjang); printf(“lebar segiempat :”); scanf(“%f”, &lebar); /* Menghitung luas segiempat */ luas=panjang*lebar ; /* Mencetak luas segiempat */ printf(“nLuas segiempat : %10.4f” , luas); getche(); }
  • 12. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!12! ! 6. Buatlah program seperti berikut ini, dan File Save dalam file Coba15.C kemudian lakukan Compile dan Run. /* Penggunaan getche() tanpa variabel */ main() { clrscr(); printf("nSaya mempelajari penggunaan getche()"); /* Contoh penggunaan getche() */ printf("nTekan sembarang tombol"); getche(); /* periksa tombol yang Anda tekan */ printf("nAnda telah menekan sebuah tombol"); } 1.5 Lembar Kerja Tuliskanlah hasil dari langkah kerja 2 hingga 6 kedalam tabel berikut ini: No Nama File Hasil Keluaran 1.6 Pertanyaan dan Tugas 1. Dari nama-nama variable berikut ini, mana yang benar dan mana yang salah, dan bila salah apakah penyebab kesalahan tadi. a. nama_orang g. uang+muka b. alamat.rumah h. nilai*max c. uang* i. rata-rata d. _alamat j. float1 e. gaji bulanan k. printf f. satu_char l. 2_data
  • 13. ! Pr.$Pemrograman$Komputer$1$! ! Jobsheet!1:!Input!dan!Output! Halaman!!!13! ! 2. Buatlah flow-chart dan program untuk menghitung luas dan keliling suatu lingkaran. Adapun rumus luas = π.r2 , sedangkan rumus keliling=2.π.r, jari-jari lingkaran dimasukkan melalui scanf. 3. Buatlah flow chart dan program untuk menghitung luas dan volume suatu tabung. Adapun rumus luas= 2.π.r.t sedangkan volume = π.r.t2 . Jari-jari alas dan tinggi dimasukkan ke program sebagai input melalui scanf. 4. Buatlah flow chart dan program untuk mencari konversi suhu dari cecius ke Fahrenheit dan reamur dengan rumus: Fahrenheit = 9/5*Celcius+32 Reamur = 4/5*Celcius 5. Buatlah program untuk menghitung nilai uang dalam bentuk dollar, yen, dan peso. Adapun inputan program adalah mata uang rupiah dengan rumus: Dollar = rupiah/9000; Yen = rupiah/4000 Peso = rupiah/3000 6. Buatlah program untuk menghitung nilai persamaan berikut ini: X = a2 +b2 +c Hitunglah nilai X dengan nilai a,b, dan c sebagai nilai input. 7. Buatlah program untuk menghitung berapa bulan lamanya cicilan dari seseorang yang membeli mobil seharga Rp. 50.000.000,- dengan DP Rp. 10.000.000,- dan tiap bulan dia harus mencicil sebesar Rp. 300.000,-
  • 14.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    14     JOBSHEET 2 OPERASI ARITMATIKA 2.1. Tujuan Instruksional Khusus 1. Mahasiswa dapat membedakan fungsi aritmatika dari operator aritmatika, ekspresi aritmatika, operator pemberi nilai aritmatika, operator penambah, dan operator pengurang. 2. Mahasiswa dapat menggunakan operasi aritmatika dengan benar. 2.2. Pendahuluan Pembahasan Bab ini akan berkisar pada berbagai hal yang berhubungan dengan operasi aritmatika, baik yang bersifat umum, yang juga dapat Anda jumpai pada bahasa Pemrograman lainnya, ataupun yang bersifat khusus dimiliki oleh bahasa C. 2.2.1 Operator Aritmatika Operasi aritmatika yang dikenal oleh Turbo C adalah sebagai berikut : + tambah - kurang / bagi * kali % sisa Contoh : A = 10/2; hasilnya = 5 B = 5+2-3; hasilnya = 4 Bila dalam beberapa bahasa Pemrograman lain ada operator untuk pemangkatan, tetapi di dalam Turbo C jenis operator ini tidak dikenal. Jadi apabila ada rumus-rumus pemangkatan harus dilakukan dengan cara lain. Contoh : dalam Turbo C dituliskan A = X*X ; dalam Turbo C dituliskan B = 5*Y*Y*Y ; Operator sisa (%) hanya dapat digunakan untuk data yang bertipe char atau int, dan tidak dapat digunakan untuk tipe data float ataupun double. Contoh : A = 5 % 2 nilai A = 1
  • 15.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    15     solusinya 5 dibagi 2 = 2 sisa 1 B = 4.3 % 3.2 nilainya akan salah 2.2.2 Ekspresi Aritmatika Pada contoh di atas, Anda menjumpai pernyataan seperi A = X*X, bentuk X*X ini disebut sebagai ekspresi aritmatika. Sedangkan A = X*X merupakan pernyataan pemberian nilai kepada suatu variable. Bentuk umum pernyataan pemberian nilai adalah : variable = ekspresi aritmatika LVALUE RVALUE Tanda ‘=’ dalam pernyataan di atas dikenal sebagai operator pemberi nilai (assignment operator), karena tanda ‘=’ ini digunakan untuk memberi nilai kepada suatu variabel, baik numerik maupun karakter atau string. Sebelah kiri tanda ‘=’, yaitu variabel, dikenal dengan sebutan LVALUE (Left Value), sedangkan ekspresi aritmatika yang terlaetak di sebelah kanan tanda ‘=’ dinamakan RVALUE (Right Value). LVALUE harus selalu berupa variabel tunggal, tidak boleh lain. Sedangkan RVALUE dapat berupa konstanta, variabel lain maupun suatu ekspresi atau rumus aritmatika. Contoh : A = 5; char = ‘j’; X = nilai; rata-rata = total/jumlah; bil = 0.3*bil_1+0.7*bil_2; Bila LVALUE bukan berupa variabel, maka akan muncul pesan kesalahan : Lvalue required in function … Beberapa contoh ekspresi aritmatika yang salah : 5 = A; 2+4 = B; total/jumlah = rata_rata;
  • 16.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    16     Pemberian nilai terhadap beberapa variabel yang akan diberi nilai sama, dapat dilakukan sekaligus dalam satu baris perintah. Contoh : A = B = C =10; Dalam proses ini, C akan diberi nilai lebih dulu dengan 10, kemudian B diberi nilai sama dengan C, yaitu 10 juga. Akhirnya A diberi nilai sama dengan B yang juga 10. Pemberian nilai tehadap beberapa variabel yang nilainya berbeda, tidak dapat dilakukan sekaligus. Contoh dari pemberian beberapa variabel dapat dilihan pada contoh berikut ini: Kita akan member nilai A = 10, B = 5, C = 7. Anda tidak dapat menuliskan sebagai : A = B + 5 = C + 3 = 10; Ekspresi ini SALAH. 2.2.3 Hierarki Operator Aritmatika Bila dalam suatu ekspresi aritmatika Anda dapat menjumpai penggunaan beberapa operator Artmatika yang berbeda secara bersamaan, maka hierarki dari operator ini adalah sebagai berikut : * atau / tergantung letak, yang di depan yang di dahulukan. % + atau - tergantung letak. Contoh : A = 5 + 3*2/6 Langkah-langkah perhitungan yang dilaukan oleh komputer adalah : 1. 3*2 dihitung dulu, karena ‘*’ di depan ‘/’ A = 5 + 6/6 2. Kemudian dihitung 6/6, karena hirearki ‘/’ lebih tinggi dari pada ‘+’ A = 5 + 1 3. Terakhir penjumlahan, sehingga A = 6 B = 10/5*2+3; Solusinya : B = 2*2+3 B = 4 + 3 B = 7 Hirearki ini dapat dilawan dengan penggunaan tanda kurung ‘(‘ dan ‘)’. Ekspresi yang terdapat pada kurung terdalam akan dijalankan lebih dahulu.
  • 17.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    17     Contoh : A = (5+3)*2/4; Solusinya : A = 8*2/4 A = 16/4 A = 4 B = 100/(5*(2+3)); Solusinya : B = 100/(5*5) B = 100/25 B = 4 Berikut ini adalah beberapa contoh penulisan ekspresi aritmatika dalam Turbo C. Contoh : dituliskan (a+b)/(a-b) – p*q dituliskan (a+b/p)/a*b–q dituliskan (a+b/p)/a*b–q atau ((a+b/p)/a)*b-q Dua contoh yang terakhir menunjukkan bahwa tanda kurung juga memegang peranan penting dalam ekspresi aritmatika. Bila terjadi kesalahan meletakkan kurung, maka ekspresi aritmatika yang dihasilkan kemungkinan besar akan memiliki arti yang brbeda pula. Oleh karena itu berhati-hatilah (perhatikan (a+b/p)/(a*b)-q memiliki pengertian yang berbeda dengan (a+b/p)/a*b-q). Kesalahan semacam ini seringkali dilakukan oleh para programmer tanpa disengaja dan cukup sulit dilacak, karena Turbo C tidak akan memberikan pesan kesalahan selama sintaks penulisan ekspresi tadi benar. Kesalahan lain yang juga mungkin terjadi adalah suatu perkalian variabel yang melupakan tanda kalinya, misalnya perkalian p dan q yang seharusnya dituliskan p*q, dituliskan pq saja. Untuk kesalahan semacam ini, Turbo C ada kalanya memberikan pesan kesalahan, yaitu bila tidak mendeklarasikan suatu variabel lain dengan nama pq. Bila kebetulan ada variabel dengan nama pq, maka tidak aka nada pesan kesalahan.
  • 18.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    18     2.2.4 Operator Pemberi Nilai Aritmatika Bila ‘=’ dikenal sebagai operator pemberi nilai (assignment operator), ada operator- operator lain sejenis yang khusus digunakan dalam ekspresi-ekspresi aritmatika, oleh karena itu operator-operator ini lebih dikenal sebagai operator pemberi nilai aritmatika (arithmetic assignment operators). Sebelum melihat apa saja yang disebut sebagai operator pemberi nilai aritmatika, kita tinjau dulu sebuah contoh persamaan berikut ini : total = total + bilangan ; Ekspresi semacam ini sering kali kita jumpai dalam mencari nilai kumulatif (penjumlahan) dari sejumlah nilai tertentu yang banyak dijumpai dalam loop (program pengulangan). Bila Anda pernah mempelajari suatu bahasa Pemrograman tertentu, tentunya ekspresi semacam ini tidak merupakan suatu hal yang asing lagi bagi Anda. Di dalam Turbo C, penulisan ekspresi di atas, dapat disederhanakan menjadi : total + = bilangan; Notasi ‘+=’ ini dikenal dengan operator pemberi nilai aritmatika (arithmetic assignment operator). Operator pemberi nilai selengkapnya dapat Anda lihat pada Tabel 2.1 Tabel 2.1 Operator Pemberi Nilai Aritmatika OPERATOR ARTI += Penjumlahan -= Pengurangan *= Perkalian /= Pembagian %= Sisa Beberapa contoh berikut ini akan memberikan gambaran tentang penggunaan operator-operator ini. langkah += 2; langkah = langkah + 2 nilai -= 4.75; nilai = nilai – 4.75 bil *= 12; bil = bil * 12
  • 19.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    19     bagi /= nomor; bagi = bagi / nomor sisa %= 2; sisa = sisa % 2 2.2.5 Operator Penambah (increment) dan Pengurang (decrement) Suatu variabel yang nilainya selal bertambah satu, misalkan seperti pada sebuah variabel pencacah (counter) dengan rumus sebagai berikut ini : nomor = nomor + 1; berdasarkan ketentuan yang telah dijelaskan pada topic sebelumnya, rumus ini dapat dituliskan sebagai : nomor += 1; Rumus di atas sebenarnya merupakan bentuk khusus dari rumus-rumus yang terdapat pada topic sebelumnya (lihat Operator Pemberi Nilai Aritmatika), dimana penambahannya selalu ‘1’. Dalam C, rumus di atas ini masih dapat disederhanakan lagi menjadi : nomor++ Notasi ‘++’ disebut Operator Penambah (Increment Operator). ‘++’ dapat digunakan baik di depan nama variabel, seperti : ++nomor Ataupun di belakang variabel : nomor ++ Kedua bentuk penulisan ini memiliki arti yang BERBEDA. Bila ‘++’ diletakkan di depan nama variabel, maka proses penambahan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begtu ekpresi ini ditemukan. Jika ‘++’ diletakkan di belakang nama variabel, maka proses penambahan akan dilakukan setelah ekspresi ini dijumpai, dengan kata lain nilai variabel akan tetap pada saat ekspresi ini ditemukan. Hal yang serupa juga berlaku untuk operator pengurang (decrement operator). Operator ini akan mengurangi nilai variabel dengan 1,setiap prosesnya. Operator pengurang ini menggunakan notasi ‘-‘, yang juga dapat diletakkan di depan ataupun di belakang nama variabel, dengan pengertian yang serupa dengan operator penambah.
  • 20.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    20     2.2.6 Operasi Aritmatika Dari Campuran Tipe Data Yang Berbeda Operasi aritmatika dapat dilakukan untuk campuran berbagai tipe data yang berbeda. Pada umumnya hasil akhir akan sesuai dengan tipe variabel yang akan menyimpan hasil operasi aritmatika ini. Namun demikian ada berbagai penyimpangan yang patut diperhatikan, guna mencegah terjadinya kesalahan-kesalahan yang sebenarnya tidak perlu. Untuk memberikan gambaran yang lebih jelas, ikutilah beberapa contoh dibawah ini. Pertama kita akan meninjau hasil operasi aritmatika terhadap data-data yang bertipe integer, dan hasil proses akan disimpan kedalam variabel yang bertipe integer juga. Perhatikan contoh di bawah ini : /* Operasi Aritmatika terhadap Data Integer */ /* yang hasilnya disimpan ke dalam variabel integer */ main() { int bil1=5,bil2=3,bil3,bil4,bil5,bil6; clrscr(); bil3=bil1+bil2; bil4=bil1-bil2; bil5=bil1*bil2; bil6=bil1/bil2; printf("n%4d + %4d = %4d",bil1,bil2,bil3); printf("n%4d - %4d = %4d",bil1,bil2,bil4); printf("n%4d * %4d = %4d",bil1,bil2,bil5); printf("n%4d / %4d = %4d",bil1,bil2,bil6); } Output program ini adalah : 5 + 3 = 8 5 – 3 = 2 5 * 3 = 15 5 / 3 = 1 Semua hasil dari operasi aritmatika ini adalah integer. Untuk penjumlahan, selisih, dan perkalian tidak ada hal yang aneh, namun untuk pembagian yang hasilnya bukan
  • 21.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    21     berupa bilangan bulat, hasil tadi akan selalu dibulatkan kebawah. Sebagai contoh kita lihat dari proses di atas : 5 / 3 seharusnya 1.666667 disini dibulatkan menjadi 1 contoh lain : 6 / 3 hasilnya 2 (tidak dibulatkan lagi karena hasilnya memang sudah berupa bilangan bulat) 11/4 seharusnya 2.75 disini akan dibulatkan menjadi 2 Sekarang kita akan meninjau operasi aritmatika dari data-data yang bertipe integer, namun hasilnya akan disimpan kedalam variabel yang bertipe float. /* Operasi Aritmatika terhadap Data Integer */ /* yang hasilnya disimpan ke dalam variabel float */ main() { int bil1=1000,bil2=3; float bil3,bil4,bil5,bil6; clrscr(); bil3=bil1+bil2; bil4=bil1-bil2; bil5=bil1*bil2; bil6=bil1/bil2; printf("n%4d + %4d = %4f",bil1,bil2,bil3); printf("n%4d - %4d = %4f",bil1,bil2,bil4); printf("n%4d * %4d = %4f",bil1,bil2,bil5); printf("n%4d / %4d = %4f",bil1,bil2,bil6); } Outputnya : 1000 + 3 = 1003.000000 1000 – 3 = 997.000000 1000 * 3 = 3000.000000 1000 / 3 = 333.000000 Bila kita pelajari output diatas, untuk penjumlahan, selisih, dan perkalian tidak ada hal yang aneh, hanya semua hasilnya sekarang dituliskan dalam bentuk floating point dengan menampilkan desimalnya. Untuk pembagian ada sedikit keanehan, ternyata hasilnya tetap dibulatkan menjadi integer, hanya ditampilkan dalam bentuk decimal
  • 22.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    22     (ada 6 angka dibelakang titik decimal ). Dari sini dapat disimpulkan bahwa pembagian dari dua jenis data integer yang disimpan kedalam variabel float tetap akan memberikan hasil integer yang dituliskan dalam bentuk desimal. Untuk operasi aritmatika terhadap data-data yang bertipe campuran, integer dan float, yang hasilnya akan disimpan dalam variabel integer. /* Operasi Aritmatika terhadap Data Campuran */ /* yang hasilnya disimpan ke dalam variabel integer*/ main() { int bil1=1000,bil3,bil4,bil5,bil6; float bil2=3.5; clrscr(); bil3=bil1+bil2; bil4=bil1-bil2; bil5=bil1*bil2; bil6=bil1/bil2; printf("n%4d + %f = %d",bil1,bil2,bil3); printf("n%4d - %f = %d",bil1,bil2,bil4); printf("n%4d * %f = %d",bil1,bil2,bil5); printf("n%4d / %f = %d",bil1,bil2,bil6); } Outputnya : 1000 + 3.500000 = 1003 1000 – 3.500000 = 996 1000 * 3.500000 = 3500 1000 / 3.500000 = 285 Berikutnya adalah operasi aritmatika terhadap data campuran yang akan disimpan kedalam variabel float. /* Operasi Aritmatika terhadap Data Campuran */ /* yang hasilnya disimpan ke dalam variabel float */ main() { int bil1=1000; float bil2=3.5,bil3,bil4,bil5,bil6; clrscr(); bil3=bil1+bil2; bil4=bil1-bil2;
  • 23.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    23     bil5=bil1*bil2; bil6=bil1/bil2; printf("n%4d + %f = %f",bil1,bil2,bil3); printf("n%4d - %f = %f",bil1,bil2,bil4); printf("n%4d * %f = %f",bil1,bil2,bil5); printf("n%4d / %f = %f",bil1,bil2,bil6); } Outputnya : 1000 + 3.500000 = 1003.500000 1000 – 3.500000 = 996.500000 1000 * 3.500000 = 3500.000000 1000 / 3.500000 = 285.714294 Dari sini dapat disimpulkan, bila ingin memperoleh hasil float yang benar, tanpa adanya pembulatan menjadi integer, maka minimum salah satu suku atau faktor yang terdapat dalam operasi aritmatika harus bertipe float, dan hasil operasi ini harus disimpan dalam variabel float pula. Hal ini perlu diperhatikan terutama untuk pembagian. Dari contoh-contoh yang telah diberikan diatas, dapat disimpulkan bahwa dalam operasi aritmatika, operasi pembagian sering memberikan hasil yang kadang- kadang sedikit aneh. Ada dua hal yang perlu kita perhatikan dalam operasi pembagian ini : 1. Untuk pembagian integer, yaitu bila pembilang dan penyebut kedua-duanya berbentuk integer, maka hasilnya akan integer. Contoh : 125/100 = 1 15/20 = 0 2. Untuk pembagian campuran, yaitu bila pembilang atau penyebut atau kedua- duanya merupakan float, maka hasilnya akan menjadi float juga. Contoh : 125.0/100 = 1.250000 15/20.0 = 0.750000 3.25/6.50 = 0.500000 2.2.7 Pengaturan Tipe (type casting) Tipe data dapat langsung diatur didalam ekspresi aritmatika yang dituliskan, dengan demikian konversi tipe data akan langsung dilakukan pada setiap langkah perhitungannya. Pengaturan tipe data ini dituliskan sebagai :
  • 24.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    24     (tipe) variabel atau konstanta Sebagai contoh, kita tinjau program dibawah ini. /* Penggunaan pengatur Tipe */ main() { int a1=10,a2,a3,a4,a5,a6,a7; float b1,b2; clrscr(); a2=45.5/a1+2.75; a3=(int) 45.5/a1 + 2.75; a4=(int) 45.5/a1+(int) (2.75); a5=(int) 45.75/0.5; a6=(int) (45.75/0.5); a7=(int) 45.75/(int) 1.5; b1=45/a1+2.75; b2=(float) 45/a1 +2.75; printf("n %d”,a2); printf("n %d",a3); printf("n %d",a4); printf("n %d",a5); printf("n %d",a6); printf("n %d",a7); printf("n %f",b1); printf("n %f",b2); } Outputnya : 7 6 6 90 91 45 6.750000 7.250000 Proses langkah demi langkahnya adalah sebagai berikut : a2 = 45.5/a1 + 2.75 = 45.5/10 + 2.75 = 4.55 + 2.75 = 7.30 a3 = (int) 45.5/a1 + 2.75
  • 25.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    25     = 45/10 + 2.75 = 4 + 2.75 = 6.75 dibulatkan menjadi 6, karena a3 integer a4 = (int) 45.5/a1 + (int) 2.75 = 45/10 + 2 = 4 + 2 = 6 Meskipun a2 dan a3 hasilnya sama, namun proses perhitungan langkah demi langkahnya berbeda. a5 = (int) 45.75/0.5 = 45/0.5 = 90.000000 dituliskan sebagai 90 a6 = (int) (45.75/0.5) = (int) 91.500000 = 91 a7 = (int) 45.75/ (int) 1.5 = 45/1 = 45 b1 = 45/a1 + 2.75 = 45/10 + 2.75 = 4 + 2.75 = 6.750000 b2 = (float) 45/a1 + 2.75 = (float) 45/10 + 2.75 = 4.500000 + 2.75 = 7.250000 Kesimpulan : 1. Pengatur tipe hanya mengatur sebuah variabel atau konstanta yang tepat berada dibelakang pengatur tipe tadi. Contoh : (int) 45.75/0.5 → 45/0.5
  • 26.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    26     2. Bila setiap konstanta atau variabel hendak diubah tipenya, maka konstanta- konstanta atau variabel- variabel tersebut membutuhkan pengatur tipenya masing- masing. Contoh : (int) 45.75/ (int) 1.5 → 45/1 3. Kita dapat menggunakan tanda kurung untuk mengatur dijalankannya proses aritmatika lebih dahulu, baru kemudian hasilnya di konversikan ke dalam tipe yang di inginkan. Contoh : (int) (45.75/0.5) → (int) 91.500000 2.2.8 Hierarki Operator Bila pada beberapa topik sebelumnya telah diberikan hierarki operator aritmatika (lihat tabel 2.1), pada table berikut ini akan diberikan hierarki yang lebih lengkap. Tabel 2.2 Hierarki operator. Prioritas Operator Keterangan I II III IV V VI VII VIII () ++-- */ % +- = += -= *= /= %= ! < > <= >= != = = && ; ; Tanda kurung Penambahan dan pengurangan. Kali dan bagi Sisa Tambah dan kurang Operator pemberi nilai Aritmatika Operator logic tidak/bukan. Operator relasi Operator logic DAN dan ATAU 2.2.9 Operasi Character Meskipun sebenarnya operasi character bukan merupakan bagian dari operasi matematika,namun topic ini sengaja disisipkan disini,mengingat bahwa karakter dapat dinyatakan dalam bentuk integer. Karakter umumnya disimpan secara internal dalam bentuk integer,artinya karakter dikonversikan menjadi integer sebelum disimpan ke dalam memori dan akan dikonversikan menjadi karakter kembali bila dicetak.pada
  • 27.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    27     umumnya system konversi yang dianut oleh sebagian besar microcomputer akana menjadi nilai ASCII-nya(lihat Lampiran A).nilai ASCII dapat berkisar dari 0 hingga 127 atau 0 hingga 255, tergantung jenis computer yang anda gunakan. Seperti yang telah dibahas pada bab sebelumnya, untuk mencetak sebuah karakter digunakan format specifier ‘%c’.bagaimanakah untuk mencetak nilai ASCII –nya? Nilai ASCII dapat dicetak dengan menggunakan format specifier ’%d’ (%d mewakili integer). /* Program konversi nilai ASCII */ main() { char c1='a',c2='A'; clrscr(); printf("nKarakter pertama : %c",c1); printf("nNilai ASCII nya : %d",c1); printf("nKarakter kedua : %c",c2); printf("nNilai ASCII nya : %d",c2); } Output program ini: Karakter pertama : a Nilai ASCII nya : 97 Karakter kedua : A Nilai ASCII nya : 65 2.3. Peralatan 1. 1 set computer 2. Software Turbo C 2.4. Langkah Kerja 1. Aktifkanlah editor Turbo C, kemudian lakukanlah konfigurasi directory. 2. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con21.C /* Penggunaan '++' di depan nama variabel */ main() { int bil=10; clrscr(); printf("n %d",bil);
  • 28.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    28     printf("n%d",++bil); printf("n%d",bil++); printf(“n%d”, bil); getche(); } 3. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con22.C /* Penggunaan '++' di belakang nama variabel */ main() { int bil=10; clrscr(); printf("n %d",bil); printf("n %d",bil++); printf("n %d",++bil); getche(); } 4. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con23.C /* Penggunaan '++' di depan dan di belakang nama variabel */ main() { int bil=25; clrscr(); printf("n %d",++bil); printf("n %d",bil++); printf("n %d",bil); printf("n %d",++bil); printf("n %d",bil++); printf("n %d",++bil); getche(); } 5. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con24.C /* Contoh penggunaan '++' dan '--' */ main() { int bil=15; clrscr(); printf("n %d",++bil); printf("n %d",bil--); printf("n %d",bil); printf("n %d",bil++); printf("n %d",++bil);
  • 29.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    29     printf("n %d",bil--); printf("n %d",--bil); printf("n %d",bil); printf("n %d",++bil); printf("n %d",--bil); printf("n %d",bil); getche(); } Bagaimanakah output dari program di atas ? Cobalah menganalisa program ini tanpa menjalankannya di computer. Bila analisa anda seperti hasil saat eksekusi program maka Anda telah benar-benar memahami pengertian operator-operator tersebut. 6. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con25.C /* Operasi Aritmatika */ main() { int a1=10,a2,a3,a4; float b1=1.5,b2,b3,b4; clrscr(); a2=a1/b1+2.5; a3=45/a1+3; a4=45.0/a1+3; b2=a1/b1+2.5; b3=45/a1+3; b4=45.0/a1+3; printf("n %d”,a2); printf("n %d",a3); printf("n %d",a4); printf("n %f",b2); printf("n %f",b3); printf("n %f",b4); getche(); } Langkah kerja nomor 7 merupakan contoh program konversi dari huruf besar menjadi huruf kecil, dalam kode ASCII selisih antara huruf besar dan huruf kecil adalah 32 (misal A mempunyai kode 1000001 atau $41 sedangkan a mempunyai kode 1010001 atau $61), maka sifat ini dapat kita gunakan untuk mengkonversikan huruf besar menjadi huruf kecil.
  • 30.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    30     7. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con26.C /* Program konversi huruf besar ke kecil */ main() { char besar,kecil; clrscr(); /* Cetak Judul */ printf("xDB PROGRAM KONVERSI HURUF xDB"); /* Inputkan sebuah huruf besar */ printf("nnInputkan sebuah huruf besar (A-Z)"); besar=getche(); /* Konversi ke huruf kecil */ kecil=besar+32; /* Cetak huruf kecilnya */ printf("nnHuruf kecil dari %c adalah %c",besar,kecil); getche(); } 8. Buatlah program seperti dibawah ini dan simpanlah dengan nama Con27.C /* Program konversi jam */ main() { int jam; float jam_input,menit,tot_menit; clrscr(); /* Cetak Judul */ printf("xB1xB1 Program Konversi Jam xB1xB1"); /* Input Data */ printf("nnInputkan Jam (x.xx) : "); scanf("%f",&jam_input); /* Konversi */ jam=(int) jam_input; menit=(jam_input-(int) jam_input)*60; tot_menit=jam*60+menit; /* Cetak Output */ printf("n%f jam = %d jam %5.2f menit = %.2f menit",jam_input, jam,menit,tot_menit); getche();
  • 31.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    31     } 2.5. Lembar Kerja No Nama File Keluaran 2.6. Pertanyaan dan Tugas 1. Tuliskan ekspresi aritmatika dibawah ini dalam bentuk yang dikenal oleh Turbo C: a. dimana a,b,c,d,p,q,x, dan y masing masing adalah sebuah variable. 2. Bila diketahui a=100, b=10 dan c=2, tentukan hasil ekspresi aritmatika berikut ini: a. d = a/2*b; f. z = a/(2*b); b. x = a*b/5*c; g. p = a+b/2*b; c. y = a*(b/5)*c; h. q = (a+b)/2*b; d. f = a+c/10+b; i. r = (a+b)/(2*b); e. g = a+c/(10+b); j. s = (a+c)/(10+b); 3. Dari program berikut ini, berapakah nilai x ? main() { int x,y ;
  • 32.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    32     y = 3 x = y*3+12; printf("Nilai dari x adalah : %d ",x); } 4. Dari program berikut ini, bagaimana outputnya ? main() { int a=12,b=15,c=40,d,x; float e=5.5,f=12.5,h.i,y; d=a+e; h=c/b; i=f/a; x=f/e; y=f/e; printf("n d : %d",d); printf("n h : %f",h); printf("n i : %f",i); printf("n x : %d",x); printf("n y : %f",y); } 5. Tentukan output dari program dibawah ini: main() { int bil=3; printf("n %d",bil); printf("n %d",bil++); printf("n %d",--bil); bil+=5; printf("n %d",bil); printf("n %d",++bil); printf("n %d",bil++); printf("n %d",bil); bil*=5; printf("n %d",bil++); printf("n %d",++bil); printf("n %d",bil); bil-=5; printf("n %d",bil); getche(); } 6. Tentukan output program berikut ini : main() {
  • 33.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    33     int bil1=10,bil2,bil3; float bil4=75.5,bil5,bil6; bil2=(int) bil4/bil1+(int) bil4; bil3=(int) (bil4/0.25)+5/2; bil5=bil1/2+(int) bil4/25; bil6=bil4/ (int) 1.5+2.4; printf("n %d",bil2); printf("n %d",bil3); printf("n %f",bil5); printf("n %f",bil6); } Tentukan lebih dahulu dengan perhitungan manual, sebelum anda coba program diatas. Dengan demikian anda dapat menguji apakah anda benar benar telah memahami langkah langkah perhitungan ini. 7. Tentukan output program dibawah ini, kerjakan secara manual dahulu,kemudian buatlah programnya, serta periksa apakah hasil manual tersebut sesuai output program?. main() { char kar1,kar2,kar3; kar1='a'+10; kar2=kar1-20; kar3='C'+'D'-'A'+10; printf("n %c kode ASCII nya %u",kar1,kar1); printf("n %c kode ASCII nya %u",kar2,kar2); printf("n %c kode ASCII nya %u",kar3,kar3); } 8. Buatlah program untuk menghitung volume dan luas permukaan tabung apabila masukkannya berupa jari-jari dan tinggi. Jari-jari dan tinggi yang dimasukkan bertipe float dan output atau keluaran yang dihasilkan adalah luas dan volume permukaan bola dengan tipe float.
  • 34.   Pr. Pemrograman Komputer 1     Jobsheet  2:  Operasi  Aritmatika                                                                                                                                                                              Halaman    34    
  • 35.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  34     JOBSHEET 3 Percabangan Bersyarat 3.1. Tujuan Instruksional Khusus 1. Mahasiswa dapat membuat program menggunakan percabangan menggunakan if .. else. 2. Mahasiswa dapat membuat program menggunakan percabangan bertingkat menggunakan if .. else if. 3. Mahasiswa dapat membuat program menggunakan percabangan menggunakan switch .. case. 3.2. Pendahuluan Percabangan bersyarat memungkinkan pemrogram untuk memilih suatu alternatif dari beberapa alternatif yang disediakan berdasarkan kondisi yang sesuai. 3.2.1 Operator Relasi Operator relasi digunakan untuk membandingkan nilai dua ekspresi aritmatika yang berbeda. Kedua nilai ekspresi yang dibandingkan tersebut dapat sama, lebih besar, atau lebih kecil atau tidak sama dan sebagainya. Tabel 3.1. Operator Relasi OPERATOR RELASI ARTI < Lebih kecil > Lebih besar == Sama dengan <= Lebih kecil atau sama dengan >= Lebih besar atau sama dengan != Tidak sama dengan Kesalahan yang sering terjadi dalam menggunakan operator relasi ini adalah penggunaan tanda sama dengan (==). Sering pemrogram menggunakan notasi ‘=’ untuk menunjukkan relasi sama dengan (==). Hal ini dapat dimaklumi karena dalam bahasa pemrograman yang lain tanda relasi sama dengan yang banyak digunakan adalah ‘=’. Contoh dari ekspresi sama:
  • 36.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  35     Ekspresi pertama : x + 5 Ekspresi kedua : y + 10 Pernyataan yang benar adalah : x+5==y+10 Bila pernyataan tersebut dituliskan x+5=y+10 Akan muncul pesan kesalahan Lvalue required in function… 3.2.2 Operator Lojik Operator lojik umumnya digunakan untuk membandingkan dua ekspresi relasional atau lebih dalam suatu ekspresi logik. Operator Logik yang dikenal oleh Turbo C diberikan dalam Tabel 3.2 Tabel 3.2 Operator Lojik OPERATOR LOGIK ARTI && Lojik AND || Logik OR ! Lojik NOT Suatu ekspresi lojik yang terdiri dari dua ekspresi realsional atau lebih yang dihubungkan oled DAN (logical AND) akan dianggap BENAR bila semua ekspresi relasional tadi BENAR. Tinjau dari tiga ekspresi relasional berikut ini merupakan contoh dari ekspresi lojik: 1. X+5<10 2. Y>x+3 3. Z-2>3 Bila ketiga ekspresi relasional ini digabungkan dengan && (x+5<10 && y>x+3 && z-2>3) Jika nilai-nilai x=1, y=5, z=10, maka ekspresi-ekspresi relasional tersebut akan memiliki nilai: X+5<10 → BENAR Y>x+3 → BENAR Z-2>3 → BENAR Berhubung ketiga ekspresi relasional BENAR, maka: (x+5<10 && y>x+3 && z-2>3) → juga BENAR Untuk nilai x,y,, dan z yang brbeda, misalkan x=2, y=2, dan z=10, maka:
  • 37.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  36     X+5<10 → BENAR Y>x+3 → SALAH Z-2>3 → BENAR Karena di sini ada ekpresi relasional yang SALAH, maka : (x+5<10 && y>x+3 && z-2>3) → SALAH Dua atau lebih ekspresi realsional yagn dihubungkan oleh lojik OR akan BENAR, bila minimum salah satu ekspresi relasional tersebut Benar. Bila semua relasi memiliki nilai SALAH, abru pernyataan tersebut akan Salah. Dari contoh tersebut, penggabungan beberapa ekpresi relasional dalam suatu ekspresi lojik dengan menggunakan && dan ||, akan mengikuti aturan seperti yang ditunjukkan dalam Tabel 3.3. Tabel 3.3 Operator lojik OPERATOR LOGIK EKSPRESI LOGIK HASIL && (benar) && (benar) (benar) && (salah) (salah) && (benar) (salah) && (salah) BENAR SALAH SALAH SALAH || (benar) || (benar) (benar) || (salah) (salah) || (benar) (salah) || (salah BENAR BENAR BENAR SALAH ! ! (benar) ! (salah) SALAH BENAR Bila && dan || digunakan secara bersama-sama dalam suatu pernyataan untuk menggabungkan beberapa relasi, maka && akan dipriotaskan lebih dahulu, baru kemudian menyusul ||. . 3.2.3 Pernyataan if Pernyataan if membagi suatu alur proses menjadi dua cabang, berdasarkan persyaratan yang diberikan. Cabang yang pertama dijalankan bila persyaratan dipenuhi, sedangkan cabang yang kedua akan dipilih bila persyaratan tidak dipenuhi. Dalam bentuk diagram alir, proses percabangan if dapat digambarkan sebagai berikut (lihat gambar 3.1.)
  • 38.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  37     Ya Tidak Gambar 3.1. Digram Alir Percabangan if Diagram alir yang diberikan dalam gambar 3.1. menggambarkan proses percabangan if yang paling sederhana, yaitu bila cabang yang kedua (persyaratan tidak dipenuhi) tidak memiliki perintah. Dengan kata lain, sekumpulan perintah akan dijalankan bila syarat dipenuhi, sedangkan bila syarat tidak dipenuhi, sekumpulan perintah tadi akan dilewati atau diabaikan, proses akan langsung dialnjutkan pada perintah-perintah berikutnya. Struktur if dapat dituliskan dalam dua bentuk penulisan. Pertama, pada if hanya mengandung sebuah perintah atau pernyataan dengan format perintah seperti berikut: if(syarat) ……perintah; Terlihat bahwa baris if tidak diakhiri oleh ‘;’, notasi ‘;’ baru diberikan pada akhir perintah baris di bawah if. Bentuk penulisan kedua digunakan bila perintah yang terdapapat di dalam if merupakan sekumpulan perintah. if(syarat) { ……perintah; ……perintah; ……perintah; } Pada setiap baris perintah diakhiri oleh ‘;’. Kumpulan perintah yang termasuk di dalam if diletakkan di antara ‘{‘ dan ’}’. IF   PERINTAH   PERINTAH  
  • 39.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  38     3.2.4 Pernyataan if else Pernyataan if else sebenarnya merupakan pengembangan dari pernyataan if. Disini kedua cabang, yaitu syarat dipenuhi dan syarat tidak dipenuhi, masing-masing memiliki perintah yang harus dijalankan. Diagram alir untuk pernyataan if else dilukiskan dalam Gambar 3.2. PERINTAH PERINTAH PERINTAH PERINTAH TidakYa IF Gambar 3.2. Diagram Alir untuk pernyataan if .. else Seperti halnya pernyataan if.cara menuliskan struktur if else ini juga dibedakan dalam dua bentuk.Yang pertama yaitu bila masing-masing alternative hanya terdiri dari satu perintah atau pernyataan. if (syarat) ….perintah; else ….perintah; Bila setiap alternatif terdiri lebih dari satu perintah,maka perintah-perintah tadi harus diletakkan diantara tanda kurung ’{ }’. if (syarat) { ....perintah; ....perintah; ....perintah; } else {
  • 40.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  39     ….perintah; ….perintah; ….perintah; } 3.2.5 Bentuk Percabangan if else if Bentuk else if sebenarnya mirip dengan nested if, bahkan dalam aplikasinya seringkali sturktur ini digunakan untuk menggantikan struktur nested if. Keuntungan struktur else if dibandingkan dengan nested if adalah struktur ini menghasilkan bentuk penulisan program yang lebih sederhana. Diagram alir untuk struktur else if ini di lukiskan dalam Gambar 3.3. Gambar 3.3. Diagram alir struktur else if Struktur pertanyaan if else if dapat dituliskan sebagai berikut: if (syarat) { …..perintah;            if   else  if   else   else  if   Perintah  4   Perintah  3   Perintah  2   Perintah  1  
  • 41.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  40     …..perintah; } else if (syarat) { …..perintah; …..perintah; } else if (syarat) { …..perintah; …..perintah; { else { …..perintah; …..perintah; } Bagian program ini akan dijalankan bila semua syarat if dan else if di atasnya tidak dipenuhi. Jadi alternative else yang terakhir ini akan dipilih bila semua alternative yang diberikan sebelumnya bukan merupakan pilihan yang sesuai. 3.2.6 Switch dan break Perintah switch dan break memiliki sifat yang hamper sama dengan else if, namun penggunaanya lebih sempit, karena perintah ini hanya khusus untuk memeriksa data yang bertipe karakter atau integer. Perintah switch dan break ini juga digunakan untuk menyelesaikan program yang memiliki banyak cabang atau alternative. Bentuk penulisan perintah ini: switch (variable integer atau karakter) { case nilai pertama variable : …..perintah; …..perintah; break; case nilai kedua: …..perintah; …..perintah; Break; case nilai ketiga: …..perintah; …..perintah; break;
  • 42.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  41     default: …..perintah; …..perintah; } Tanda kurung kurawal ‘{ }’ menunjukkan batas jangkauan switch. Setiap cabang akan dijalankan bila syarat nilai variable tersebut dipenuhi. Default akan dijalankan bila semua cabang di atasnya tidak dipenuhi. Pertanyaan break menunjukkan bahwa kita siap keluar dari switch. Bila pertanyaanya ini tidak ada, maka program akan diteruskan ke cabang-cabang di bawahnya. 3.2.7 Operator Kondisi (Conditional Operator) Operator kondisi diperkenalkan oleh Turbo C untuk menyediakan penulisan program yang sedang disusun. Kita tinjau contoh penggalan program di bawah ini. if (nilai>=60) Status=’L’; else Status=’G’; Dimana ‘L’ dan ‘G’ masing-masing menyatakan ‘lulus’ dan ‘gugur’. Penggalan program di atas ini dapat disederhanakan menjadi: status = nilai>60 ? ‘L’ : ‘G’; Bentuk umum dari operator kondisi: TRUE nama_variabel = ekspresi logic atau relasi ? ekspresi 1 : ekspresi 2; FALSE Nama_variabel: adalah variable yang akan menerima nilai ekspresi 1 atau ekspresi 2. Ekspresi lojik atau relasi: merupakan ekspresi yang akan memeriksa apakah kondisi yang ada BENAR atau SALAH. Jadi hasil ekspresi ini adalah ‘TRUE’ (BENAR) atau ‘FALSE’ (SALAH). T  
  • 43.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  42     Kondisi yang BENAR apabila memenuhi syarat yang diberikan dalam ekspresi lojik atau relasi, sedangkan kondisi yang SALAH tidak memenuhi kreteria ini. 3.3. Peralatan 1. 1 set computer 2. Software turbo C 3.4. Langkah Kerja 1. Aktifkanlah editor Turbo C, kemudian lakukanlah konfigurasi directory. 2. Buatlah program seperti berikut ini yang digunakan untuk menghitung jumlah belanja yang harus dibayar, bila berlaku ketentuan: Discount 10% diberlakukan bagi pembeli yang berbelanja Rp.100.000,- ke atas. Program disimpan dengan nama Con31.C. Input program: Jumlah belanja Output program: Discount dan Jumlah yang harus dibayar Ketentuan tentang nama dan tipe variabel yang dugunakan adalah sebagai berikut: Variabel untuk Nama variabel Tipe Jumlah belanja jml_belanja float Discount discount float Jumlah yang jml_bayar float harus dibayar /* Program menghitung uang pembelian */ main() { float jml_belanja, discount=0,jml_bayar; /* Input Jumlah Belanja */ printf("nBesarnya Belanja : "); scanf("%f",&jml_belanja); /* Menghitung Discount */ if (jml_belanja>=100000) discount=0.10*jml_belanja; /* Menghitung Uang Pembayaran */ jml_bayar=jml_belanja-discount; /* Cetak Discount dan Uang Pembayaran */
  • 44.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  43     printf("nDiscount : %10.2f",discount); printf("nUang Pembayaran : %10.2f",jml_bayar); getche(); } 3. Buatlah program seperti dibawah ini dan simpan dengan nama Con32.C. /* Struktur if yang terdiri dari sekumpulan perintah */ main() { int usia; clrscr(); printf("Berapakah usia Anda? : "); scanf("%d",&usia); if(usia>=40) { printf("nWah, Anda sudah cukup tua"); printf("nJangan makan makanan yang banyak mengandung kolesterol"); printf("nTidak baik untuk kesehatan Anda"); } getche(); } 4. Buatlah program seperti dibawah ini dan simpan dengan nama Con33.C. /* struktur if else yang terdiri dari sebuah perintah */ main() { char jawab; printf(“nanda mau ikut ujian hari ini ? ”); jawab=getche(); if(jawab==’Y’ | | jawab==’Y’) printf(“nCepat datang ke auditorium”); else printf(“nTetap kuliah”); getche(); } 5. Buatlah program seperti dibawah ini dan simpan dengan nama Con34.C. Kemudian isikanlah angka 30 dan tuliskan hasilnya pada lembar kerja, coba pula untuk angka 60.
  • 45.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  44     /* Penggunaan nested if */ main() { int umur; clrscr(); printf(‘’nBerpakah usia Anda ? : ‘’); scanf(‘’%d’’,&umur); if (umur<50) if (umur>21) printf(‘’nAnda sudah dewasa’’); else printf(“nAnda sudah tua“); getche(); } 6. Buatlah program seperti dibawah ini dan simpan dengan nama Con35.C. Saat program dijalankan cobalah dengan mengisikan angka 60, 30 dan 15 secara bergantian saat ada pertanyaan Berapakah usia anda ? . /* Penggunaan nested if */ main() { int umur; clrscr(); printf("nBerapakah usia Anda ? : "); scanf("%d",&umur); if (umur<50) { if (umur>21) printf("nAnda sudah dewasa"); } else printf("nAnda sudah tua"); getche(); } 7. Buatlah program seperti dibawah ini dan simpan dengan nama Con36.C. Saat program dijalankan cobalah dengan mengisikan angka 1, 2, 3, 4, dan 5 secara bergantian saat ada pertanyaan Pilihlah angka antara 1 sampai dengan 5 ? . /* penggunaan switch */ main() {
  • 46.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  45     int bil; printf(“nPilihlah angka antara 1 sampai dengan 5 ? “); scanf(“%d”,&bil); switch(bil) { case 1 : printf(“nanda mengetikkan satu”); break; case 2 : printf(“nanda mengetikkan dua”); break; case 3 : printf(“nanda mengetikkan tiga”); break; case 4 : printf(“nanda mengetikkan empat”); break; case 5 : printf(“nanda mengetikkan lima”); break; default: printf(nanda mengetikkan bilangan yang salah”); } getche(); } 8. Buatlah program seperti dibawah ini dan simpan dengan nama Con37.C. Saat program dijalankan cobalah dengan mengisikan angka 1, 2, 3, 4, dan 5 secara bergantian saat ada pertanyaan Pilihlah angka antara 1 sampai dengan 5 ? . /* penggunaan switch */ main() { int bil; printf(“n Pilihlah angka antara 1 sampai dengan 5 ? “); scanf(“%d”,&bil); switch(bil) { case 1 : printf(“nanda mengetikkan satu”); case 2 : printf(“nanda mengetikkan dua”); case 3 : printf(“nanda mengetikkan tiga”); case 4 : printf(“nanda mengetikkan empat”); case 5 : printf(“nanda mengetikkan lima”); default: printf(nanda mengetikkan bilangan yang salah”); } getche(); } 9. Buatlah program seperti dibawah ini dan simpan dengan nama Con38.C. Saat program dijalankan cobalah dengan menginputkan dengan salah satu bulan dan tahun dan tuliskanlah hasilnya pada lembar kerja. /* menentukan jumlah hari pada bulan tertentu */
  • 47.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  46     main() { int bulan,tahun,hari; clrscr(); /* input bulan dan tahun */ printf(“nninputkan bulan dan tahun (xx-xxxx) “); scanf(“%d-%d”, &bulan,& tahun); if (bulan==1) hari=31; else if (bulan==2) { if (tahun % 4 == 0) /* tahun kabisat */ hari=29; else /* tahun biasa */ hari=28; } else if (bulan==3) hari=31; else if (bulan==4) hari=30; else if (bulan==5) hari=31; else if (bulan==6) hari=30; else if (bulan==7) hari=31; else if (bulan==8) hari=31; else if (bulan==9) hari=30; else if (bulan==10) hari=31; else if (bulan==11) hari=30; else if (bulan==12) hari=31; else printf(“nn bulannya ngaco, bos!!!nn”); /* cetak output */ printf(“nnbulan %2d tahun %4d memiliki %d hari “,bulan ,tahun,hari); getche(); } 10. Buatlah program seperti dibawah ini dan simpan dengan nama Con39.C. Saat program dijalankan cobalah dengan menginputkan dengan salah satu bulan dan tahun dan tuliskanlah hasilnya pada lembar kerja.
  • 48.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  47     /* menentukan jumlah hari pada bulan tertentu */ main() { int bulan,tahun,hari; clrscr(); /* input bulan dan tahun */ printf(“nninputkan bulan dan tahun (xx-xxxx) “); scanf(“%d-%d”, &bulan,& tahun); if (bulan<=12) { if (bulan<=7) hari= bulan % 2 == 0 ? 30 : 31 ; else hari=bulan % 2 == 0 ? 30 : 31 ; } else printf(“nn bulannya ngaco bos!!!nn”); if (bulan==2) hari= tahun % 4 == 0 ? 29 : 28 ; /* cetak output */ printf(“nnbulan %2d tahun %4d memiliki %d hari “,bulan,tahun,hari); getche(); } 3.5. Lembar Kerja No Nama File Keluaran
  • 49.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  48     3.6. Pertanyaan dan Tugas 1. Buatlah flowchart dan program untuk menampilkan total pembelian yang harus dibayarkan oleh seorang pelanggan apabila diketahui kondisi berikut ini: Beli=harga barang * jumlah barang Jika jumlah barang > 100 maka discount = beli*15% Jika tidak discount = beli*5% Dimana Total bayar = beli - discount 2. Buatlah flowchart dan program untuk membantu menyelesaikan persoalan pada sebuah developer menjual dua tipe rumah,Tipe A dengan harga tanah 40000 dan harga bangunan 150000,sedamgkan Tipe B dijual dengan harga tanah 50000 dan harga bangunan 200000. Sebagai input: luas tanah, luas bangunan, tipe Sebagai output: harga tanah, harga bangunan, harga total Ketentuan tentang variable-variabel yang digunakan: Variable untuk nama variable tipe Luas tanah luas_tanah float Luas bangunan luas_bang float Harga satuan tanah harga_sat_tnh float Harga satuan bang. harga_sat_bang float Harga tanah harga_tnh float Harga bangunan harga_bang float Harga total harga_total float Tipe tipe char 3. Buatlah flowchart dan program untuk menyelesaikan permasalahan pada PT POLINOS yang memberikan komisi kepada para salesmannya dengan ketentuan sebagai berikut: a. Bila seorang salesman dapat menjual menjual barang hingga Rp.200.000,- dia akan mendapat uang jasa sebesar Rp.10.000,- ditambah dengan uang komisi sebesar 10% dari pendapatan yan diperoleh hari itu.
  • 50.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  49     b. Bila seorang salesman menjual barang diatas Rp.200.000,- hingga Rp.500.000,- maka uang jasa yang diterima sebesar Rp.20.000,- ditambah dengan 15% dari pendapatan yang dieroleh. c. Bila seorang salesman menjual barang di atas Rp.500.000,- maka uang jasa yang diperoleh sebesar Rp.30.000,- ditambah dengan 20% dari pendapatan yang didapat. Sebagai input: Pendapatan Sebagai output: Uang jasa, Komisi, Total uang Ketentuan-ketentuan variable yang digunakan: Variabel untuk nama variable tipe Pendapatan p_dptan float Uang jasa jasa float Komisi komisi float Total Uang total float 4. Buatlah flowchart dan program untuk mengkonversikan nilai angka menjadi nilai huruf akan dibuat berdasarkan ketentuan sebagai berikut: Nilai Angka Nilai huruf <50 E 50-59 D 60-69 C 70-84 B 85-100 A Sebagai input: Nilai Angka Sebagai Output: Nilai Huruf Ketentuan variable Variable untuk nama variable tipe Nilai Angka angka float Nilai Huruf huruf char 5. Buatlah program dalam bentuk menu yang mampu menghitung: a. Luas dan Keliling bujur sangkar b. Luas dan keliling persegi panjang c. Luas dan keliling lingkaran
  • 51.   Pr Algoritma dan Pemrograman I   Jobsheet  3:  Percabangan  Bersyarat   Page  50    
  • 52.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      51     JOBSHEET 4 PERULANGAN (LOOPING) 5.1 Tujuan Instruksional Khusus 1. Mahasiswa dapat membuat program menggunakan perulangan for, while dan do..while. 2. Mahasiswa dapat membuat program menggunakan perulangan didalam perulangan atau perulangan bersarang (nested loop). 5.2 Pendahuluan Proses pengulangan hampir selalu dapat dijumpai dalam berbagai baik yang bersifat teknik maupun masalah-masalah umum . Dalam Turbo C, proses pengulangan ini dimungkinkan dengan disediakannya berbagai perintah loop, dimana setiap perintah loop memiliki keunikannya sendiri. Suatu proses pengulangan yang kurang cocok diselesaikan dengan sebuah perintah loop, mungkin akan sangat tepat diselesaikan dengan perintah loop yang lain. Jadi sangat penting untuk memilih perintah loop yang tepat dalam menyelesaikan suatu masalah pengulangan untuk memperoleh program yang seefektif mungkin. 5.2.1 Pengulangan dengan for Perintah pengulangan pertama yang akan kita pelajari adalah for. Bentuk umum pernyataan for adalah sebagai berikut: for( inisialisasi; syarat pengulangan; perubah nilai pencacah) pernyataan/perintah ; Bila jumlah pernyataan atau perintah di dalam for lebih dari satu, maka pernyataan- pernyataan atau perintah-perintah tersebut harus diletakkan di antara tanda kurung. for(inisialisasi; syarat pengulangan; perubah nilai pencacah ) { Pernyataan / perintah ; Pernyataan / perintah ; Pernyataan / perintah ; }
  • 53.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      52     Argumen dari pernyataan for terdiri dari tiga bagian yaitu: Inisialisasi, syarat pengulangan, dan perubah nilai pencacah, dimana setiap bagian ini dipisahkan dengan titik koma (:). Inisialisasi merupakan bagian untuk memberikan nilai awal bagi variabel-variabel tertentu, terutama bagi variabel pencacah. Pemberian ( nilai ini hanya dilakukan sekali saja yaitu pada waktu pengulangan mulai dilaksanakan, selama proses pengulangan Inisialisasi tidak akan dllakukan lagi. Untuk contoh- contoh di awal pembahasan, Inisialisasi hanya akan dilakukan bagi variabel pencacah saja, namun pada contoh-contoh lebih lanjut inisialisasi tidak hanya akan dibatasi pada variabel pencacah saja, namun juga variabel-variabel lain yang membutuhkannya. Syarat pengulangan memegang kontrol terhadap pengulangan. karena bagian inilah yang akan menentukan apakah pengulangan masih harus terus dilaksanakan ataukah harus dihentikan. Pengulangan akan dilakukan selama syarat ini dipenuhi, dan bila syarat tersebut sudah tidak dipenuhi lagi, maka pengulangan akan dihentikan. Syarat Pengulangan dapat berupa ekspresi relasional ataupun ekspresi logik. Perubah nilai pencacah, sesuai dengan namanya. akan mengatur perubahan nilai variabel pencacah. Sifat perubahan nilai ini dapat berupa kenalkan ataupun penurunan nilai pencacah. Perubah nilai pencacah dapat dinyatakan dalam bentuk ekspresi ataupun dalam bentuk variable. Ketiga bagian ini tidak harus selalu berhubungan satu sama lain, dalam arti bahwa penggunaan variabel pada setiap bagian tidak perlu sama misalnya pada bagian Inisialisasi, kita memberi nilai awal pada variabel pencacah, pada bagian syarat pengulangan, syarat yang diberikan tidak harus berdasarkan variabel pencacah. 5.2.2 Pengulangan dengan while Pengulangan dengan while merupakan suatu bentuk pengulangan yang mirip dengan for, namun dengan bentuk yang lebih sederhana. Pernyataan while ini merupakan pengulangan yang dikendalikan oleh suatu syarat tertentu, dalam arti pengulangan akan terus dilaksanakan selama syarat tersebut dipenuhi, dan akan dihentikan bila syarat tersebut sudah tidak dipenuhi lagi. Syarat pengulangan dapat berupa ekspresi relasional atau ekspresi logik. Bentuk umum dari perintah ini: inisialisasi ; while(syarat)
  • 54.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      53     { pernyataan/perintah; pernyataan/perintah; …………………….. ; perubahan nilai ; } 5.2.3 Perulangan dengan do..while Pengulangan dengan do while merupakan kebalikan dari pengulangan dengan while ataupun for. Bila dalam while dan for pemeriksaan terhadap syarat pengulangan dilakukan dl awal loop, pada pengulangan do while pemeriksaan terhadap syarat ini dilakukan di akhir pengulangan. Bentuk umum pernyataan ini adalah: inisialisasi ; do { perintah/pemyataan; perintah/pemyataan; ………………… ; perubahan nilai; } while (Syarat perulangan); 5.2.4 Perulangan bersarang (Nested Loop) Di dalam pernyataan for boleh terdapat for yang lain, bentuk yang demikian disebut sebagai nested for. Bentuk format dari perulangan ini adalah sbb.: for(inisialisasi; syarat; perubahan nilai) { for(inisialisasi; syarat; perubahan nilai) { pernyataan / perintah; pernyataan / perintah; } } 5.3 Peralatan 1. 1 set computer 2. Software turbo C 5.4 Langkah Kerja
  • 55.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      54     1. Buatlah program seperti dibawah ini dan simpan dengan nama Con51, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. main() { int bil,total=0; clrscr(); /* Cetak Judul */ printf("nN Total “); for(bi1=1 ;bil<=10;bil++) { Total += bil; printf("n%d %d”, bil, total ); } printf ("nNilai N setelah keluar dari Loop : %d “, bil); getche(); } 2. Buatlah program seperti dibawah ini dan simpan dengan nama Con52, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. main() { int bil, total = 0; clrscr(); /* cetak judul */ printf("nN Total"); for(bil=10;bil<=10;++bil) { total+=bil; printf("n%d %d", bill, total); } printf("nNilai N setelah keluar dari Loop : %d”, bil); getche(); } 3. Buatlah program seperti dibawah ini dan simpan dengan nama Con53, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Mencetak bilangan genap di antara 1 hingga 10 */ main() { int bil; clrscr; for(bil=20; bil<=30; bil+=2);
  • 56.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      55     { printf (“%d “, bil, total); } printf(“nNilai N setelah keluar dari Loop : %d”, bil); getche(); } 4. Buatlah program seperti dibawah ini dan simpan dengan nama Con54, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Mencari rata-rata dari sejumlah bilangan */ main() { int i, n; /* n adalah jumlah bilangan */ float bil, rerata, total=0; /* bil adalah bilangan yg akan dimasukkan */ printf (“nJumlah bilangan : “); scanf (“%d”,&n); for (i=1;i<=n; i++) { printf (“Bilangan ke %d : “,i); scanf (“%f”,&bil); total +=bil; } rerata= total /n; printf (“nRata-rata bilangan tersebut : %8.3f “, rerata); getche(); } 5. Buatlah program seperti dibawah ini dan simpan dengan nama Con55, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Mencari rata-rata dari sejumlah bilangan positif */ main() { int i; float bil, rerata, total=0; for (i=1; i<=5 ; i++) { printf("Bilangan ke %d : “, i); scanf("%f",&bil); total+=bi1; } rerata=tota1/(i-2); printf("Rata-rata bilangan tersebut : %8.3f”, rerata); getche(); }
  • 57.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      56     6. Buatlah program seperti dibawah ini dan simpan dengan nama Con56, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. main() { char kar; clrscr (); for (kar=’Z';kar>='A’; kar-=2) printf("%c ", kar); getche(); } 7. Buatlah program seperti dibawah ini dan simpan dengan nama Con57, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* memasukkan data karakter */ main(); { char kar; printf(“nProgram pengulangan tak berhingga”); for ( ; ; ) { printf(“nnKetikkan satu karakter : “); kar=getche(); if (kar==’q’) { pritf(?nYachhh!! Benar sekali ?); break; } printf (“nMaaf, anda salah mengetikkan karakter “); printf (“nCoba kembali, jangan putus asa “); } getche(); } 8. Buatlah program seperti dibawah ini dan simpan dengan nama Con58, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Mencetak matriks */ main() { int n,i, j,elemen; clrscr(); printf("nDimensi Matriks : “); scanf (“%d”, &n); printf(“nn”);
  • 58.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      57     for(i=1; i<=n; i++) { printf(“n”); for (j=1; j<=n; j++) { elemen = i== j ? 1 : 0; printf(“t%d”, elemen) ; } } getche(); } 9. Buatlah program seperti dibawah ini dan simpan dengan nama Con59, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Progran Memilih suatu bilangan dengan do while */ main() { int bil; clrscr(); printf(“nProgram memilih suatu bilangan"); printf("nInputkan sebuah bilangan bulat"); scanf("%d",&bil); do { printf("nAnda mengetikkan bilangan yang salah"); printf("nCoba lagi : "); scanf("%d",&bil); } while(bil!=0); printf{"nBenar Sekali, Anda hebat !!!!"); getche(); } 10. Buatlah program seperti dibawah ini dan simpan dengan nama Con510, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Penggunaan break */ main() { int i; clrscr(); for(i=1;i<=10;i++) { if(i==6) break;
  • 59.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      58     pritf("%5d",i); } printf(“nAkhir pengulangan”); getche(); } 11. Buatlah program seperti dibawah ini dan simpan dengan nama Con511, kemudian lakukanlah compile dan run, catat hasilnya pada lembar kerja yang tersedia. /* Penggunaan continue */ main() { int i; clrscr(); for(i=1;i<=10;i++) { if(i==6) continue; printf("%5d”,i); } printf("nAkhir pengulangan"); getche(); } 5.5 Lembar Kerja No Nama File Keluaran 1 2 3 4 5 6 7 8 9
  • 60.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      59     10 11 5.6 Pertanyaan dan Tugas 1. Buatlah flowchart dan program untuk menghitung total bilangan ganjil dari 10 sampai dengan 20 ?. 2. Buatlah program untuk menghitung total bilangan genap dari 10 sampai dengan 20 ?. 3. Buatlah flowchart dan program untuk menghitung total bilangan bulat kelipatan 3 yang berkisar dari 0 sampai dengan 20. (Buatlah kenaikan pencacahnya=3, dan nilai awalnya dimulai dengan 0) ?. 4. PT Polinos memberi komisi salesmannya berdasarkan ketentuan sebagai berikut: Bila salesman berhasil menjual barang hingga 500.000 maka akan mendapat komisi sebesar 10%. Bila lebih dari 500.000, untuk 500.000 pertama komisinya 10% sedangkan sisanya mendapat 15%. Bila perusahaan tersebut memiliki 5 orang salesman, tentu komisi yang diterima oleh setiap salesmannya, serta total komisi yang telah dibayarkan oleh PT Polinos kepada ke 5 salesman tadi. Input: Hasil penjualan / salesman Output: Komisi setiap salesman Total komisi yang dibayarkan PT Polinos. 5. Buatlah flowchart dan program dalam bentuk menu yang tampilannya seperti berikut: MENU KONVERSI [1] Bahan Bakar Minyak [2] Mata Uang [3] Suhu [4] Keluar Dengan ketentuan sebagai berikut:
  • 61.   Pemrograman Komputer I   Jobsheet  4:  Perulangan  (Looping)   Halaman      60     a. BBM meliputi premium, solar dan pertamax, ditampilkan untuk pembelian dari 1 liter hingga 10 liter dengan kenaikan 1. Harga BBM ditentukan sesuai dengan harga saat ini. b. Mata Uang meliputi Rupiah, Yen dan Dollar. Tampilkan konversi rupiah dari 1000 hinga 10000 dengan kenaikan 500. Nilai kurs mata uang yen dan dollar ditentukan sesuai dengan kurs saat ini. c. Suhu meliputi celcius, Fahrenheit dan Reamur. Tampilan konversi suhu dalam celcius ke Fahrenheit dan Reamur dari 0 hingga 100 derajad dengan kenaikan 10 derajad ?. d. Keluar dengan menampilkan ucapan “TERIMA KASIH”. e. Bila tidak dipilih menu Keluar maka program tetap menampikan MENU KONVERSI walaupun telah dilakukan pilihan BBM, Mata Uang maupun Suhu.
  • 62.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      61     JOBSHEET 5 Larik (Array) 5.1 Tujuan Instruksional Khusus 1. Mahasiswa mampu membuat program menggunakan array satu dimensi dan algoritma array dua dimensi. 2. Mahasiswa mampu membuat program sortir menggunakan metoda bubble –sort dan quick-sort. 5.2 Pendahuluan Array adalah sekelompok data sejenis,yang disimpan ke dalam variabel dengan nama yang sama, untuk membedakan variabel yang satu dengan yang lainya diberilah indeks. Misalkan ada 10 bilangan yang akan disimpan kedalam variabel bil, maka bilangan yang pertama akan disimpan kedalam varibel bil[0],bilangan kedua akan disimpan kedalamvariabel bil[1], bilangan ketiga akan disimpan kedalam variabel [2], dan seterusnya. Penulisan [0], [1], [2], [3],dan seterusnya disebut sebagai indeks dari variabel bil. 5.2.1 Variabel Array Struktur variabel array satu dimensi dituliskan sebagai: Nama_variabel [indeks] Ketentuan mengenai nama variabel array sama dengan nama variabel biasa, sedangkan indeks menunjukkan nomor dari variabel tadi. Array dapat berdimensi lebih dari satu, misalnya dua, tiga, dan seterusnya. Untuk array berdimensi dua,variabelnya dituliskan: Nama_variabel[indeks_1][indeks_2]. Indeks_1 menunjukkan baris, sedangkan indeks_2 menunjukkan kolom
  • 63.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      62     5.2.2 Deklarasi Variabel Array Sebelum digunakan,variabel array perlu dideklarasikan terlebih dahulu. Cara mendeklarasikan variabel array sama dengan variabel biasa, hanya disini diikuti oleh suatu indeks yang menunjukkan jumlah maksimum variabel yang akan disediakan. Bentuk umum deklarasi variabel array: Tipe nama_variabel[indeks]: Sebagai contoh,kita akan mempersiapkan variabel array dengan nama bil yang akan menampung 10 data yang bertype float: float bil [10]: Indeks 10 menunjukkan bahwa variabel bil akan terdiri dari 10 buah elemen, dimana setiap elemen akan menampung sebuah data. Elemen array akan diberi nomor secara berurutan mulai dari nol(0) hingga sejumlah data tadi. Jadi bila pada deklarasi ditentukan: float bil[10]: Berarti ke 10 elemen variabel bil akan diurutkan sebagai berikut: Elemen pertama adalah bil[0] Elemen kedua adalah bil[1] Elemen ketiga adalah bil[2] ………………………… ………………………... Elemen kesepuluh adalah bil[9] Karena indeks array dimulai dari nol (0), sedangkan nomor elemen biasanya dimulai dari satu (1), maka ada selisih satu antara nomor elemen dan nomor indeks.
  • 64.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      63     Nomor elemen dapat dibuat sama dengan nomor indeks.untuk mempermudah pembuatan program yaitu dengan memberi indeks satu lebih banyak dari jumlah data yang dibutuhkan karena elemen dengan indeks nol tidak akan digunakan. Sebagai contoh untuk deklarasi array dengan 10 bilangan,akan menjadi: float bil [11]; Dengan bil[0] tidak digunakan .sehingga: Elemen pertama adalah bil[1] Elemen kedua adalah bil[2] dst.............hingga Elemen ke sepuluh adalah bil[10] Tetapi apakah hal ini diperlukan? jawabannya saya serahkan kepada anda masing- masing. Yang harus diingat, yaitu bila variabel array yang digunakan sudah lebih dari satu jenis, maka maka variabel yang dikorbankan bukan hanya satu lagi, tetapi sejumlah array yang ada, karena semua elemen ke nol dari masing-masing array tidak akan digunakan. Contoh lain adalah cara untuk mendeklarasikan variabel array kar yang akan menampung 4 buah karakter. char kar [4];
  • 65.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      64     Keempat elemen variabel array ini adalah : kar[1],kar[2],dan kar[3]. Contoh yang berikutnya,kita akan mendeklarasikan variabel array nomor yang akan menampung 5 data integer: int nomor[5]; Dengan elemen-elemen array nomor [0], nomor [1], nomor [2], nomor [3] dan nomor [4]. Deklarasi variabel array dapat dilakukan baik didalam suatu fungsi, maupun diluar fungsi-fungsi yang ada.jika deklarasi dilakukan didalam suatu fungsi,maka variabel array ini akan bersifat lokal yang hanya akan dikenal oleh fungsi tersebut.sebaiknya bila deklarasi dilakukan diluar fungsi,maka variabel array ini akan bersifat global,yang akan dikenal oleh beberapa atau seluruh fungsi. 5.2.3 Inisialisasi Array Satu Dimensi Bila diperlukan,variabel array dapat juga diberi nilai awal (inisialisasi). Inisialisasi dapat dilakukan bersama dengan deklarasi atau tersendiri. Cara menginisialisasi suatu array adalah dengan meletakkan elemen-elemen array diantara tanda kurung kurawal seperti: int bil[5] = {0,1,3,5,2}; Dan diantara elemen yang satu dengan yang lainnya dipisahkan dengan koma. Contoh inisialisasi di atas menyatakan bahwa: Bil[0]=0 Bil[1]=1 Bil[2]=3 Bil[3]=5 Bil[4]=2 Sedangkan cara yang kedua yaitu dengan mendefinisikan array tadi sebagai static array. Static array adalah suatu array yang diinisilisasikan didalam suatu fungsi dan bersifat seperti variable local, artinya array ini hanya dikenal oleh fungsi yang bersangkutan, tidak oleh fungsi-fungsi yang lain.sama halnya dengan external array atau global,nilai yang dimiliki oleh elemen-elemen static array masih tetap akan tersimpan didalam memori meskipun program dihentikan,jadi nilai-nilai tersebut tidak
  • 66.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      65     hilang sehingga masih dapat digunakan oleh program yang lain. Cara mendeklarasikan static array yaitu dengan menambahkan kata static didepan tipe variable atau type specifier seperti: static int bil[5]={0,0,0,0,0}; apakah keuntungan lain menggunakan global static array dibandingkan dengan automatic array. Pada automatic array yang tidak diinisialisasi, elemen-elemen array tersebut akan memiliki nilai yang tidak beraturan. 5.2.4 Array Dua Dimensi Struktur array dua dimensi memiliki dua macam indeks yang dituliskan seperti berikut ini: Nama_variabel [indeks1] [indeks2] Indeks1 menunjukkan jumlah atau nomor baris, sedangkan indeks2 menunjukkan jumlah atau nomor kolom Jumlah elemen yang dimiliki oleh array dua dimensi dapat ditentukan dari hasil perkalian Indeks1 * Indeks2. Misalkan: array A[2][3] akan memiliki 2 * 3 = 6 elemen, B[7][8] akan memiliki 7 * 8 = 56 elemen. Penanganan terhadap array dua dimensi mirip sekali dengan array satu dimensi. Pertama, akan diberikan contoh menginisialisasi array dua dimensi:
  • 67.   Permrograman Komputer I   Jobsheet  5:  Larik  (Array)                                                                                                                                                                                                                       Halaman      66     atau dapat pula dituliskan dengan # define: Selanjutnya adalah contoh menginisialisasi array dua dimensi: Keluaran dari contoh di atas adalah sbb,: elemen bil [0] [0] adalah 1.1 elemen bil [0] [1] adalah 1.2 elemen bil [0] [2] adalah 1.3 elemen bil [0] [3] adalah 1.4 elemen bil [0] [4] adalah 1.5 elemen bil [1] [0] adalah 2.1 elemen bil [1] [1] adalah 2.2 elemen bil [1] [2] adalah 2.3 elemen bil [1] [3] adalah 2.4 elemen bil [1] [4] adalah 2.5 dst ……… 6.2.5 Mengurutkan Array Proses lain yang cukup penting dipelajari adalah menngurutkan array. Sebenarnya cukkup banyak metode untuk mengurutkan aray ini, namun pada kesempatan ini hanya dua metode saja yang akan dibahas, yaitu bubble sort dan quick sort. Bubble sort dipillih karena metode ini memiliki metode yang mudah dipelajari, Sedangkan