Anda di halaman 1dari 78

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN

Na ma : ROY
JOHANES MOZES

NI M :
202271539

Kel as :B

Jur usan : D3 –
TEKNIK LISTRIK

Shift :2

Asisten : M. RESTU FAUZAN

SMART ELECTRONIC SYSTEM LABORATORY

INSTITUT TEKNOLOGI PLN

JAKARTA

2022

MODUL I
PENGENALAN BAHASA C DAN TIPE DATA DASAR

I. TUJUAN
a. Praktikan dapat membuat dan memahami struktur dari penulisan Bahasa C
b. Praktikan mengenal & memahami beberapa tipe data dasar yg terdapat pd bahasa C.
ROY JOHANES MOZES
202271539
c. Praktikan dapat memahami variable, aturan penamaannya dan pendeklarasainnya.
d. Praktikan dapat memahami konstanta, aturan penamaanya dan pendeklarasiannya..

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN


Source Code :

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<math.h>
int main (){
char nama[100],jurusan[25];
int a,b,NIM;
int penjumlahan,pengurangan,pengalian,pembagian,pemoduloan;

printf("\t\t<<<<<\tMasukan Data Diri Anda Terlebuh Dahulu\t>>>>>\n");


printf("Nama anda (maks 100)\t:");
scanf("%[^\n]",&nama);
printf("NIM \t\t\t:");
scanf("%d",&NIM);
printf("Jurusan\t\t\t:");
fflush(stdin);
scanf("%[^\n]",&jurusan);
printf("\n\n\t \"perhitungan\"\n");
printf("masukan angka pertama (sebagai a)\t:");
scanf("%d",&a);
printf("masukan angka kedua (sebagai b)\t\t:");
fflush(stdin);
scanf("%d",&b);
printf("\t\t a=%d",a);
printf("\t\t\t b=%d\n",b);
printf("Penambahan %d+%d \t\t= ",a,b);
penjumlahan=(a+b);
printf("%d\n",penjumlahan);
printf("Pengurangan %d-%d \t= ",a,b);
pengurangan=(a-b);
printf("%d\n",pengurangan);
printf("Pengalian %d*%d \t\t= ",a,b);
pengalian=(a*b);
printf("%d\n",pengalian);
printf("Pembagian %d/%d \t\t= ",a,b);
pembagian=(a/b);
printf("%d\n",pembagian);
printf("Pemoduloan %d modulo %d \t= ",a,b);
pemoduloan=(a/b);
printf("%d\n\n",pemoduloan);
printf("terima kasih %s\t",nama);
printf("dengan NIM %d\t",NIM);
printf("dari jurusan %s",jurusan);

return 0;
}

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN


Pada program diatas diawali dengan program header file yang mana berfungsi sebagai
file yang berisi definisi fungsi yang sudah dibuat dan mendeklarasikan fungsi dasar yang kita
butuhkan untuk membuat program, seperti printf(). Selanjutnya sebelum melakukan
pemrograman lebih panjang yang harus diperhartikan yaitu fungsi #include<math.h>
//header file untuk menghitung yaitu berfungsi untuk mengimpor fungsi-fungsi yang sudah
didefinisikan pada header file.
Setelah itu terdapat fungsi int main () yaitu fungsi utama yang akan dieksekusi pertama
kali saat program dijalankan, Maka dari itu harus menuliskan logika program dalam fungsi ini.
Dimana bagian didalam fungsi main ini adalah statement, statement adalah perintah-perintah
atau fungsi untuk melakukan sesuatu. Sebelum melakukan program inti maka dilakukan tanda
buka kurung kurawal ({) dan tutup kurung kurawal (}) merupakan fungsi untuk
mengelompokkan statement, ini disebut dengan aturan penulisan kode blok.
Selanjutnya kita melakukan pendeklarasian sebuah variable yaitu berbentuk char yang
mana fungsi char ini adalah sebauh karakter atau string dengan memamakai format %[^\n].
Setelah itu kita melakukan tipe data menggunakan kode int (Integer) yang mana kode int ini
adalah tipe data yang berupa angka. Selanjutnya kita melakukan fungsi printf ("Nama anda:");
artinya kita menyuruh computer untuk mencetak teks (“Nama anda”) ke executable. Setiap
statement dalam program C wajib diakhiri dengan titik koma (;) jika tidak maka program akan
eror. Dengan demikian program akan berjalan dan kita diminta untuk memasukan nama kita
ke dalam sebuat file .exe.
Apabila sudah melakukan program program printf maka ditentukan parameter yang
nantinya akan dimasukan kedalam printf yaitu dengan perintah scanf("%[^\n]",&nama);yang
mana perintah ini digunakan untuk penginputan data berupa data karakteristik char[100] secara
terformat dengan kode %[^\n] ini digunkaan untuk membaca semua karakter yang kita inputkan.
Hal yang sama harus dilakukan untuk memasukan dengan perintah printf("NIM:"), yang
mana perintah ini harus dan wajib diikuti dengan perintah dengan kode program
scanf("%d",&NIM); dikarenakan program tersebut memiliki bilangan bulat atau memiliki
fungsi yaitu membaca sebuah bilangan bulat (integer).
Selanjutnya kita melakukan pendeklarasian sebuah variable yaitu berbentuk char yang
mana fungsi char ini adalah sebauh karakter atau string dengan memamakai format %[^\n].
Selanjutnya kita melakukan fungsi printf ("Jurusan:"); artinya kita menyuruh computer untuk
mencetak teks (“Jurusan”) ke executable. Dengan demikian program akan berjalan dan kita
diminta untuk memasukan nama kita ke dalam sebuat file .exe.
Apabila sudah melakukan program program printf maka ditentukan parameter yang
nantinya akan dimasukan kedalam printf yaitu dengan perintah scanf("%[^\n]",&jurusan);yang
mana perintah ini digunakan untuk penginputan data berupa data karakteristik char[25] secara
terformat dengan kode %[^\n] ini digunkaan untuk membaca semua karakter yang kita inputkan.
Dengan selesainya program yang telah dibuat maka untuk menutup program yang sudah
ditulisakn dan mengakhiri program diatas di tuliskan program dengan menuliskan perintah yaitu
return 0; //menandakan program selesai.
Untuk menutup program dilakukan perintah pada awal dan akhir perintah dengan
memberikan tanda buka kurung kurawal ({) dan tutup kurung kurawal (}) merupakan fungsi
untuk mengelompokkan statement, ini disebut dengan aturan penulisan kode blok.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. PROGRAM KREASI


Source Code :

#include <stdio.h>

#include <math.h>

int main()

double kecepatan,waktu,jarak;

printf("kecepatan :");

scanf ("%lf",&kecepatan);

printf("waktu :");

scanf ("%lf",&waktu);

jarak = (kecepatan*waktu); printf ("jarak = %f", jarak); return 0;


}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR
1. Apakah string merupakan tipe data? Jelaskan!
Jawab :
String merupakan tipe data text (huruf, angka, dan simbol) yang memungkinkan
kita menyimpan nilai dengan bentuk text, kumpulan dari character. Besarnya memori
yang dibutuhkan tipe data string yaitu 4 byte atau 32 bit.
Sama seperti halnya tipe data char, dalam tipe data string kita bisa menggunakan karakter
dan angka dengan ketentuan tidak dapat dilakukan operasi aritmetika. Namun
perbedaannya, jika dalam tipe data char kita hanya mampu menyimpan nilai satu karakter
untuk tiap variabel, hal ini tidak berlaku pada tipe data string.
Teks (string) terdiri dari sebuah karakter (huruf), ditandai dengan tanda kutip tunggal
(‘),dapat berupa huruf kecil, huruf besar, angka, dan notasi lainnya. contoh : ‘A’, ‘a’, ‘1’,
‘&’, ‘*’, dan lain-lain. Sedangkan terdiri dari beberapa karakter ditandai dengan tanda
kutip ganda (“). Contoh : “saya”, “17 tahun”, “081111111” dan lain-lain.

