Anda di halaman 1dari 5

FATHURRAHMAN ALMUBARAK

2020-710-33
Tugas Akhir
A. MODUL 1
1. Apabila hasil run program ternyata salah atau error, bagaimana menemukan tahapan
penyebab kesalahan tersebut? Jelaskan!
 Perhatikan gambar dibawah. Jika programnya error kita bisa mengetahui dimana
letak kesalahnnya dengan cara menekan pada lingkaran merah pada window
Massage dibawah maka kursor akan langsung menunjukkan lokasi kesalahannya
yaitu pada lingkaran biru. Lingkaran hitam menunjukkan koordinat kesalahannya
yaitu pada program ini (12(baris ke12),10(digit ke10)).

2. Secara garis besar terdapat 3 bagian utama dalam pembuatan flowchart, sebutkan dan
jelaskan bagian tersebut!
 Yaitu
a. Input adalah semua data dan perintah yang dimasukan ke dalam memori
computer yang selanjutnya akan diproses oleh processor.
b. Proses berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai
dengan data yang di baca.
c. Output adalah data yang telah diproses menjadi bentuk yang dapat di
gunakan.

Smart Electronic Systems Laboratory


IT-PLN
FATHURRAHMAN ALMUBARAK
2020-710-33

3. Apakah perbedaan dari symbol offline connector dengan symbol connector?


 Perbedaannya adalah
a. Symbol offline connector adalah symbol yang berfungsi menyabung proses
yang satu ke yang lainnya yang berada di halaman lain.
b. Symbol connector adalah symbol yang berfungsi menyabung proses yang
satu ke proses yang lainnya yang berada di halaman yang sama.
B. MODUL 2
1. Bagaimana cara mengatur banyaknya angka dibelakang koma pada bilangan
decimal?
 Pada float, bisa dengan cara menambahkan titik dan angka di antara %f. contoh
%.4f untuk membatasi 4 angka dibelakang koma jika ingin lebih dari 6, maka
gunakan tipe data double.
2. Bagaimana cara mengenalkan suatu variable kepada Bahasa programming?
 yaitu dengan cara mendeklarasikan variable tersebut. Yang mana bisa dilakukan
dengan tipe data int(%d), float(%f), char(%s) dan tipe data yang lainnya.
3. Apakah string merupakan tipe data? Jelaskan!
 String bukanlah sebuah tipe data melainkan sebuah sebutan untuk satu kata atau
satu kalimat yang nantinya akan dimasukkan ke dalam perintah output (ex. printf)
dan akan ditampilkan di interface output.
4. Apa perbedaan int main() {} dengan int variable() {}?
 int main() adalah sebuah blok perintah utama atau inti dari sebuah program.
Sedangkan int variable() adalah sebuah sub-blok yang mana nantinya bisa
dipanggil dalam blom perintah utama (main()).
C. MODUL 3
1. Apa perbedaan penggunaan x++ dan ++x dalam operator unary?
 Perbedaannya adalah
a. ++X artinya variable X di jumlahkan terlebih dahulu dengan angka 1 lalu di
tampilkan di interface; Sedangkan
b. X++ artinya variable X akan di tampilkan terlebih dahulu di interface output
lalu dijumlahkan dengan angka 1. Mengapa di interface output hasilnya
masih sama dengan nilai awal? Sebenarnya nilainya sudah berubah, namun
dikarenakan sifat dari Operasi increment ini, hasilnya dihitung dibelakang
layer.

Smart Electronic Systems Laboratory


IT-PLN
FATHURRAHMAN ALMUBARAK
2020-710-33

2. Jelaskan perbedaan fungsi Gets(), Scanf(), Puts(), dan Printf()!


 Perbedaannya adalah
a. Gets() adalah perintah input yang hanya menerima huruf sehingga numeric
atau angka tidak akan terbaca atau akan langsung error.
b. Scanf() adalah perintah input yang menerima semua jenis karakter (yaitu
huruf dan angka). Walaupun hal tersebut bergantung pada tipe data yang
digunakan.
c. Puts() adalah perintah output yang menampilkan string yang mana setiap 1
puts akan otomatis menggunakan \n atau membuat baris baru.
d. printf adalah perintah output yang menampilkan string yang mana setiap 1
printf, /n tidak akan secara otomatis digunakan. Karena itu jika kita ingin
membuat baris baru, maka kita harus memasukkan /n secara manual ke dalam
printf.
3. Apakah penggunaan operator aritmatika membutuhkan header math.h? Jelaskan?
 Penggunaan math.h pada operator aritmatika basic itu tidaklah perlu. math.h
