Pertemuan 2
OPERASI DATA DASAR &
STRUKTUR KONDISI
DASAR PEMROGRAMAN
TI-IF10401 GANJIL REGULER TA. 2017/2018
Tugas 1
TUGAS #1
• Masalah
Buat algoritme mencetak hasil perhitungan 𝑏 2 − 4𝑎𝑐
• Contoh input (nilai a b c)
234
• Contoh output
-23
Uraian Pemecahan Masalah
TUGAS #1
• Untuk menghitung nilai diskriminan (D),
dibutuhkan tiga buah bilangan bulat (a, b, c)
yang diinputkan oleh user. Kemudian hitung
nilai diskriminan dengan rumus 𝑏 2 − 4𝑎𝑐 dan
hasilnya disimpan pada variabel D. Setelah
dihitung, selanjutnya mencetak nilai D.
Algoritme (Pseudocode)
TUGAS #1
// mencetak nilai diskriminan
procedure Diskriminan {
read(a,b,c);
D = b*b-4*a*c;
print(D);
}
Algoritme (Flowchart)
TUGAS #1
Start
read (a,b,c)
D = b*b-4*a*c
print(D)
End
TUGAS #2
• Masalah
Buat algoritme mencetak bilangan bulat ganjil dari 1 sampai
dengan n
• Contoh input
8
• Contoh output
1
3
5
7
Uraian Pemecahan Masalah
TUGAS #2
• Untuk mencetak bilangan ganjil 1 sampai dengan
n, idenya sama seperti mencetak bilangan bulat 1
sampai dengan n. Namun ada proses tambahan
yakni pengecekkan apakah bilangan tersebut
ganjil atau bukan. Suatu nilai (menggunakan
variabel counter c) dikatakan bilangan ganjil jika
hasil sisa bagi dengan 2 adalah 1. Jika nilai
tersebut bilangan ganjil, maka cetak nilai c.
Proses ini dilakukan terus menerus selama (while)
c kurang dari n.
Algoritme (Pseudocode) TUGAS #2
// Mencetak bilangan ganjil 1 sampai dengan n
procedure print_ganjil_N {
read(n); // sampai bilangan berapa?
c = 1; // insialisasi
while (c<n) { // selama c kurang dari n
if(c%2==1) //cek apakah c bilangan ganjil
print(c);
c=c+1; //nilai c sebelumnya ditambah 1
}
}
Algoritme (Flowchart) TUGAS #2
Start
read (n)
c=0
false
End c<n
true
c mod 2
==1
false true
print(c)
c = c+1
TUGAS #3
• Masalah
Buat algoritme mencetak bilangan bulat dari n sampai
dengan 1
• Contoh input
4
• Contoh output
4
3
2
1
Uraian Pemecahan Masalah
TUGAS#3
• Untuk mencetak bilangan bulat dari n sampai
dengan 1, pertama kita butuh sebuah input
(read) berupa nilai dari n tersebut. Proses
selanjutnya, kita perlu menghitung mundur
sebanyak 1 untuk nilai n. Proses ini dilakukan
berulang selama (while) nilai n tersebut lebih
besar dari 0, sambil mencetak (print) nilai dari
n
Algoritme (Pseudocode) TUGAS#3
// Mencetak bilangan bulat n sampai dengan 1
procedure hitung_mundur {
read(n); // sampai bilangan berapa?
while (n>0) { // selama n lebih besar dari 0
print(n); //cetak nilai n
n = n-1;//nilai n sebelumnya dikurang 1
}
}
Algoritme (Flowchart) TUGAS#3
Start
read (n)
false
End n>0
true
print (n)
n = n-1
Silakan nyalakan komputer Anda
Buka “GEANY”
Struktur Program C
#Contoh 1
/* Program hello.c */
#include <stdio.h>
int main()
{
printf("HELLO\n"); // print
return 0;
}
Struktur Program C
#Contoh 2
/* Program jumlah */
#include <stdio.h>
int main()
{
int a, b, jumlah;
scanf("%d %d", &a, &b);
jumlah=a+b;
printf("%d\n", jumlah); // print
return 0;
}
Data
• Setiap program umumnya mempunyai data, dan setiap
data memiliki tipe tertentu.
• Suatu nilai data di dalam program dituliskan dalam
bentuk literal constant (literal: hanya berupa nilai,
constant: tidak berubah).
• Setiap literal mempunyai tipe, misalnya: 3 bertipe
integer, 4.15 bertipe floating point.
• Nilai literal bersifat nonaddressable, yaitu tidak
memiliki alamat dalam memori komputer.
Literal Constant
• Literal integer constant – bilangan bulat
– Desimal : 24, 103, -5, …
– Oktal : 024, 0103, …
– Heksadesimal : 0X24, 0X103, …
• Literal floating point constant – bilangan riil
– Desimal floating point : 3.14, -90.254, …
– Eksponensial : 1.0E-3
• Literal character constant – kode ASCII
– Printable character : '', 'a', '4', '0', '*', …
– Escape sequence : '\n', '\t', '\r', '\0', '\a', '\\', '\"'
• Literal string constant – beberapa character
– Contoh : “upnvj", "", "5", "a", "HELLO\n",…
Tipe data
Tipe data Range Keyword
Char or Signed Char -128 to 127 char
Unsigned Char 0 to 255 unsigned char
Int or Signed int -32768 to 32767 int
Unsigned int 0 to 65535 unsigned
Short int or Signed short int -128 to 127 short
Unsigned short int 0 to 255 unsigned short
Long int or signed long int -2147483648 to 2147483647 long int
Unsigned long int 0 to 4294967295 unsigned long int
Float 3.4 e-38 to 3.4 e+38 float
Double 1.7e-308 to 1.7e+308 double
Long Double 3.4 e-4932 to 3.4 e+4932 long double
Variabel
• Literal constant disimpan ke dalam suatu variabel, agar dapat
diakses di dalam program.
• Variabel merupakan suatu identifier, suatu identitas yang dibuat
sendiri dengan aturan:
– Terdiri atas satu atau lebih karakter
– Dimulai dengan huruf, dan dapat diikuti oleh alphanumeric atau
underscore (_)
– Dapat dimulai dengan underscore, tetapi umumnya digunakan oleh
library C
• Contoh penamaan identifier:
– Benar : n, x1, jumNegatif, …
– Salah : 1x, jumlah bilangan, …
Deklarasi Variabel
• Setiap variabel yang digunakan dalam program C harus
dideklarasikan dengan menentukan tipe variabel yang
bersangkutan.
• Tipe variabel menunjukkan tipe data yang yang disimpan.
• Format:
keyword v1, v2, ..., vn;
• Contoh:
int jumlah;
int n, tahun;
double rataan, tinggiBadan;
Format untuk output dan input
Tipe data Format input Format input
Char or Signed Char or Unsigned Char %c %c
Int or Signed int %d %d
Unsigned int %u %u
Short int or Signed short int %hd %hd %hd
Unsigned short int %hu %hu
Long int or signed long int %ld %ld
Unsigned long int %lu %lu
Float %f %f
Double %lf %f
Long Double %Lf %Lf
Inisialisasi
Mendeklarasikan variabel tertentu sekaligus mengisi nilai awal
dari variabel tersebut.
Contoh :
#include <stdio.h>
int main(){
//inisialisasi nilai
int a = 5, b= 10;
return 0;
}
Menuliskan output : printf
• Format:
printf(ekspresi);
printf(“format”, ekspresi);
Kondisi Kondisi
? ?
Statement
Statement Statement
Pernyataan IF:
Contoh #1
#include <stdio.h> Apa output program jika diberi
main(){ input 5 20 ?
return 0;
}
Chained Conditional
• Struktur seleksi if yang
bercabang dengan
banyak kondisi
• Contoh, berapa nilai b
jika diberikan masukan
12?
Chained Conditional
if (x < y)
printf("x is less than y");
else if (x > y)
printf("x is greater than y");
else
printf("x and y must be
equal");
Latihan #1
• Identifikasi dan perbaiki error yang terjadi
pada potongan program berikut:
– scanf(“%.4f”, &value);
– if (gender == 1)
puts (“Woman”)
else;
puts (“Man”);
Latihan #2
Menghitung berat benih jagung
• Pak Dengklek memiliki kebun jagung berbentuk segiempat dengan
panjang dan lebar dalam satuan meter dan selalu berupa bilangan
bulat. Jagung akan ditanam dengan jarak tanam masing-masing 0.5
meter membentuk segiempat. Jagung selalu ditanam 1 meter dari
batas pinggir kebun, tidak pernah ditanam dibatas pinggirannya. Di
setiap lubang tanam, selalu dimasukkan 2 biji benih jagung. Setiap
benih memiliki berat yang sama, yakni 0.15 gram.
• Bantulah Pak Dengklek menghitung berapa berat benih jagung yang
dibutuhkan, dengan membuat sebuah program C. Berat dituliskan
dalam satuan gram dengan dua digit di belakang koma.
Latihan #2
Menghitung berat benih jagung
• Contoh : jika panjang dan lebar kebun adalah
4 m dan 3 m, maka dibutuhkan benih jagung
seberat 4.50 gram (15 x 2 x 0.15)
3m
4m
Latihan #2
Menghitung berat benih jagung
• Contoh : jika panjang dan lebar kebun adalah
4 m dan 3 m, maka dibutuhkan benih jagung
seberat 4.50 gram (15 x 2 x 0.15)
3m
4m
Latihan #2
Menghitung berat benih jagung
• Format Masukan :
Masukkan berupa dua buah bilangan bulat yang
menunjukkan nilai panjang dan lebar kebun
• Format Keluaran :
Sebuah bilangan pecahan (dua angka belakang
koma) yang merupakan berat benih jagung. Output
program selalu diakhiri dengan newline
Latihan #2
Menghitung berat benih jagung
• Contoh Masukan : • Contoh Masukan :
43 52
• Format Keluaran : • Format Keluaran :
4.50 2.10
Latihan #2
Menghitung berat benih jagung
/* Program menghitung berat jagung*/
#include <stdio.h>
int main()
{
int p, l, n_lubang;
float berat_benih;
scanf("%d %d", &p, &l);
n_lubang = (((p-2) * 2) + 1)*(((l-2) * 2) + 1);
berat_benih = n_lubang * 2 * 0.15;
printf("%.2f\n", berat_benih);
return 0;
}
Tugas 2 #1
Aritmatika, Nilai Terbesar, dan Nilai Terkecil
• Buatlah sebuah program C yang terdiri dari 3
input bilangan bulat yang berbeda, kemudian
cetak nilai-nilai berikut :
– Jumlah
– Rata-rata
– Hasil kali
– Nilai terbesar
– Nilai terkecil
Tugas 2#2
Body Mass Index Calculator
Buku Deitel “How to Program C”
Exercise 2.32 halaman 68
Tugas 2
• Tugas dikumpulkan melalui e-learning
selambatnya Kamis, 14 September 2017, pukul
23.55 WIB.
• Mohon perhatikan format fail.
• Tugas dikumpulkan dalam bentuk rar/zip yang
berisi 2 fail program C untuk setiap soal.
• Penamaan rar/zip sbb: "Tugas2_A/B_NIM_Nama"