2. Bagaimana cara mengenalkan suatu variable kepada bahasa programing?


Jawab :
Untuk mengenalkan suatu fungsi pada program maka diperlukan pemanggilan variabel.
Bentuk umum pendeklarasian suatu variabel adalah:
Tipe data_ nama_variabel; Contoh :
int x; //Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variabel bertipe char
float nilai; // Deklarasi variabel bertipe float
double beta; // Deklarasi variabel bertipe double
int array[5][4]; // Deklarasi array bertipe integer
char *p; //Deklarasi pointer p bertipe char
Keterangan :
Pada contoh-contoh diatas kita mendeklarasikan sebuah variabel dengan beberapa tipe
data. Melalui cara ini, variabel tersebut sudah dapat digunakan untuk menampung nilai-
nilai sesuai dengan fungsi dari pemanggilan tipe datanya. Misalkan pada contoh pertama,
int x; adalah mendeklarasikan sebuah variabel bertipe data int dengan nama x. Maka,
variabel x tersebut sudah menampung nilai-nilai berupa bilangan bulat(fungsi tipe data
int). Pada pendeklarasian ini kita juga bisa mendeklarasikan lebih dari satu variabel yang
memiliki tipe data sama. Contoh : int bilangan1, bilangan2, bilangan3;

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

3. Apabila hasil “run” program ternyata salah atau “error”, bagaimana menemukan
tahapan penyebab kesalahan tersebut ? Jelaskan !
Jawab :

Contoh misalkan ketika decompile dan run terjadi eror seperti gambar di bawah ini :

Dari gambar tersebut di bagian baris 11 pada program berwarna merah dan di bagian
bawah terdapat keterangan bahwa kurang diberi tanda ‘}’ pada akhir program. Maka
penyelesaiannya adalah pada baris 11 dibagian akhir atau pada baris 12 diberi tanda ‘}’.
Sehingga setelah diberikan tanda ‘}’ dan dirun keterangan menunjukkan error = 0 artinya
program sudah benar dan muncul hasil dari compile dan run pemrogramannya.

4. Apa perbedaan int main() {} dengan int variabel() {} ?


Jawab :
Fungsi int main () adalah fungsi utama yang akan dieksekusi pertama kali saat program
dijalankan. Maka dari itu harus menuliskan logika program dalam fungsi ini. Dimana
bagian didalam fungsi main ini adalah statement, statement adalah perintah-perintah atau
fungsi untuk melakukan sesuatu. Tanda buka kurung kurawal ({) dan tutup kurung
kurawal (}) merupakan fungsi untuk mengelompokkan statement, ini disebut dengan
aturan penulisan kode blok.

5. Jelaskan mengapa konstanta harus didefinisikan terlebih dahulu diawal program?


Jawab :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Konstanta adalah sebuah tempat atau container dari suatu nilai. Sesuai dengan namanya,
nilai dari konstanta bersifat tetap (konstan) dan tidak bisa diubah sepanjang program
berjalan. Inilah yang menjadi pembeda antara konstanta dengan variabel. Jika di dalam
kode program kita ingin mengubah nilai ini, harus menggunakan variabel. Karena
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program
berlangsung. Maka, konstanta harus didefinisikan terlebih dahulu di awal program.
Dalam bahasa C konstanta dideklarasikan menggunakan preprocessor #define.
Contoh :
#define PHI 3.14
#define nim “201811072”
#define nama “Fathur”
#conts int a = 23;

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN
1. Struktur penulisan program dasar dibagi menjadi dua bagian yaitu bagian include dan
bagian fungsi int main dimana bagian include digunakan untuk mengimpor fungsi
yang didefinisikan dan bagian fungsi int main digunakan untuk menampilkan fungsi
utama yang akan dieksekusi.

2. Beberapa tipe data pada bahasa C yaitu:


a. Char untuk menunjukkan karakter
b. Int untuk menunjukkan interger atau angka
c. Float untuk menunjukkan bilangan pecahan atau koma
d. Double : Bilangan Pecahan Komplek (lebih darifloat)
e. Void : Tidak menyimpanapapun dan tidak mengembalikan nilai apapun
f. Boolean : Memiliki dua nilai yaitu benar (true) atau salah (false)

3. Variabel merupakan pengenalan untuk mewakili nilai tertentu dalam proses


program. Variabel memiliki aturan dimana tidak boleh mengandung spasi, tidak boleh
mengandung simbol simbol khusus kecuali garis bawah, terdiri dari gabungan huruf
dan angka, dan panjangnya bebas, namun yang terpakai hanya 32 karakter pertama.

4. Konstanta merupakan tempat dari suatu nilai yang bersifat konstan dan tidak bisa
diubah sepanjang program berjalan. Konstanta terbagi menjadi dua bagian yaitu
bilangan dan teks.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL II
FUNGSI DAN OPERATOR

I. TUJUAN
a. Praktikan dapat memahami fungsi yang ada dalam header.
b. Praktikan dapat memahami operator-operator yang ada dalam bahasa C.
c. c. Praktikan dapat mengaplikasikan operator tersebut dalam program

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN

Source Code :

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<math.h>
int main (){
char nama[100],jurusan[25];
int a,b,NIM;
int penjumlahan,pengurangan,pengalian,pembagian,pemoduloan;

printf("\t\t<<<<<\tMasukan Data Diri Anda Terlebuh Dahulu\t>>>>>\n");


printf("Nama anda (maks 100)\t:");
scanf("%[^\n]",&nama);
printf("NIM \t\t\t:");
scanf("%d",&NIM);
printf("Jurusan\t\t\t:");
fflush(stdin);
scanf("%[^\n]",&jurusan);
printf("\n\n\t \"perhitungan\"\n");
printf("masukan angka pertama (sebagai a)\t:");
scanf("%d",&a);
printf("masukan angka kedua (sebagai b)\t\t:");
fflush(stdin);
scanf("%d",&b);
printf("\t\t a=%d",a);
printf("\t\t\t b=%d\n",b);
printf("Penambahan %d+%d \t\t= ",a,b);
penjumlahan=(a+b);
printf("%d\n",penjumlahan);
printf("Pengurangan %d-%d \t= ",a,b);
pengurangan=(a-b);
printf("%d\n",pengurangan);
printf("Pengalian %d*%d \t\t= ",a,b);
pengalian=(a*b);
printf("%d\n",pengalian);
printf("Pembagian %d/%d \t\t= ",a,b);
pembagian=(a/b);
printf("%d\n",pembagian);
printf("Pemoduloan %d modulo %d \t= ",a,b);
pemoduloan=(a/b);
printf("%d\n\n",pemoduloan);
printf("terima kasih %s\t",nama);
printf("dengan NIM %d\t",NIM);
printf("dari jurusan %s",jurusan);

return 0;
}

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN

