Na ma : ROY
JOHANES MOZES
NI M :
202271539
Kel as :B
Jur usan : D3 –
TEKNIK LISTRIK
Shift :2
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..
#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;
return 0;
}
SS Output :
#include <stdio.h>
#include <math.h>
int main()
double kecepatan,waktu,jarak;
printf("kecepatan :");
scanf ("%lf",&kecepatan);
printf("waktu :");
scanf ("%lf",&waktu);
SS Output :
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.
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.
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;
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.
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.
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
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;
return 0;
}
SS Output :
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.
Source code :
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);
SS output :
V. TUGAS AKHIR
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.
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
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
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.
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;
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”.
Source Code :
#include <stdio.h>
void pilihan();
int main() {
int menu;
char Nama [100];
printf("================================\n");
printf("Pembayaran UKT\n");
printf("================================\n");
do{
switch(menu) {
case 1:
break;
case 2:
pilihan();
break;
}
printf("\n======================================================
=====");
printf("\nTerima Kasih, Semangat Menjalankan Pendidikan Satu Semester");
printf("\n======================================================
=====\n");
return 0;
}
void pilihan(){
int bayar;
do{
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;
}
SS Output :
V. TUGAS AKHIR
3. Koreksi dan Analisa program dibawah ini dengan menggunakan aplikasi DEV
C++. Screenshot pada hasil yag tercetak pad tampilan layer executable
Jawaban:
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
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.
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.
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.
Source Code:
#include <stdio.h>
#include <windows.h>
#include <string.h>
return 0;
}
SS Output :
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”.
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{
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{
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 :
V. TUGAS AKHIR
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
3. Tentukan simbol yang digunakan untuk melengkapi prosedur di bawah ini (total 6
simbol)?
Jawaban :
VI. KESIMPULAN
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.
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");
}
}
}
SS Program:
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.
Source Code :
#include<stdio.h>
struct mahasiswa {
char nama[20];
int Anak_ke, Hobi, Domisili, Pekerjaan, Jenis_Kelamin;
};
mahasiswa mhs[50];
printf ("jumlah mahasiswa:");
scanf("%d",&y);
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);
SS Output :
V. TUGAS AKHIR
4. Perbaiki program dibawah ini, agar outputnya sesuai pada gambar dibawah!
Jawaban :
Perbaikan program,
Keterangan :
Jawaban :
Program:
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.
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
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 :
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.
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");
PLN\n");printf(" \n");
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);
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{
goto m;
printf("\n");
system("pause”);
return 0;
SS Output:
V. TUGAS AKHIR
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.
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.
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 :
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
I. TUJUAN
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 :
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.
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");
PLN\n");printf(" \n");
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);
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{
goto m;
printf("\n");
system("pause”);
return 0;
SS Output:
V. TUGAS AKHIR
Jawaban :
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
<<
NOT
(KomplemenBitwise)
~