Praktikum 3 1. Listing Program
Percobaan 1 Mencetak kalimat “Hello World!” dalam satu baris #include main() { printf("\"Hello World!\"\n"); }
Percobaan 2
Mencetak kalimat dalam beberapa baris #include main() { printf("Hello...\n"); printf("..oh my\n"); printf("...when do i stop\n\n"); printf("1\n"); printf("..2\n"); printf("...3\n"); }
Percobaan 3
Menghitung penjumlahan 1024 + 4096 dan mencetak hasilnya #include main() { printf("1024 + 4096 = %d\n", 1024 + 4096); }
Percobaan 4
Mengisi nilai 2 variabel int, menjumlahkan kedua isi variabel tersebut dan mencetak hasilnya. #include main() { int a, b, c; printf("Masukkan printf("Masukkan nilai pertama : "); scanf("%d", &a); printf("Masukkan printf("Masukkan nilai kedua : "); scanf("%d", &b); c = a + b; printf("%d + %d = %d\n", , b, c); }
Didik Ismawanto/7412030021/1 D3 IT A
1
Percobaan 5
Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50 dan mencetak hasilnya #include main() { float a, b; printf("Masukkan sebuah bilangan float : "); scanf("%f", &a); b = a * 50; printf("hasil dari %f * 50 = %f\n", a, b); }
Percobaan 6
Menampilkan nilai sebuah bilangan float dengan tanpa menentukan format tampilannya (default) #include main() { float a; printf("Masukkan sebuah bilangan float : "); scanf("%f", &a); printf("Bilangan yang anda masukkan adalah %f\n", a); }
Percobaan 7
Menampilkan nilai sebuah bilangan float dengan format : lebar medan 10 digit dan 2 digit di belakang koma #include main() { float a; printf("Masukkan sebuah bilangan float : "); scanf("%f", &a); printf("Bilangan yang anda masukkan adalah %10.2f\n", a);
Percobaan 8
Menerima masukan dengan format int dan char kemudian menampilkannya kembali dengan format yg sesuai
Didik Ismawanto/7412030021/1 D3 IT A
2
#include main() { int a; char b; printf("Masukkan sebuah bilangan int : "); scanf("%d", &a); printf("Masukkan sebuah karakter : "); scanf("\n%c", &b); printf("Bilangan int yang anda masukkan : %d\n", a); printf("Karakter yang anda masukkan : %c\n", b);
2. Kerjakan soal-soal di bawah ini
a. Berapakah nilai jawaban yang ditampilkan oleh program dibawah ini : main() { int jawab, hasil; jawab = 100; hasil = jawab - 10; printf("jawabannya adalah %d\n", hasil + 6); }
Analisa data : Hasil akhir adalah 96, karena diperoleh dari 100 - 1 + 6. b. Apakah keluaran dari potongan program di bawah ini main() { int value1, value2, sum; value1 = 35; value2 = 18; sum = value1 + value2; printf("The sum of %d and %d is %d\n", value1, value2, sum); }
Didik Ismawanto/7412030021/1 D3 IT A
3
Analisa data : Output yang dihasilkan adalah 53 yang dihasilkan dari 35 + 18. c. Program dibawah ini tidak berhasil dicompile karena masih terdapat beberapa kesalahan. Temukan paling sedikit 6 kesalahannya. Selanjutnya tampilkan keluaran, setelah program ini berhasil dijalankan. main () { INT jumlah; /* PERHITUNGAN HASIL jumlah = 25 + 37 - 19; /*TAMPILKAN HASIL printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n); printf("Jawabannya adalah %d\n" jumlah); }
Analisa data : Program tidak bisa dijalankan karena terdapat beberapa kesalahan, diantaranya : INT, di bahasa pemrograman c huruf besar dan kecil dibedakan (case sensitive), sehingga harus diganti menjadi int. /* PERHITUNGAN HASIL, untuk komentar harus ditutup dengan (*/). /*TAMPILKAN HASIL, untuk komentar harus ditutup dengan (*/). printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n);, harus diberi petik dua penutup setelah (\n). printf("Jawabannya adalah %d\n" jumlah); harus diberi tanda koma (,) setelah petik penutup. Jika semua sudah benar maka program bisa dijalankan dan akan menghasilkan output 43, seperti gambar di bawah ini
d. Buatlah program yang menerima masukan dua buah bilangan. Tampilkan keluaran berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang dimasukkan.
Didik Ismawanto/7412030021/1 D3 IT A
4
#include main() { int a, b; printf("Masukkan bilangan pertama : "); scanf("%d", &a); printf("Masukkan bilangan kedua : "); scanf("%d", &b); printf("Hasil penjumlahan dari %d dan %d adalah %d\n", a, b, a+b); printf("Rata - rata dari %d dan %d adalah %f\n", a, b, (a+b)/2.0); printf("Kuadrat dari %d adalah %d\n", a, a*a); printf("Kuadrat dari %d adalah %d\n", b, b*b); }
Analisa data : Untuk mendapatkan hasil seperti di atas, terlebih dahulu harus mendeklarasikan variabel dengan tipe int. Kemudian hitung dengan operator aritmatika. e. Program dibawah ini seharusnya menampilkan keluaran satu baris sbb:
C * c = 25, 000000 Namun, belum berhasil karena masih ada beberapa kesalahan. Temukan minimal 3 kesalahan dalam program tersebut. #include main() { float a, b, c; a = 3; b = 4.0; c = a * a + b * b printf("c * c = %d\n", c); }
Terdapat beberapa kesalahan diantaranya : , harusnya dituis . Setelah c = a * a + b * b harus diberi (;). %d di printf("c * c = %d\n", c); harusnya diisi dengan %f karena merupakan tipe data float.
Didik Ismawanto/7412030021/1 D3 IT A
5
3. Kesimpulan
a. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung. b. Variabel yang akan digunakan haruslah dideklarasikan terlebih dahulu, adakalanya langsung dideklarasikan sekaligus diberi nilai (diinisialisasi). c. Untuk menulis kode di bahasa C harus sangat memperhatikan besar kecilnya huruf, karena terdapat peraturan case sensitive. d. Dalam C, suatu komentar ditulis dengan diawali dengan tanda /* dan diakhiri dengan tanda */
Didik Ismawanto/7412030021/1 D3 IT A
6
Praktikum 4.1 1. Listing Program Percobaan 1
Diketahui variabel-variabel sebagai berikut: var_bulat = 32767; var_pecahan1 = 339.2345678f; var_pecahan2 = 3.4567e+40; var_karakter = 'S'; Buat program untuk menampilkan semua variabel di atas. #include main() { int var_bulat = 32767; float var_pecahan1 = 339.2345678f; double var_pecahan2 = 3.4567e+40; char var_karakter = 'S'; printf("var_bulat = %d\n", var_bulat); printf("var_pecahan1 = %f\n", var_pecahan1); printf("var_pecahan2 = %.4e\n", var_pecahan2); printf("var_karakter = %c\n", var_karakter); }
Analisa data : Menampilkan isi dari variabel-variabel dengan tipe data yang berbeda. Berikut adalah format tampilan untuk beberapa tipe data : - %d = tipe data integer. - %f = tipe data float. - %e = tipe data doubele (pecahan eksponensial). - %c = tipe data karakter.
Percobaan 2
a%b a – c a+b a/d a/d*d+a%d a % d / d * a – c
Didik Ismawanto/7412030021/1 D3 IT A
7
#include main() { int a = 12, b = 2, c = 3, d = 4; printf("a printf("a printf("a printf("a printf("a printf("a
%% b = %d\n", a%b); - c = %d\n", a-c); + b = %d\n", a+b); / d = %d\n", a/d); / d * d + a %% d = %d\n", a/d*d+a%d); %% d / d * a - c = %d\n", a%d/d*a-c);
}
Analisa data : Pada percobaan ini program menampilkan rumus – rumus dari macam – macam operator matetmatika : - * = Perkalian - / = Pembagian - % = Sisa hasil bagi - + = Penjumlahan - = Pengurangan
Percobaan 3
Buatlah program untuk menghitung Diskriman dari sebuah persamaan kuadrat dengan nilai a, b dan c yang diinputkan #include main() { int a, b, c, d; printf("--Menghitung Diskriminan--\n"); printf("Masukkan nilai a : "); scanf("%d", &a); printf("Masukkan nilai b : "); scanf("%d", &b); printf("Masukkan nilai c : "); scanf("%d", &c); d = b * b - 4 * a * c; printf("Diskriminan dari %d, %d dan %d adalah %d\n", a, b, c, d); }
Didik Ismawanto/7412030021/1 D3 IT A
8
Analisa data : Pada percobaan ke-3 ini kita membuat program peghitung sebuah diskriminan dengan menginputkan satu persatu nilai yang kita inginkan . Kemudian program akan memproses hasil dari angka yang kita masukkan dengan menggunakan rumus. Menggunakan %d karena tipe data yang digunakan adalah integer.
Percobaan 4.1 (no. 2)
Mengerjakan percobaan 2 dengan mengubah tipe datanya menjadi float. #include #include main() { float a = 12, b = 2, c = 3, d = 4; printf("--Operasi Matematika dengan Tipe Data Float--\n"); printf("a %% b = %f\n", fmod(a,b)); printf("a - c = %f\n", a-c); printf("a + b = %f\n", a+b); printf("a / d = %f\n", a/d); printf("a / d * d + a %% d = %f\n", a/d*d+fmod(a,d)); printf("a %% d / d * a - c = %f\n", fmod(a,d)/d*a-c); }
Analisa data : Jika menggunakan float, tidak bisa menghitung operasi matematika yang kompleks. Maka solusinya adalah dengan menambah file header , sedangkan pengganti % digunakan fmod yang memiliki fungsi sama seperti %.
Didik Ismawanto/7412030021/1 D3 IT A
9
Percobaan 4.2 (no. 3)
Mengerjakan percobaan 2 dengan mengubah tipe datanya menjadi float #include main() { float a, b, c, d; printf("--Menghitung Diskriminan dengan Tipe Data Float--\n"); printf("Masukkan nilai a : "); scanf("%f", &a); printf("Masukkan nilai b : "); scanf("%f", &b); printf("Masukkan nilai c : "); scanf("%f", &c); d = b * b - 4 * a * c; printf("Diskriminan dari %f, %f dan %f adalah %f\n", a, b, c, d); }
Analisa data : Untuk mengubah menjadi tipe datanya menjadi float maka gunakan %f, untuk coding tidak berbeda dari yang di atas. 3. Dari soal no2. Simpulkan hirarki dari operator-operator aritmatika yang ada pada dasar teori.
*
Perkalian
+
Penjumlahan
/
Pembagian
-
Pengurangan
%
Sisa Pembagian
4. Bandingkan output soal no.3 dengan output soal no.4, apakah berbeda ? Terangkan mengapa demikian
Perbedaan dari soal nomor 3 dan 4 terletak pada tipe datanya. Soal nomor 3 menggunakan tipe data integer, maka hasil yang dicetak adalah bilangan bulat. Sedangkan soal nomor 4 menggunakan tipe data float, maka hasil yang dicetak dapat berupa bilangan desimal.
Didik Ismawanto/7412030021/1 D3 IT A
10
5. Soal no 5: Kerjakan soal-soal di bawah ini, sertakan dalam laporan resmi
a. Berapakah hasil akhir dari program berikut : #include main() { int a = 22; a = a + 5; a = a - 2; printf("a = %d\n", a); }
Analisa data : Program di atasa menghasilkan output 25 yang di dapat dari 22 + 5 – 2. b. Berapakah nilai x setelah pernyataan-pernyataan berikut dijalankan,apabila x bertipe int : (1) x = (2 + 3) – 10 * 2; (2) x = (2 + 3) – (10 * 2); (3) x = 10 % 3 * 2 + 1; #include main() { int a, b, c; a = (2 + 3) - 10 * 2; b = (2 + 3) - (10 * 2); c = 10 % 3 * 2 + 1; printf("x=(2+3)-10*2\n =%d\n",a); printf("x=(2+3)-(10*2)\n =%d\n",b); printf("x=10%%3*2+1\n =%d\n",c); }
Analalisa data : Pada soal ini menggunakan integer x1,x2,x3, dengan setiap “X” memilki masing masing rumus tersendiri , dengan memasukkan rumus ke printf . Didik Ismawanto/7412030021/1 D3 IT A
11
c. Nyatakan dalam bentuk pernyataan : #include main() { float a, b, c, x, z, y1, y2; printf("Masukkan nilai a : "); scanf("%f", &a); printf("Masukkan nilai b : "); scanf("%f", &b); printf("Masukkan nilai c : "); scanf("%f", &c); printf("Masukkan nilai x : "); scanf("%f", &x); printf("Masukkan nilai z : "); scanf("%f", &z); y1 = (b * x * x) + (0.5f * x ) - c; printf("\ny=bx^2+0.5x-c\n =%g\n", y1); y2 = (0.3 * x * z) / 2 * a; printf("\ny=0.3xz/2a\n =%g\n", y2); }
Analisa data : Memasukkan nilai masing – masing variabel dan menghitungnya dengan rumus yang telah ditentukan. d. Apa hasil eksekusi dari program berikut : #include main() { char kar = 'A'; kar = kar + 32; printf("%c\n", kar); }
Didik Ismawanto/7412030021/1 D3 IT A
12
Analisa data : Eksekusi pada soal no ini adalah dengan tujuan menunjukan karakter dengan menggunakan char karakter dan tentu saja di masukkan ke printf.
Praktikum 4.2 1. Listing Program Percobaan 1
Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit dengan rumus F = C * 1.8 + 32 Input : suhu dalam Celcius Output : suhu dalam Fahrenheit #include main() { float C, F; printf("--Mengkonversi Suhu--\n"); printf("\nMasukkan suhu dalam Celcius : "); scanf("%g", &C); F = C * 1.8 + 32; printf("\Suhu %g C dalam Fahrenheit adalah %g\n", C, F); }
Analisa data : Tipe double karena mencari suhu menggunakan dua variable yaitu celcius dn farenhait karena double jadi menggunakan %C dan menggunakan %g agar hasil menjadi rapi dan bagus.
Percobaan 2
Buat program untuk menginputkan satu karakter dari keyboard kemudian cetak karakter tersebut ke layar.
Didik Ismawanto/7412030021/1 D3 IT A
13
#include main() { char a; printf("Masukkan sebuah karakter : "); scanf("%c", &a); printf("Karakter yang anda masukkan adalah %c\n", a); }
Analisa data : Membuat program untuk menginputkan satu karakter dari keyboard kemuadian di dengan printf dan scanf , cetak ke layar dengan menggunakan char dan %c karena memerlukan sebah karakter.
Percobaan 3
Buat program untuk menghitung luas lingkaran, dengan panjang jari-jari yang diinputkan dari keyboard. Definiskan sebuah konstanta PHI dengan nilai 3.14f #include main() { float a, b = 3.14f, c; printf("--Menghitung Luas Lingkaran--\n"); printf("\nMasukkan nilai jari - jari : "); scanf("%g", &a); c = b * a * a; printf("Luas lingkaran : %g\n", c); }
Analisa data : Mencari luas lingkaran dengan PI yang sudah ditentukan yaitu 3.14, inputkan nilai jari – jari yang diinginkan dan akan dihitung sesuai rumus. Didik Ismawanto/7412030021/1 D3 IT A
14
2. Kerjakan semua soal di bawah ini, kumpulkan jawaban bersama laporan resmi
a. Pilihlah nama-nama variabel yang benar dan yang salah, mengapa ?
int calloc xxx
char Xx z
int char 6_05 floating _1312 calloc Xx A$ ReInitialize alpha_beta_routine xxx z
6_05 A$
floating ReInitialize
_1312 alpha_beta_routine
: Salah, karena int termasuk kata-kata cadangan (reserved words) : Salah, karena int termasuk kata-kata cadangan (reserved words) : Salah, karena pengenal harus diawali dengan huruf : Benar, karena floating bukan termasuk reserved words : Benar, karena pengenal boleh diawali dengan garis bawah ( _ ) : Benar, karena calloc bukan termasuk reserved words : Benar, karena semua variabel bebas menggunakan huruf kapital atau tidak : Benar, karena variabel boleh menggunakan tanda $ : Benar, karena ReInitialize bukan termasuk reserved words : Benar, karena antara kata yang satu dengan kata yang lain menggunakan penghubung underscore ( _ ) : Benar, karena pada penggunaan varibel boleh menggunakn 3 karakter yang sama : Benar, karena pada penggunaan variabel boleh terdiri dari 1 huruf
b. Apa yang dihasilkan oleh program di bawah ini : #include main() { char c, d; c = 'd'; d = c; printf("d = %c\n", d); }
Analisa data : Program di atas menyatakan bahwa c=d dan d=c jadi bila di eksekusi hasilnya adalah d=d seperti yang ada dalam output c. Buatlah program untuk mengevaluasi polynomial di bawah ini: 3x2 – 5x + 6 dengan nilai x merupakan masukan dari user.
Didik Ismawanto/7412030021/1 D3 IT A
15
#include main() { int x, y; printf("Berapakah hasil dari 3x^2 - 5x + printf("\nMasukkan nilai x : "); scanf("%d", &x);
6 ? \n");
y = (3 * x * x) - (5 * x) + 6; printf("\nHasilnya adalah : %d\n", y); }
Analisa data : Masukkan nilai x yang anda inginkan untuk mengevaluasi polynomial dan program akan menghitung sesuai rumus. Kesimpulan :
Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar. Kelima tipe data dasar adalah : bilangan bulat (integer), bilangan real presisi-tunggal (float), bilangan real presisi-ganda (double), karakter (char) dan takbertipe (void). Variabel harus diawali dengan huruf atau garis bawah, selanjutnya dapat berupa huruf, digit atau karakter. Pengenal tidak boleh menggunakan kata – kata cadangan (reserved words) Konstanta menyatakan nilai yang tetap.Penulisan konstanta mempunyai aturan tersendiri, sesuai dengan tipe masing-masing. Operator merupakan symbol atau karakter yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Fungsi scanf() dan getchar() merupakan fungsi yang dapat digunakan untuk memasukkan berbagai jenis data melalui keyboard saat eksekusi berlangsung. Fungsi printf() dan putchar() merupakan fungsi untuyk menampilkan data / informasi ke layar.
Didik Ismawanto/7412030021/1 D3 IT A
16