Pada program diatas diawali dengan program header file yang mana berfungsi sebagai
file yang berisi definisi fungsi yang sudah dibuat dan mendeklarasikan fungsi dasar yang kita
butuhkan untuk membuat program, seperti printf(). Selanjutnya sebelum melakukan
pemrograman lebih panjang yang harus diperhartikan yaitu fungsi #include<math.h>
//header file untuk menghitung yaitu berfungsi untuk mengimpor fungsi-fungsi yang sudah
didefinisikan pada header file.
Setelah itu terdapat fungsi int main () yaitu fungsi utama yang akan dieksekusi pertama
kali saat program dijalankan, Maka dari itu harus menuliskan logika program dalam fungsi ini.
Dimana bagian didalam fungsi main ini adalah statement, statement adalah perintah-perintah
atau fungsi untuk melakukan sesuatu. Sebelum melakukan program inti maka dilakukan tanda
buka kurung kurawal ({) dan tutup kurung kurawal (}) merupakan fungsi untuk
mengelompokkan statement, ini disebut dengan aturan penulisan kode blok.
Selanjutnya kita melakukan perhitungan pada bagian kedua , awalnya kita memasukan
angka pertama (sebagai a) kemudian masukan angka kedua (sebagai b), nilai yang dapat
dimasukan berupa angka berapapun dan akan dilakukan perhitungan.
 Pertama kita melakukan penjumlahan nilai a dan nilai b dengan fungsi
penjumlahan=(a+b);
 Kedua pengurangan nilai a dikurang b dengan fungsi pengurangan=(a-b);
 Ketiga nilai a dikali nilai b dengan fungsi pengalian=(a*b);
 Keempat pembagian nilai a dibagi b dengan fungsi pembagian=(a/b);
 Kelima pemoduloan nilai a dan b dengan fungsi pemoduloan=(a/b);
Setelah semua perhitungan telah dilakukan maka mencetak tulisan “terima kasih (nama)
dengan NIM (NIM) dari jurusan (jurusan). Dengan selesainya program yang telah dibuat maka
untuk menutup program yang sudah ditulisakn dan mengakhiri program diatas di tuliskan
program dengan menuliskan perintah yaitu return 0; //menandakan program selesai.
Untuk menutup program dilakukan perintah pada awal dan akhir perintah dengan
memberikan tanda buka kurung kurawal ({) dan tutup kurung kurawal (}) merupakan fungsi
untuk mengelompokkan statement, ini disebut dengan aturan penulisan kode blok.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. PROGRAM KREASI

Source code :

#include<stdio.h> void menuSatu(); void menuDua(); void menuTiga(); float Alas;


float Tinggi;