hanya perlu digunakan jika kita ingin melkukan operasi aritmatika yang lebih
kompleks. Contoh pow() untuk perpangkatan, sqrt() untuk perakaran, sincostan
untuk pencarian jarak.
4. Pada program operator relasi, apa perbedaan ‘=’ dan ‘==’?
 Perbedaannya adalah
a. = berarti nilainya sudah dideklarasi dan dipastikan.
b. == berarti nilai tersebut masih ditanyakan apakah angka1 sama dengan
angka2. Jika sama maka hasil yang keluar adalah angka 1 dan jika tidak
sama, maka yang keluar adalah angka 0.
D. MODUL 4
1. Apa kegunaan dari instruksi break dan case?
 Break; adalah perintah yang umumnya wajib dimasukkan kedalam program case
atau default yang berfungsi mengakhiri program case atau default tsb.
 Case adalah sebuah isi percabangan switch yang mana jika kita mengisi
penginputan dengan yang telah ditetapkan, maka case punya program tersendiri
yang akan dijalankan.
2. Apakah instruksi while dapat digantukan do while maupun for? Jelaskan!

Smart Electronic Systems Laboratory


IT-PLN
FATHURRAHMAN ALMUBARAK
2020-710-33
 Jika while ingin digantikan dengan do while maka kemungkin bisa, itu
dikarenakan keduanya merupakan uncounted loop. Sedangkan jika while ingin
diganti ke for, dikarenakan beda kategori, maka jawabannya tidak bisa. Namun
jika ingin mengubah For dan do while ke While bisa dengan memerhatikan
struktur.
3. Ada berapa cabang pada if dan if else? Jelaskan!
 Perintah IF hanya memiliki 1 cabang saja yaitu jika kondisinya true/benar/1.
Sedangkan IF ELSE memiliki 2 cabang yaitu jika kondisinya true/benar/1 dan
false/salah/0
4. Analisa program dibawah ini, kemudian koreksi kesalahannya!
 Kesalahan
#include <stdio.h>
#include <conio.h>
main() {
int pil;
float a,b,c;
printf("===== Program Kalkulator Sederhana =====\n\n");
printf("Masukan bilangan pertama : "); scanf("%f",&a);
printf("\nMasukan bilangan kedua : "); scanf("%f",&b);
printf("\n\n<<< Menu Pilihan >>>\n\n");
printf("1. Penjumlahan \n"); printf("2. Pengurangan \n");
printf("3. Perkalian \n"); printf("4. Pembagian \n\n");
printf("Operasi apa yang anda inginkan ( 1-4 )? : \n\n");
scanf("%d",&pil); printf("==== hasil ====\n\n");
switch(pil); {
case a: c = a + b; printf(" %i + %i = %i",a,b,c); break();
case b: c = a - b; printf(" %i - %i = %i",a,b,c); break;
case c: c = a * b; printf(" %i * %i = %i",a,b,c); break();
case d: c = a / b; printf(" %i : %i = %i",a,b,c); break();
default:
printf("\n >> Operasi yang anda masukan tidak ada pada menu !"); }
getch(); }
 Perbaikan
#include <stdio.h>
#include <conio.h>
main() {
int pil;
float a,b,c;
printf("===== Program Kalkulator Sederhana =====\n\n");
printf("Masukan bilangan pertama : "); scanf("%f",&a);
printf("\nMasukan bilangan kedua : "); scanf("%f",&b);
printf("\n\n<<< Menu Pilihan >>>\n\n");
printf("1. Penjumlahan \n"); printf("2. Pengurangan \n");
printf("3. Perkalian \n");printf("4. Pembagian \n\n");
printf("Operasi apa yang anda inginkan ( 1-4 )? : \n\n");
scanf("%d",&pil); printf("==== hasil ====\n\n");
switch(pil) {
case a: c = a + b; printf(" %f + %f = %f",a,b,c); break;
case b: c = a - b; printf(" %f - %f = %f",a,b,c); break;
case c: c = a * b; printf(" %f * %f = %f",a,b,c); break;

Smart Electronic Systems Laboratory


IT-PLN
FATHURRAHMAN ALMUBARAK
2020-710-33
case d: c = a / b; printf(" %f : %f = %f",a,b,c); break;
default:
printf("\n >> Operasi yang anda masukan tidak ada pada menu !");}
getch(); }

Jadi yang salah disini ada pada switch yang harusnya tidak perlu ;,
pada break yang harusnya juga tidak perlu () dan pada %i pada setiap
case yang harusnya %f.

Smart Electronic Systems Laboratory


IT-PLN

Anda mungkin juga menyukai