float Sisi;
float Panjang; float Lebar; float Luas;
int main()
int menu;
char Nama [100];
printf("--------------------------------\n");
printf("Program Menghitung Luas\n");
printf("--------------------------------\n");
do {
printf("Mau Menghitung Luas Apa\n");
printf("1. Luas Segitiga\n"); printf("2. Luas Persegi\n"); printf("3. Luas Persegi Panjang\n");
printf("4. Keluar\n");
printf("Pilih Menu : "); scanf("%d", &menu);
printf("\n");
switch(menu) {
case 1:
menuSatu();
break;
case 2:
menuDua();
break;
case 3:
menuTiga();
break;
case 4:
break;
}
}while (menu !=4);
Return 0;
}
void menuDua(){
printf("Menghitung Luas Persegi\n\n");
printf("\nMasukkan Sisi : ");
scanf("%f", & Sisi);
Luas = Sisi*Sisi;
printf("\nLuas Persegi Adalah : %.0f", Luas);
printf("\n");

void menuTiga(){
printf("Menghitung Luas Persegi Panjang\n\n");
printf("\nMasukkan Panjang : ");
scanf("%f", & Panjang);

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
printf("\nMasukkan Lebar : ");
scanf("%f", & Lebar;
Luas = Panjang*Lebar;
printf("\nLuas Persegi Panjang Adalah : %.0f", Luas);
printf("\n");

SS output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Apa yang dimaksud dengan fungsi utama (main()) dalam bahasa C


Jawab:
Fungsi main() memang wajib ada di setiap program C karena akan dieksekusi pertama
kali, biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita
harus menentukan tipe data untuk nilai yang akan dikembalikan. Apabila fungsi tersebut
tidak memiliki nilai kembalian, maka kita harus menggunakan tipe void untuk
menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apa-apa. Fungsi
banyak diterapkan dalam program-program C yang terstruktur.

2. Adakan perbedaan antara fungsi yang bertipe “int” dan fungsi bertipe “void” dalam
Bahasa C? jelaskan!
Jawab:
int function(){} atau non-void function (){}
Biasanya yang menggunakan tipe data non void (atau int, string, char, dll) itu bisa
menggunakan nilai return, jadi saat mau mencetak function, maka yang di cetak ialah
nilai return.
void function(){}
Tipe data void yang artinya 0 atau bisa dibilang tidak memiliki nilai return. Jadi misalkan
mencetak functionnya, maka yang di keluarkan apa yang ada di dalam function-nya.

3. Pada program operator relasi apa yang dimaksud dengan ‘!=’ jelaskan!
Jawab:
Operator relasi adalah operator yang digunakan untuk membandingkan dua nilai sejenis.
Kedua nilai tersebut dapat berupa konstanta atau variabel. Pada operator ‘!=’ memiliki
arti tidak sama dengan.
Contoh :
X!=y //apakah x tidak sama dengan y
Penggunaan tanda ‘=’ untuk memberikan nilai ke dalam suatu variabel , BERBEDA
dengan tanda ‘==’ dimana berfungsi untuk sebagai pengecekan kesamaan nilai dari kedua
atau lebih variabel.

4. Jelaskan tentang tabel kebenaran dari 2 variabel pada operator logika!


Jawab:
Operator logika digunakanuntuk membandingkan logika hasil dari operator-operator
hubungan. Operator logika ada tiga macam:
&& : Logika AND (DAN), Operator logika juga digunakan untuk memberikan nilai atau
kondisi true dan false. Biasanya operator logika dipakai untuk membandingkan dua
kondisi. Misalnya: ((5==5) && (3>6)).
|| : Logika OR (ATAU) ,operasi logika OR hanya akan menghasilkan nilai 0 (salah) jika
semua ekspresi relasi yang dihubungkan bernilai salah, namun jika tidak, maka operasi
tersebut akan menghasilkan nilai 1 (benar).
! : Logika NOT (INGKARAN) , Operator logika NOT berfungsi membalikan
nilaisebenarnya. contohnya !(5==5) akan mengembalikan nilai false, karena !(true).

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

5. Jelaskan hasil output program di bawah ini, mengapa output variable A dan B berbeda
sedangkan nilai variabelnya sama?
Jawab:

Karena a++ dan ++b menyatakan dua operasi yang berbeda. Pada a++ variabel a
diproses, setelah itu nilai variabel a ditambah satu. Pada ++b nilai b ditambah satu
sebelum b diproses selanjutnya.
Pembuktian
Pembuktian 1:
int a = 5, int b = 5; // variabel sama
Nilai A = a++; // hasil : a=5,
Nilai a dicopy terlebih dahulu ke variable a baru kemudian ditambahkan 1. Nilai B = +
+B; // hasil : Nilai B = 6

Dari contoh 1 ini, nilai b ditambah 1 sebelum dicopy ke variable b.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Fungsi merupakan bagian wajib dalam suatu program karena fungsi akan dieksekusi
pertama dalam sebuah program.
2. Beberapa operator dalam bahasa C yaitu:
 Operator Unary
 Operator Aritmatika
 Operator Relasi
 Operator Logika

3. Operator aritmatika digunakan untuk operasi bilangan seperti perkalian, pembagian,


penjumlahan pengurangan. Operator relasi digunakan untuk membandingkan dua
nilai sejenis seperti sama dengan, tidak sama dengan, kurang dari, dan lain lain.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL III
PERCABANGAN DAN PERULANGAN

I. TUJUAN
a. Membuat dan memahami proses perulangan dengan : struktur while, do while, for.
b. Membuat dan memahami proses percabangan dengan : struktur if, if else, nested if,
switchcase.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KEETERAMPILAN

Source Code:
#include <stdio.h>
#include <windows.h>
#include <string.h>
int main (){
int x;
int a;
int b;
char nama[15];
char sandi[15];
printf("1. perbandingan nilai\n");
printf("2. perbandingan kata\n");
printf("3. keluar\n");
printf("masukan (angka) >> ");
scanf("%i",&x);
printf("\n");
if(x==1){
printf("masukan angka pertama (sebagai a) >> ");
scanf("%i",&a);
printf("masukan angka kedua (sebagai b) >> ");
scanf("%i",&b);
if(a==b){
printf("a sama dengan b");
}
else if(a<b){
printf("a kurang dari b");
}
else{
printf("a lebih dari b");
}
}
else if(x==2){
printf("masukan kata sandi anda (maks 15) >> ");
scanf("%s",&nama);
coba:
printf("\nmasukan kata sandi >> ");
scanf("%s",&sandi);
if(strcmp(nama,sandi)==0){
printf("cocok");
}
else{
printf("ulangi");
goto coba;
}
}
else if(x==3){
printf("terima kasih");
}
return 0;

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
}
SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN

Pada program modul 3 ini menggunakan percabangan dan perulangan, setelah program
selesai dibuat dan dijalankan maka pada menu awal akan muncul masukan angka untuk
memilih 1, 2 atau 3.
Jika memilih 1 maka program akan dijalankan untuk melakukan perbandingan nilai.
Dimana angka pertama (sebagai a) akan dibandingkan dngan angka kedua (sebagai b).
setelah kita memasukan angka yg diminta. Maka program akan menjalankan perhitungan dan
akan muncul kalimat “a sama dngan b” jika nilainya sama; “a kurang dari b” jika a nilainya
kurang dari b; dan “a lebih dari b” jika a nilainya lebih besar dari b.
Jika memilih 2 maka program akan dijalanka untuk melakukan perbandingan kata.
Dimana pada pilihan masukan kata sandi anda, kita diminta untuk membuat kata sandi
terlebih dahulu, setelah kita sudah mengisi kata sandi yang kita inginkan maka selanjutnya
program akan menyuruh untuk mengisi kata sandi lagi. Pada pilihan kedua ini program akan
melakukan perbandingan antara kata sandi awal yang kita masukan dengan kata sandi yang
kedua. Jika kata sandinya sesuai maka program akan mencetak kata “cocok” sebaliknya jika
kata sandi tidak sesuai maka program akan mencetak kata “ulangi” dan kita masukan kata
sandi hingaa sesuai dengan kata sandi yang di awal.
Jika memilih 3 makan program akan mencetak kata “terima kasih”.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. PROGRAM KREASI

Source Code :

#include <stdio.h>
void pilihan();

int main() {

int menu;
char Nama [100];

printf("================================\n");
printf("Pembayaran UKT\n");
printf("================================\n");

printf("\nNama Anda :");


scanf("\n%s", &Nama);

do{

printf("\nApakah Sudah Membayar UKT?\n");


printf("1. Sudah\n");
printf("2. Belum\n");

printf("Pilih Menu : ");


scanf("%d", &menu);
printf("\n");

switch(menu) {

case 1:
break;
case 2:
pilihan();
break;
}

}while (menu != 1);

printf("\n======================================================
=====");
printf("\nTerima Kasih, Semangat Menjalankan Pendidikan Satu Semester");
printf("\n======================================================
=====\n");

return 0;
}

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

void pilihan(){
int bayar;

printf("\nMau bayar via apa :");

do{

printf("\n1. Transfer Bank");


printf("\n2. Shopeepay");
printf("\n3. Kembali\n");

printf("Pilih Menu : ");


scanf("%d", &bayar);
printf("\n");

switch(bayar){
case 1:
printf("\nTransfer ke rekening Bank LTF 14022\n");
break;
case 2:
printf("\nTransfer ke Nomor 12380932734\n");
break;
case 3:
break;
}

}while (bayar !=3);


}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Apakah instruksi do while dapat digantikan while maupun for? Jelaskan!


Jawaban:
Intruksi do while yaitu stuktur kontrol perulangan yang dimana kondisi di periksa setelah
statemen. Jada penulisan kondisi berada di akhir perulangan sedangkan pada perulangan
while kondisinya dituliskan di awal perulangan. Struktur dari perulangan while hampir
sama dengan struktur perulangan for. Sehingga intruksi do while tidak dapat digantikan
while maupun for.

2. Apa kegunaan instruksi break dan case?


Jawaban:
Intruksi break digunakan untuk meloncat dari proses pengulangan. Artinya, prosedur
break akan memaksa program untuk menghentikan pengulangan dan akan langsung
menuju ke statemen selanjutnya yang terdapat dibawah blok pengulangan (jika ada).
Pada Switch case lebih efektif untuk pemrograman yang menggunakan banyak kondisi
karena strukturnya simple hanya menggunakan case.

3. Koreksi dan Analisa program dibawah ini dengan menggunakan aplikasi DEV
C++. Screenshot pada hasil yag tercetak pad tampilan layer executable

Jawaban:

Berikut ini adalah gambar setelah program dicompile

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

a. Pada baris 1 terjadi error karena kesalahan dan pada bagian pesan diberi pembetulan
tanda kurung. Pembetulannya adalah tanda ‘(‘ dan ‘)’ diganti tanda ‘<’ dan ‘>’.

b. Pada baris 2 terjadi error dan pada pesan bertuliskan ‘Int’ bukan nama type, artinya Int
harus diganti. Maka pembetulannya adalah tulisan ‘Int’ diganti ‘int’.

c. Begitu juga pada baris ke 3 typo tulisan ‘Int’. pembetulannya tulisan ‘Int’ diganti ‘int’.

d. Pada baris ke 4 terjadi error dan pesan bertuliskan ‘Printf’ tidak dapat dideklarasikan
diakibatkan huruf P capital yang seharusnya huruf kecil. Maka pembetulannya adalah
‘Printf’ diganti ‘printf’.

e. Pada baris 22 terjadi error dan pesan bertuliskan untuk memberikan tanda ‘;’ sebelum
tanda ‘}’. Jadi pembetulannya pada baris 21 setelah tulisan ‘return(0)’ diberi tanda ‘;’
Sehingga setelah dikoreksi, program sudah tidak memiliki error dan dapat dijalankan

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Akan tetapi setelah dijalankan program masih error tidak bisa mengidentifikasi angka.
Maka diberi intruksi if(N>0&&N<10000) agar ketika mengetikkan angka antara 1-999
akan teridentifikasi bahwa N adalahsatuan, puluhan, ratusan ataupun ribuan. Dan ketika
mengetikkan angka diatas 10000 ke atas program akan mengidentifikasi bahwa N bukan
satuan, puluhan ratusan ataupun ribuan.
Selain itu pada if(N<100) diberi tambahan “&&N>=10 digunakan untuk membatasi
angka, karena jika tidak ketika misalkan menuliskan angka 99 maka program
mengidentifikasi bahwa N adalah puluhan karena kurang dari 100. Akan tetapi pada
perintah selanjutnya terdapat if(N<1000) jika tidak dibatasi maka angka 99 juga dibawah
dari angka1000, sedangkan pada hal tersebut perintahnya N adalah ratusan. Padahal
angka 99 tidak termasuk ratusan. Begitu juga seterusnya.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Struktur while digunakan untuk control pengulangan dengan kondisi diperiksa sebelum
statement dan akan terus berjalan selama kondisi yang dihasilkan dalam perulangan
masih bernilai true.
Struktur do while kondisi diperiksa setelah statement.
Struktur for digunakan untuk perulangan dengan jumlah perulangan ditentukan
dalam struktur

2. Struktur if memiliki ciri ciri hanya memiliki satu cabang dengan syarat tersendiri dan jika
syaratnya terpenuhi maka akan menjalankan cabang tersebut.
Struktur if else memiliki ciri ciri punya dua cabang dimana jika syarat dipenuhi maupun
tidak, masing masing perintah harus dijalankan
Struktur nested if memiliki ciri mempunyai suatu kondisi di dalam kondisi. Struktur
switchcase memiliki ciri ciri punya banyak kondisi.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL IV
FLOWCHART DAN STRUKTUR PENULISAN

I. TUJUAN
a. Praktikan dapat membuat program beserta flowchartnya.
b. Praktikan dapat memahami jenis-jenis, symbol dan notasi flowchart.
c. Praktikan dapat membuat dan memahami struktur dari penulisan Bahasa C.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN

Source Code:
#include <stdio.h>
#include <windows.h>
#include <string.h>

int main (){


int x;
int a;
int b;
char nama[15];
char sandi[15];
printf("1. perbandingan nilai\n");
printf("2. perbandingan kata\n");
printf("3. keluar\n");
printf("masukan (angka) >> ");
scanf("%i",&x);
printf("\n");
if(x==1){
printf("masukan angka pertama (sebagai a) >> ");
scanf("%i",&a);
printf("masukan angka kedua (sebagai b) >> ");
scanf("%i",&b);
if(a==b){
printf("a sama dengan b");
}
else if(a<b){
printf("a kurang dari b");
}
else{
printf("a lebih dari b");
}
}
else if(x==2){
printf("masukan kata sandi anda (maks 15) >> ");
scanf("%s",&nama);
coba:
printf("\nmasukan kata sandi >> ");
scanf("%s",&sandi);
if(strcmp(nama,sandi)==0){
printf("cocok");
}
else{
printf("ulangi");
goto coba;
}
}
else if(x==3){
printf("terima kasih");
}

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

return 0;
}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN

Pada program modul 4 ini menggunakan percabangan dan perulangan, setelah program
selesai dibuat dan dijalankan maka pada menu awal akan muncul masukan angka untuk
memilih 1, 2 atau 3.
Jika memilih 1 maka program akan dijalankan untuk melakukan perbandingan nilai.
Dimana angka pertama (sebagai a) akan dibandingkan dngan angka kedua (sebagai b).
setelah kita memasukan angka yg diminta. Maka program akan menjalankan perhitungan dan
akan muncul kalimat “a sama dngan b” jika nilainya sama; “a kurang dari b” jika a nilainya
kurang dari b; dan “a lebih dari b” jika a nilainya lebih besar dari b.
Jika memilih 2 maka program akan dijalanka untuk melakukan perbandingan kata.
Dimana pada pilihan masukan kata sandi anda, kita diminta untuk membuat kata sandi
terlebih dahulu, setelah kita sudah mengisi kata sandi yang kita inginkan maka selanjutnya
program akan menyuruh untuk mengisi kata sandi lagi. Pada pilihan kedua ini program akan
melakukan perbandingan antara kata sandi awal yang kita masukan dengan kata sandi yang
kedua. Jika kata sandinya sesuai maka program akan mencetak kata “cocok” sebaliknya jika
kata sandi tidak sesuai maka program akan mencetak kata “ulangi” dan kita masukan kata
sandi hingaa sesuai dengan kata sandi yang di awal.
Jika memilih 3 makan program akan mencetak kata “terima kasih”.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. PROGRAM KREASI

Source Code :

#include <stdio.h>

void pilihan();
int main() {
int menu;
char Nama [100];
printf("================================\n"); printf("Pembayaran UKT\n");
printf("================================\n");
printf("\nNama Anda :")
scanf("\n%s", &Nama);

do{

printf("\nApakah Sudah Membayar UKT?\n");


printf("1. Sudah\n")
printf("2. Belum\n");
printf("Pilih Menu : "); scanf("%d", &menu); printf("\n");

switch(menu) {

case 1:
break;
case 2:
pilihan();
break;
}
}while (menu != 1);
printf("\n======================================================

=====");
printf("\nTerima Kasih, Semangat Menjalankan Pendidikan Satu Semester");
printf("\n======================================================

=====\n");
return 0;
}

void pilihan(){

int bayar;
printf("\nMau bayar via apa :");

do{

printf("\n1. Transfer Bank"); printf("\n2. Shopeepay"); printf("\n3. Kembali\n");


printf("Pilih Menu : ");

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
scanf("%d", &bayar);
printf("\n");

switch(bayar){
case 1:
printf("\nTransfer ke rekening Bank LTF 14022\n");
break;
case 2:
printf("\nTransfer ke Nomor 12380932734\n");
break;
case 3:
break;
}
}while (bayar!=3);
}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Sebutkan beberapa simbol flowchart yang sering digunakan?


Jawaban:
a.
Process:

Process
Simbol Proses mewakili langkah dalam suatu proses. Ini adalah komponen yang
paling umum dari diagram alur.
b. Terminal:

Terminal
Simbol Terminal menunjukkan awal atau akhir dari diagram alur. Simbol ini
biasanya memiliki teks “Start” atau “End”.

c. Flowline:

Flowline
Garis aliran menunjukkan arah proses. Setiap flowline biasanya menghubungkan dua
blok. Flowlines dapat berupa garis lurus, panah satu arah, atau panah dua sisi, yang
mewakili berbagai jenis koneksi di antara langkah-langkahnya.
d. Decision:

Decision

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Simbol Keputusan menunjukkan langkah yang menentukan langkah selanjutnya dalam


suatu proses. Ini biasanya merupakan pertanyaan Ya/Tidak atau Benar/Salah.

2. Buatlah satu buah flowchart suatu sistem atau prosedur?


Jawaban:

3. Tentukan simbol yang digunakan untuk melengkapi prosedur di bawah ini (total 6
simbol)?

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Jawaban :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Beberapa simbol dan notasi flowchart yaitu:


a. connector untuk keluar masuk prosedur
b. proses untuk menunjukkan pengolahan yang dilakukan computer
c. manual operation untuk menunjukkan pengolahan yang tidak dilakukan oleh
computer
d. decision untuk kondisi yang akan menghasilkan kemungkinan jawaban/aksi
e. predefined processuntuk mempersiapkan penyimpanan yang akan digunakan sebagai
tempat pengolahan

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL V
TIPE DATA TURUNAN (ARRAY, STRUCT DAN POINTER)

I. TUJUAN
a. Memahami struktur array,struct dan pointer.
b. Memahami penggunaan array dalam kehidupan sehari-hari.
c. Memahami cara penggunaan struct dan pointer untuk mempermudah penulisan dalam
program.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN

Source Code:

#include <stdio.h>
#include <windows.h>
#include <string.h>

struct data_ban{
int panjang;
char merk[25];
float lebar;
};
int main(){
int nomor_daftar=0;
char pilihan;
int batas;
data_ban daftar[3];
ulang:
fflush(stdin);
printf("masukkan merk ban anda: ");
scanf("%s",&daftar[nomor_daftar].merk);
printf("Panjang ban: ");
scanf("%d",&daftar[nomor_daftar].panjang);
printf("Lebar ban: ");
scanf("%f",&daftar[nomor_daftar].lebar);
++batas;
pilihan:
fflush(stdin);
puts("Lanjutkan?? (Y atau T)");
scanf("%c",&pilihan);
if(pilihan=='Y' || pilihan=='y'){
nomor_daftar++;
puts("\n");
goto ulang;
}
else if(pilihan=='t' || pilihan=='T'){
puts("\n");
puts("Daftar ban: ");
for(int a=1;a<batas;a++){
printf("1. Merk ban: %s\n",daftar[a-1].merk);
printf("2. Lebar: %f\n",daftar[a-1].lebar);
printf("3. panjang: %d",daftar[a-1].panjang);
puts("\n");
}
}
}

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Program:

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN

Pada Program modul 5 ini, menggunakan Array, Struct dan Pointer., setelah program
selesai dibuat dan dijalankan makan pada tampilan awal disuruh masukan merk ban, setelah
kita mengisi data berupa kata-kata maka program meminta lagi untuk memasukan Panjang
ban, data Panjang ban merupakan tipe data integer dan kita diminta memasukan angka.
Kemudian kita diminta memasukan lebar ban, data lebar ban merupakan tipe data float
diaman kita dapat memasukan nilai angka dibelakang koma.
Setelah ketiga data yang diminta selesai diisi, maka program menanyakan untuk
melanjutkan atau tidak dengan car akita menginput huruf ‘Y’ untuk Ya dan ‘T’ untuk tidak.
Jika kita memilih Ya maka program akan menjalankan peloncatan statement goto, dan
kita Kembali mengisi data yang diminta seperti diawal tadi. Namun jika kita memilih Tidak
maka program akan berhenti dati peloncatan goto tadi dan mulai mencetak struk sesuai data
yang telah kita isi sebelumnya.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. PROGRAM KREASI

Source Code :

#include<stdio.h>

struct mahasiswa {
char nama[20];
int Anak_ke, Hobi, Domisili, Pekerjaan, Jenis_Kelamin;

};

int main(){ int x; int y;

mahasiswa mhs[50];
printf ("jumlah mahasiswa:");
scanf("%d",&y);

for(int x=0; x<y; x++){

printf ("\nData mahasiswa ke %d\n",x+1);

printf("Nama : ");
scanf("%s",&mhs[x].nama);

printf("Anak_ke : ");
scanf("%i",&mhs[x].Anak_ke);

printf("Hobi : ");
scanf("%s",&mhs[x].Hobi);

printf("Domisili : ");
scanf("%s",&mhs[x].Domisili);

printf("Pekerjaan : ");
scanf("%s",&mhs[x].Pekerjaan);

printf("Jenis_Kelamin : ");
scanf("%s",&mhs[x].Jenis_Kelamin);

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Apa perbedaan dari array dimensi dua dan multi dimensi?


Jawaban:
Array dua dimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang
memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu
indeks baris dan indeks kolom. Bentuknya dapat berupa matriks atau table. Deklarasi
array: Tipe_array nama_array[indeks 2][indeks 1];
Array multi dimensi adalah array yang mempunyai ukuran lebih dari dua. Bentuk
pendeklarasiannya sama saja dengan array dimensi satu maupun array dimensi dua.
Bentuk umumnya yaitu : tipe_array nama_array[indeks 3][indeks 2]&[indeks 1];

2. Apa yang dimaksud dari int x[3][4]?


Jawaban:
int x[3][4] merupakan variabel yang menyimpan sekumpulan data yang memiliki tipe
sama yaitu x dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks
baris dan indeks kolom. Bentuknya dapat berupa matriks atau tabel. [3] adalah jumlah
baris , sedangkan [4] adalah jumlah kolom.

3. Apa itu struct dan jelaskan kegunaannya !


Jawaban:
Struct adalah suatu struktur data yang dapat menyimpan beberapa variabel yang memiliki
tipe data yang berbeda digabung dalam suatu Struct. Misalnya data mengenai NIM,
Nama, dan IPK seorang mahasiswa. Ketiga data ini mempunyai tipe data yang berbeda
tetapi masih berhubungan yaitu data akademik seorang mahasiswa. Dengan
menggunakan struct maka data ini bisa diolah per elemen (per field) atau secara
keseluruhan (per struct, per record) Struct digunakan untuk memudahkan kita dalam
penyimpanan data dimana semua data dapat menjadi satu kelompok.

4. Perbaiki program dibawah ini, agar outputnya sesuai pada gambar dibawah!

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Jawaban :
Perbaikan program,

5. Buatlah source code dari output dibawah ini!

Keterangan :

Presentase untuk Nilai Akhir

Nilai Praktikum : 30% Nilai Laporan : 50% Nilai Presentasi : 20%

Jawaban :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

Program:

Hasil Compile dan Run :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Array merupakan kumpulan dari beberapa nilai data yang bertipe sama dalam
urutantertentu yang menggunakan nama yang sama. Struct merupakan struktur data yang
dapat menyimpan beberapa variable yang memiliki tipe data yang berbeda. Pointer
merupakan tipe data turunan yang digunakan untuk menyalik alamat sebuah variable
dengan tipe data sama

2. Penggunaan array dalam kehidupan sehari hari dapat dilihat pada penyusunan buku
dalam perpustakaan, tempat duduk pada lab praktikum, nomor antrian di rumah sakit, dan
nomor kursi pada bioskop.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL VI
TIPE DATA ENUMERASI DAN OPERASI FILE

I. TUJUAN
a. Praktikan dapat memahami tipe data enumerasi
b. Praktikan dapat mengetahui cara membuka file dan menutup file
c. Praktikan dapat memahami penggunaan operasi file

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN

Source Code :
#include<stdio.h>
#include<string.h>
#include<windows.h>

int main(){
FILE *pembelian=fopen("pembelian.txt","w");
enum pembelian{permen=500, gula=1000, minyak=2000
};
char input[100];
kembali:
printf("masukan pembelian (permen, gula, atau minyak):");
scanf("%s",&input);

if(strcmp(input,"permen")==0){
printf("harga permen: %d",permen);
fprintf(pembelian,"harga permen: %d",permen);
}
else if(strcmp(input,"gula")==0){
printf("harga gula: %d",gula);
fprintf(pembelian,"harga gula: %d",gula);
}
else if(strcmp(input,"minyak")==0){
printf("harga minyak: %d",minyak);
fprintf(pembelian,"harga minyak: %d",minyak);
}
else{
goto kembali;
}

return 0;
}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAMKETERAMPILAN

Pada program modul 6 ini menggunakan tipe data enumerasi dan operasi file dimana
hasil dari program akan dicetak dalam bentuk .txt sehingga hasilnya dapat terlihat jika dibuka
dengan notepad.
Pada awa programa dijalankan akan disuruh untuk masukan pilihan (permen, gula,
minyak), dari ketiga pilihan ini kita diminta untuk memasukan salah satunya sehingga harga
barang akan keluar.
Jika kita memilih permen maka harga barang akan keluar dengan tulisan “harga permen:
500”. Jika kita memilih gula maka keluar tulisan “harga gula: 1000” dan jika kita memilih
minyak maka keluar tulisan “harga minyak: 2000”.
Dari ketiga pilihan jika kita salah memasukan inputan yang diminta da tidak sesuai, maka
program akan meminta untuk melakukan penginputan kemabali sesuai dari 3 barang yg
sudah kita buat di program.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. TUGAS KREASI

Source Code:
#include<stdio.h> //printf dan scanf
#include<windows.h> //system

struct Pegawai{
char nama[20],Jabatan[20],Bagian[20];
int NIP,Lama_Kerja;

};

int main(){
Pegawai pgw[20];

int x,y,h;

m:

FILE *tulis=fopen("Kreasi.txt","a+");

printf(" \n");

printf("Program Struktur Mengisi Biodata Pegawai

PLN\n");printf(" \n");

printf("Pilih:"); printf("\n1. Input Data Pegawai");


printf("\n2. Hasil Data Pegawai");
printf("\n3. Exit");
printf("\nMasukkan pilihan:");
scanf("%d",&h); system("cls");

if(h==1){
printf("Jumlah Pegawai : ");
scanf("%d",&y);
for(x=0;x<y;x++)
{
printf("\nData Pegawai Ke- %d \n \n",x+1);
printf("Nama : "); scanf("%s",&pgw[x].nama);
printf("NIP : "); scanf("%d",&pgw[x].NIP);
printf("Jabatan: "); scanf("%s",&pgw[x].Jabatan);
printf("Bagian : "); scanf("%s",&pgw[x].Bagian);
printf("Lama_Kerja : ");
scanf("%d",&pgw[x].Lama_Kerja);

fprintf(tulis,"\n%s\t",pgw[x].nama);
fprintf(tulis,"%d\t",pgw[x].NIP);
fprintf(tulis,"%s\t",pgw[x].Jabatan);
fprintf(tulis,"%s\t",pgw[x].Bagian);

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
fprintf(tulis,"%d",pgw[x].Lama_Kerja);
}
fclose(tulis);

system("pause"); system("cls"); goto m;


}

else if(h==2){
system("cls");
printf("\n");

printf("Nama\t\tNIP\tJabatan\t\tBagian\t\tLama_Kerja\t\n");
printf(" \n");

for(x=0;x<y;x++)

printf("%s\t\t%d\t%s\t%s\t%d\t\n",pgw[x].nama,pgw[x].NIP,pgw[x].Jabatan,pgw[x].Bagia
n,pgw [x].Lama_Kerja);

}
system("pause");
system("cls");
goto m;
}

else if(h==3){

printf("Terimakasih\n");

exit(0);

}
else{

printf("pilihan anda tidak ada\n");


system("pause");
system("cls");

goto m;

printf("\n");
system("pause”);
return 0;

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Output:

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Tuliskan perbedaan a dengan a+ !


Jawaban :
a : Membuat atau membuka file yang sudah ada untuk ditambah record
a+: Membuka file yang sudah ada untuk dibaca dan ditambah record

2. Jelaskan logika :
while(fgets(kalimat,sizeof(kalimat),data)){ printf("%s\n",kalimat);
}
Jawaban :
While itu merupakan suatu perulangan, kemudian ada fgets yang berfungsi untuk
membaca string. Lalu ada kalimat itu sebagai variable, dan ada sizeof sebagai operator
unary yang berarti ukuran operan dalam byte. Dan ada data yang merupakan variable
dari struct. Kemudian perbedaan fscanf, fgets, dan getc antara lain : fscanf digunakan
untuk membaca file tetapi yang dibaca hanya sebatas spasi pertama sehingga data yang
tampil nantinya tidak akan memiliki spasi. Berbeda dengan fgetsyang digunakan untuk
membaca file dan dapat membaca karakter spasi sehingga fileyang tampil nantinya akan
memiliki spasi. Terakhir adalah getc yaitu fungsi yang digunakan untuk membaca file
tetapi hanya sebatas satu karakter saja, sehingga butuh perulangan untuk membuat
karakter-karakter tersebut menjadi satu kesatuan.

3. Tuliskan perbedaan fscanf, fgets dan getc!


Jawaban :
a. Fscanf
fscanf merupakan fungsi untuk membaca file. Cara kerja fscanf adalah mengcopy
data dalam file kesebuah variable, oleh karena itu variable yang kita gunakan
harus sesuai dengan jenis data yang ingin dibaca.
b. Fgets
fgets merupakan fungsi untuk membaca string. String yang dibaca hanya sebatas
satu baris atau jumlah nilai buffer yang diberikan.
c. Getc
Berbeda dengan scanf yang dapat membaca data sebagai satu kesatuan hingga
spasipertama, getc membaca data satu persatu karakter

4. Jelaskan perbedaan tipe data enumerasi dengan tipe data lainnya pada modul ini!
Jawaban :
Tipe data Enumerasi merupakan suatu tipe data yang nilainya telah didefinisikan secara
pasti pada saat pembuatan tipe data tersebut.
Tipe data bentukan adalah tipe data yang dibuat sendiri oleh kita (programmer). Isinya
berupa data-data yang sudah ditentukan. Tipe data bentukan ini dikenal juga sebagai
Enumerated Data Type atau disingkat sebagai enum.

5. Jelaskan cara program berikut dengan analisa anda sendiri!


#include<stdio.h>
enum t_warna {arief, udin, zaki, fauzan};
int nama;
char wanita[5][20]={"fina","cindi","muthi a","rizka"};
for(nama = arief; nama

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
<= fauzan; nama++){
printf("%d. %s\n", nama+1,wanita[nama]);
}
Jawaban :
Pada program tersebut menggunakan header yaitu header yang didalamnya Terdapat
perintah-perintah input output seperti printf(). Kemudian terdapat pembentukan tipe data
enumerasi dengan nama tipe data ‘t_warna’ yang berisi nilai-nilai antara lain{arief, udin,
zaki, fauzan};. Kemudian terdapat pendeklarasian tipe data integer di baris berikutnya
dengan nama variable ‘nama’. Lalu berikutnya dibentuk array dimensi dua dengan tipe
data char dan nama array ‘wanita’. Isi array tersebut antara
{“fina”,”cindi”,”muthia”,”rizka”};. Di baris berikutnya terdapat perulangan for dengan
syarat perulangan (nama = (nama = arief; nama <= fauzan; nama++).
Di baris selanjutnya terdapat perintah printf() yang akan diulang terus menerus selama
syarat perulangan masih terpenuhi. Terakhir terdapat tanda tutup kurung kurawal sebagai
akhir dari sebuah statement.

6. Buatlah program operasi FILE sederhana yang terdapat perintah menulis kedalam file!
Jawaban :

Source code:
#include<stdio.h>

int main(){
char file[100];
int x=0; FILE *fs;
fs=fopen("file.txt","w");
for(x=0; x<5; x++)
{
printf("masukan data ke-%d : ", x+1); fflush(stdin);gets(file);
fprintf(fs,"%s\n",file);
}
fclose(fs);
printf("\n\nData berhasil ditulis");
return 0;
}

Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Tipe Data Enumerasi merupakan suatu tipe data yang nilainya telah didefinisikan secara
pasti pada saat pembuatan tipe data tersebut.
2. Perintah membuka file sebagai berikut : fopen=(“Nama_File.txt”,”Jenis_Operasi”); dan
untuk Perintah untuk menutup file adalah sebagai berikut : fclose(Nama_Pointer);
3. Penggunaan operasi file :
 r : Membuka file yang telah ada untuk dibaca
 w : Membuka atau membuat file baru untuk ditulis
 a : Membuat atau membuka file yang sudah ada untuk ditambah record
 r+ : Membuka file yang sudah ada untuk dibaca dan ditulis
 w+ : Membuka file baru untuk di tulis dan dibaca
 a+ : Membuka file yang sudah ada untuk dibaca dan ditambah record

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

MODUL VII MANIPULASI BIT

I. TUJUAN

a. Praktikan Praktikan dapat memahami manipulasi bit.


b. Praktikan dapat menganalisa untuk mengubah bit.
c. Praktikan dapat mengetahui format bilangan computer

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

II. PROGRAM KETERAMPILAN

Source Code :
#include<stdio.h>
#include<string.h>
#include<windows.h>

int main(){
FILE *pembelian=fopen("pembelian.txt","w");
enum pembelian{permen=500, gula=1000, minyak=2000
};
char input[100];
kembali:
printf("masukan pembelian (permen, gula, atau minyak):");
scanf("%s",&input);

if(strcmp(input,"permen")==0){
printf("harga permen: %d",permen);
fprintf(pembelian,"harga permen: %d",permen);
}
else if(strcmp(input,"gula")==0){
printf("harga gula: %d",gula);
fprintf(pembelian,"harga gula: %d",gula);
}
else if(strcmp(input,"minyak")==0){
printf("harga minyak: %d",minyak);
fprintf(pembelian,"harga minyak: %d",minyak);
}
else{
goto kembali;
}

return 0;
}

SS Output :

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

III. ANALISA PROGRAM KETERAMPILAN

Pada program modul 6 ini menggunakan tipe data enumerasi dan operasi file dimana
hasil dari program akan dicetak dalam bentuk .txt sehingga hasilnya dapat terlihat jika dibuka
dengan notepad.
Pada awa programa dijalankan akan disuruh untuk masukan pilihan (permen, gula,
minyak), dari ketiga pilihan ini kita diminta untuk memasukan salah satunya sehingga harga
barang akan keluar.
Jika kita memilih permen maka harga barang akan keluar dengan tulisan “harga permen:
500”. Jika kita memilih gula maka keluar tulisan “harga gula: 1000” dan jika kita memilih
minyak maka keluar tulisan “harga minyak: 2000”.
Dari ketiga pilihan jika kita salah memasukan inputan yang diminta da tidak sesuai, maka
program akan meminta untuk melakukan penginputan kemabali sesuai dari 3 barang yg
sudah kita buat di program.

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

IV. TUGAS KREASI

Source Code:
#include<stdio.h> //printf dan scanf
#include<windows.h> //system

struct Pegawai{
char nama[20],Jabatan[20],Bagian[20];
int NIP,Lama_Kerja;

};

int main(){
Pegawai pgw[20];

int x,y,h;

m:

FILE *tulis=fopen("Kreasi.txt","a+");

printf(" \n");

printf("Program Struktur Mengisi Biodata Pegawai

PLN\n");printf(" \n");

printf("Pilih:"); printf("\n1. Input Data Pegawai");


printf("\n2. Hasil Data Pegawai");
printf("\n3. Exit");
printf("\nMasukkan pilihan:");
scanf("%d",&h); system("cls");

if(h==1){
printf("Jumlah Pegawai : ");
scanf("%d",&y);
for(x=0;x<y;x++)
{
printf("\nData Pegawai Ke- %d \n \n",x+1);
printf("Nama : "); scanf("%s",&pgw[x].nama);
printf("NIP : "); scanf("%d",&pgw[x].NIP);
printf("Jabatan: "); scanf("%s",&pgw[x].Jabatan);
printf("Bagian : "); scanf("%s",&pgw[x].Bagian);
printf("Lama_Kerja : ");
scanf("%d",&pgw[x].Lama_Kerja);

fprintf(tulis,"\n%s\t",pgw[x].nama);
fprintf(tulis,"%d\t",pgw[x].NIP);
fprintf(tulis,"%s\t",pgw[x].Jabatan);
fprintf(tulis,"%s\t",pgw[x].Bagian);

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539
fprintf(tulis,"%d",pgw[x].Lama_Kerja);
}
fclose(tulis);

system("pause"); system("cls"); goto m;


}

else if(h==2){
system("cls");
printf("\n");

printf("Nama\t\tNIP\tJabatan\t\tBagian\t\tLama_Kerja\t\n");
printf(" \n");

for(x=0;x<y;x++)

printf("%s\t\t%d\t%s\t%s\t%d\t\n",pgw[x].nama,pgw[x].NIP,pgw[x].Jabatan,pgw[x].Bagia
n,pgw [x].Lama_Kerja);

}
system("pause");
system("cls");
goto m;
}

else if(h==3){

printf("Terimakasih\n");

exit(0);

}
else{

printf("pilihan anda tidak ada\n");


system("pause");
system("cls");

goto m;

printf("\n");
system("pause”);
return 0;

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SS Output:

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

V. TUGAS AKHIR

1. Sebutkan contoh penggunaan bilangan biner pada kehidupan sehari-hari!


Jawaban :
Penggunaan bilangan biner pada kehidupan sehari-hari yaitu
a. Kalkulator
Semua kalkulator elektronis bekerja dengan cara yang hampir sama. Kalkulator
ini menggunakan cara penambahan yang sangat cepat untuk menambah, mengurangi,
mengalikan, dan membagi. Ketika menekan tombol pada kalkulator, maka kita
menggunakan angka-angka sederhana seperti 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Sebuah
kalkulator bekerja dengan sebuah sistem yang disebut dengan sistem biner. Sistem
biner adalah sebuah sistem penulisan angka dengan menggunakan dua simbol (digit),
yaitu 0 dan 1. Sistem ini disebut juga sebagai bit atau binary digit.
b. Komputer
Prinsip kerja komputer adalah perhitungan, yaitu menghitung susunan angka- angka
yang disebut dengan bilangan biner, atau basis 2, yaitu 0 dan 1. jadi sebenarnya
komputer tidak mengenal gambar, warna, suara bahkan angka- angka yang kita kenal
selama ini: 3,4,5 dan seterusnya, yang disebut data. Untuk mengenal data ini,
komputer mengubah semuanya menjadi bilangan biner.

2. Ubahlah tipe bilangan dibawah ini!

E6(16) = …………...(8) = ................................... (10) =(2)

110100110(2) = ……….…..(8) = ……….…..(10) = …………...(16)

45(8) = ……….(2) = ……....(10) = …..…..(16)

Jawaban :

E6(16) = 346(8) = 230(10) = 11100110(2)

110100110(2) = 646(8) = 422(10) = 1A6(16)

45(8) = 100101(2) = 37(10) = 25(16)

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

VI. KESIMPULAN

1. Manipulasi bit adalah tindakan memanipulasi bit atau potongan data lainnya
secaraalgoritmik lebih pendek dari kata. Seluruh data yang ditampilkan oleh komputer
merupakan representasi dari kumpulan bit. Bahasa C menyediakan kemampuan untuk
memanipulasi bit (Binary Integer). Pada dasarnya untuk manipulasi bit juga
memanfaatkan Operator Bitwise. Operator Bitwise digunakan untuk memanipulasibit-
bit.

2. Operator dalam merubah bit Operator bitwise adalah operasi matematika yang
mengoperasikan suatu nilai dalam bilangan biner.
Operator-operator Bitwise yaitu :

Operasi Penggunaanya
Operator
Shift Left
<<

Shift Right (Geser Kanan)


>>
& Dan (AND)
| Atau (OR)
XOR (ExclusiveOR)
^

NOT
(KomplemenBitwise)
~

3. Format bilangan computer


a. Konversi Bilangan Biner menjadi Bilangan Oktal dan Heksadesimal
b. Konversi Bilangan Oktal menjadi Bilangan Biner
c. Konversi Bilangan Heksadesimal menjadi Bilangan Biner

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA
ROY JOHANES MOZES
202271539

SMART ELECTRONIC SYSTEM LABORATORY


IT-PLN JAKARTA

Anda mungkin juga menyukai