Anda di halaman 1dari 78

NAMA : Rizky Danar Aprilianandha

PETUNJUK PRAKTIKUM
S1 TEKNIK ELEKTRO NIM : 2016-11-060

ALGORITMA DAN PEMROGRAMAN


SEMESTER GENAP

2017

KAMPUS STT-PLN
MENARA PLN
JL.LINGKAR LUAR BARAT
DURI KOSAMBI, CENGKARENG
JAKARTA BARAT 11750
TELP. 021 5440342

LABORATORIUM DASAR TEKNIK ELEKTRO


Nama : Syintia Azani
NIM : 2016-11-150

TATA TERTIB
LABORATORIUM ALGORITMA DAN PEMROGRAMAN

1. Modul praktikum harus sudah dipelajari. Jika terbukti belum dipelajari, inrtruktur lab. berhak
melarang Anda untuk mengikuti praktikum.
2. Praktikan wajib memakai kemeja berkerah, sepatu, dan almamater.
3. Anda harus sudah ada di laboratorium 15 menit sebelum praktikum dimulai.
4. Kartu praktikum harus sudah dibawa pada saat praktikum, tanpa kartu praktikum, Anda tidak
dapat diperkenankan mengikuti praktikum. Kartu praktikum harus diberi foto dan diisi
lengkap.
5. Sebelum praktikum dimulai praktikan wajib mengikuti tes awal. Nilai tes awal minimal 40.
(Nilai tes awal <40 mengikuti tes lisan. Jika tetap tidak lulus maka praktikan tidak bisa
mengikuti praktikum)
6. Laporan praktikum harus ditulis tangan dan diserahkan sesuai jadwal yang telah diberikan
oleh instuktur lab penyerahan tidak bisa diwakilkan, karena anda harus siap untuk
menghadapi tes akhir atau presentasi.
7. Acc laporan maksimal 3 hari setelah praktikum terakhir.
8. Pada saat pengumpulan laporan harus berpakaian rapih memakai kemeja, almamater dan
tidak memakai sandal jepit.
9. Keterlambatan penyerahan laporan praktikum, akan mengakibatkan nilai laporan anda
berkurang 1/7 untuk satu hari keterlambatan dari total nilai, terlambat satu minggu berarti
nilai laporan anda sama dengan nol.
10. Laporan dijilid SPIRAL PLASTIK, COVER BUFFALO SESUAI WARNA MAP.
11. Instruktur lab tidak akan memberikan jadwal pengganti/susulan jika praktikan tidak
mengikuti praktikum kecuali sudah mendapat izin dari instruktur lab. Jika berhalangan hadir
harus ada pemberitahuan maks. 2 hari sebelum praktikum.
12. Praktikan diperbolehkan pindah jadwal praktikum setelah diizinkan oleh instruktur lab yang
bersangkutan, dengan ketentuan :
 Praktikan mengisi lembar izin pada jadwal yang disediakan instruktur lab yang
bersangkutan dan mendapat persetujuan dari kepala laboraturium.
 Setelah mendapat tanda tangan dari instruktur dan kepala laboraturium, praktikan
baru boleh mengikuti praktikum.
 Instruktur lab berhak memberi sanksi jika ketentuan yang ada tidak dipenuhi.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 2


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

PENULISAN LAPORAN

1) Tulis tangan di A4 & dengan tinta biru


2) Susunan Laporan
a) Cover
b) Isi Laporan per modul :
 Judul + Tujuan (1 halaman)
 Teori Tambahan (minimal 3 lembar & ditulis tangan)
 Teori Modul (tulis tangan)
 Program (diprint & disusun permodul)
 Analisa (minimal 7 baris, ditulis tangan & ditulis perprogram)
 Kesimpulan (ditulis tangan dan disusun permodul)
 Tugas Akhir (diprint & tidak dianalisa)

CONTOH COVER DAN LEMBAR KERJA

LABORATORIUM DASAR TEKNIK ELEKTRO Page 3


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Kepala Laboratorium : Tony Kurniawan ST, MT.


Instruktur Laboratorium : Andi Makkulau, ST, M.I.Kom, MT.
Asisten : 1. Ade Suwidya Ningsih
2. Wishnu Wijayanto
3. Hera Esaysia Swantantraka
4. Kintan Fajarwati
5. Andi Dyah Harum
6. Wiwin Hadianti
7. Dita Ardiartanti
8. Ianatut Toyyibah
9. Willy Maqtal Baihaqi
10. Ridwan Febri Tri Nugroho
11. Dede Saepul Malik
12. Mukhamad Daris Alfarrel
13. Dzulfiqar Khaerullah
14. Muhammad Kahfi Fachelinno

LABORATORIUM DASAR TEKNIK ELEKTRO Page 4


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

LANGKAH KERJA

1. MEMBUAT FOLDER
klik folder Prak Algo  pilih Folder kelas  buat folder baru dengan format :
nim_Nama lengkap
2. MEMBUKA APLIKASI TURBO C
klik aplikasi Turbo C yang tersedia pada desktop
3. MEMBUAT FILE BARU
Klik File  klik New  ketik program yang tertera di modul
4. ME-RUNNING DAN COMPILE PROGRAM

Setelah program selesai diketik  klik icon atau CTRL+F9  output program akan
keluar bila program sudah benar jika tidak akan tampil laman error seperti:

Laman error akan menunjukkan baris yang terdapat kesalahan.

Jika program sudah dibetulkan klik kembali icon


5. MENYIMPAN PROGRAM
Klik File  Klik Save As  pilih folder tempat menyimpan program  ubah nama
program menjadi, exp: Prog01.cpp

LABORATORIUM DASAR TEKNIK ELEKTRO Page 5


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

6. SCREEN SHOOT PROGRAM


Tata letak program dan output  tekan tombol Prt sc sysrq (Print screen)  paste di Ms.
Word  crop gambar untuk merapihkan

LABORATORIUM DASAR TEKNIK ELEKTRO Page 6


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

DAFTAR ISI

TATA TERTIB.........................................................................................................................2
PENULISAN LAPORAN........................................................................................................3
NAMA KEPALA LAB, INSTRUKTUR, DAN ASISTEN.................................................... 4
LANGKAH KERJA.................................................................................................................5
DAFTAR ISI.............................................................................................................................7
MODUL I PENGENALAN BAHASA ………………………………………………………8
MODUL II STRUKTUR DASAR BAHASA ………………………………………….…...21
MODUL III PERCABANGAN DAN PERULANGAN…………………………………….36
MODUL IV ARRAY DAN FUNGSI……………………………………………………….52
MODUL V OPERASI FILE,STRUKTUR,MANIPULASI BIT, DAN KONSTANTA…....65

LABORATORIUM DASAR TEKNIK ELEKTRO Page 7


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

MODUL I
PENGENALAN BAHASA C

I. TUJUAN
a. Praktikan dapat menganalisa kesalahan sederhana pada program bahasa C
b. Praktikan dapat meng-compile, me-running serta menyimpan program
c. Praktikan dapat membuat program beserta flowchartnya

II. TEORI
2.1 FLOWCHART
2.1.1 Pengertian dan Definisi Flowchart
Flowchart atau Bagan alir adalah bagan (chart) yang menunjukkan alir (flow) di
dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan
terutama untuk alat bantu komunikasi dan untuk dokumentasi.
2.1.2 Jenis jenis Flowchart
Ada beberapa jenis flowchart diantaranya yaitu :
a. System Flowchart
System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem.Bagan ini menjelaskan urut-urutan dari
prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa
yang dikerjakan di sistem.
b. Document Flowchart
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir
(form flowchart) atau paperwork flowchart merupakan bagan alir yang
menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.
c. Schematic Flowchart
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip
dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam
sistem.Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-
simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan
peralatan lainnya yang digunakan.Maksud penggunaan gambar-gambar ini adalah
untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-
simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami,
tetapi sulit dan lama menggambarnya.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 8


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

d. Program Flowchart
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan
secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari
derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program
(program logic flowchart) dan bagan alir program komputer terinci (detailed
computer program flowchart). Bagan alir logika program digunakan untuk
menggambarkan tiap-tiap langkah di dalam program komputer secara logika.Bagan
alat- logika program ini dipersiapkan oleh analis sistem.Gambar berikut
menunjukkan bagan alir logika program. Bagan alir program komputer terinci
(detailed computer program flow-chart) digunakan untuk menggambarkan
instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan
oleh pemrogram.
e. Process Flowchart
Bagan alir proses (process flowchart) merupakan bagan alir yang banyak
digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk
menggambarkan proses dalam suatu prosedur.

2.1.3 Simbol dan Notasi Flowchart


Dipakai sebagai alat Bantu menggambarkan proses di dalam program. Dan dibagi
menjadi tiga kelompok:
♦ Flow Direction Symbols ♦
dipakai untuk menggabungkan antara symbol yang satu dengan symbol lainnya

Symbol Off-Line Connector (Simbol untuk keluar/masuk procedure atau proses


dalam lembar/halaman yang lain)
Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam
lembar/halaman yang sama)

LABORATORIUM DASAR TEKNIK ELEKTRO Page 9


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

♦ Processing symbols ♦
Menunjukkan jenis operasi pengolahan dalam suatu prosedur
Symbol Process (Simbol yang menunjukkan pengolahan yang dilakukan
oleh komputer)

Symbol Manual Operation (Simbol yang menunjukkan pengolahan yang


tidak dilakukanoleh komputer)

Symbol Decision (Simbol untuk kondisi yang akan menghasilkan


beberapa kemungkinan jawaban/aksi)

Symbol Predefined Process (Simbol untuk mempersiapkan penyimpanan


yang akan digunakan sebagai tempat pengolahan di dalam storage)

Symbol Terminal (Simbol untuk permulaan atau akhir dari suatu program

Symbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam


symbol ini akan disimpan)

Symbol Manual Input (Simbol untuk pemasukan data secara manual on-
line keyboard)

Symbol Keying Operation (Simbol operasi dengan menggunakan mesin


yang mempunyai keyboard)

♦ Input-output symbols ♦
menyatakan jenis peralatan yang digunakan sebagai media input atau output.

Symbol input-output (Symbol yang menyatakan proses input dan output


tanpa tergantung dengan jenis peralatannya)

Symbol magnetic-tape unit (Symbol yang menyatakan input berasal pita


magnetic atau output disimpan ke pita magnetic)

LABORATORIUM DASAR TEKNIK ELEKTRO Page 10


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Symbol punched card (Symbol yang menyatakan input berasal dari kartu
atau output ditulis ke kartu)

Symbol disk and on-line storage (Symbol untuk menyatakan input berasal
dari disk atau output disimpan ke disk)

Symbol display (Symbol yang menyatakan peralatan output yang


digunakan yaitu layar, plotter, printer, dan sebagainya)

Symbol dokumen (symbol yang menyatakan input berasal dari


dokumen dalam bentuk kertas atau output dicetak ke kertas)

2.2 PENGENALAN BAHASA C


2.2.1 Sejarah Bahasa C
Bahasa C dikembangkan oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone
Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali
digunakan di komputer Digital Equipment Corporation PDP-11 yang menggunakan
system operasi UNIX. Hingga saat ini penggunaan bahasa C telah merata diseluruh
dunia. Hampir semua perguruan tinggi di dunia menjadikan bahasa C sebagai salah
satu matakuliah wajib. Selain itu, banyak bahasa pemrograman popular seperti PHP
dan Java yang menggunakan sintaks dasar yang mirip bahasa C. Oleh karena itu, kita
juga sangat perlu mempelajarinya.

2.2.2 Kelebihan dan Kekurangan Bahasa C


Kelebihan Bahasa C
1. Bahasa C tersedia hampir di semua jenis komputer.
2. Kode bahasa C sifatnya adalah protable dan fleksibel untuk semua jenis komputer
3. Bahasa C hanya menyediakan 32 kata kata kunci
4. Proses executable program bahasa C lebih cepat
5. Dukungan pustaka yang banyak
6. C adalah bahasa yang terstruktur
7. Bahasa C termasuk bahasa tingkat menengah

LABORATORIUM DASAR TEKNIK ELEKTRO Page 11


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Kekurangan Bahasa C
1. Banyaknya operator serta fleksibilitas penulisan program kadang kadang
membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.3 PENULISAN PROGRAM BAHASA C


Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi biasa
dimulai dari kolom manapun. Namun Demikian, untuk mempermudah pembacaan
program dan utuk keperluan dokumentasi, sebaiknya penulisan bahasa C daitur
sedemikian rupa sehingga mudah dan enak dibaca. Penulisan program diawali
dengan header, fungsi utama, kurung kurawal buka ({ ) untuk mengawali program,
titik koma (;) untuk mengakhiri statement, kurung kurawal tutup( }) yang berfungsi
untuk mengakhiri program.
Petunjuk dalam penulisan program :
1. Dalam 1 baris sebaiknya 1 perintah saja
2. Perintah/pernyataan yang merupakan bagian dari suatu fungsi dituliskan agak
menjorok kedalam
3. Bila sebuah perintah tidak cukup dituliskan dalam suatu baris, anda dapat
menuliska ke baris berikutnya dengan rapi.
4. Bila perlu gunakan spasi untuk memisahkan kelompok perintah dengan
kelompok perintah yang lain.
5. Diharapkan anda menggunakan komentar untuk memberikan keterangan
program.

2.4 MENG-COMPILE DAN ME-RUNNING PROGRAM


a. Meng-compile Program
Berikut ini langkah-langkah untuk meng-compile program :
 Pilih menu Compile atau menekan tombol Alt+F9

LABORATORIUM DASAR TEKNIK ELEKTRO Page 12


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

b. Me-running Program
Berikut ini langkah-langkah untuk me-Running program :
 Pilih menu Run atau menekan tombol Ctrl+F9

LABORATORIUM DASAR TEKNIK ELEKTRO Page 13


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

III. Program dan Flowchart


 Menampilkan bilangan ganjil dan bilangan genap
Flowchart :

Program :
#include<stdio.h>
#include<conio.h>
main();
{
int bilangan;
printf("Masukkan bilangan : ");
scanf("%d",&bilangan);
if(bilangan%2==0)
{
printf("Bilangan tersebut adalah Bilangan Genap");
}
else
printf("Bilangan tersebut adalah Bilangan Ganjil");
getch();
}
 Menghitung hambatan pengganti pada rangkaian seri
Flowchart :

LABORATORIUM DASAR TEKNIK ELEKTRO Page 14


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Program :
#include<stdio.h>
#include<conio.h>
main()

float r1,r2,rp;
printf("Menghitung Hambatan Pengganti Pada Rangkaian Seri");
printf("\nMasukan Nilai Hambatan 1 : ");
scanf("%f",&r1);
printf("Masukan Nilai Hambatan 2 : ");
scanf("%f",&r2);
rp=r1+r2;
printf("Nilai Hambatan Penggantiny Adalah : %f",rp);
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 15


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Menghitung Tegangan dengan Hukum Ohm


Flowchart :

Program :
#include”stdio.h>
#include<conio.h>
main()
{
int v,i,r;
clrscr();
printf("\t\t\t\t------------------ HUKUM OHM-----------------\n\n");
printf("\t\t\t\tMasukkan nilai arus: ");
scanf("%d",&i);
printf("\t\t\t\tMasukkan nilai hambatan: ");
scanf("%d",&r);
v=i*r
printf("\t\t\t\tJadi nilai Tegangan adalah: %d ",v);
getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 16


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Menghitung hambatan pengganti induktor pada rangkaian seri dengan perulangan


for
Flowchart :

Program :
#include<stdio.h>
include<conio.h>
main()
{
int i,induktor,jumlah,total;
total=0
printf("Masukkan jumlah induktor: ");
scanf("%d",&jumlah);
printf("\n");
for(i=1;i<=jumlah;i++)
{
printf("induktor %d : ",i);
scanf("%d",&induktor);
total=total+induktor;
}
printf("Nilai induktor pengganti seri adalah %d",total);
getch();}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 17


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Menghitung Nilai Tegangan dan Ramgkaian Seri


Flowchart :

Program :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int pilihan,v,i,r,r1,r2,r3,rs;
printf("MENU PILIHAN\n\n");
printf("1. Menghitung Tegangan\n");
printf("2. Menghitung Rangkaian Seri\n");
while(pilihan>=0)
{
printf("\npilihan anda (1/2): ");
scanf("%d",&pilihan);
if(pilihan==1)
{
printf("Menghitung Tegangan\n");
printf("Masukan Arus : ");
scanf("%d",&i);
printf("Masukan Hambatan : ");
scanf("%d",&r);
v=i*r;
printf("Jadi Tegangannya adalah %d ",v);
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 18


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

else
if (pilihan==2)
{
printf("Menghitung Rangkaian Seri\n");
printf("hambatan1 :");
scanf("%d",&r1);
printf("hambatan2 :");
scanf("%d",&r2);
printf("hambatan3 :");
scanf("%d",&r3);
rs=r1+r2+r3;
printf("Jadi Rnilai rangkaian seri tersebut adalah %d \n",rs);
}
else
if(pilihan==3)
{
printf(“pilihan yang anda masukan salah”);
}
}
Getch0;

LABORATORIUM DASAR TEKNIK ELEKTRO Page 19


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

IV. TUGAS RUMAH


1. Apa yang disebut dengan source code dan executable pada algoritma ?
2. Jelaskan dengan benar petunjuk dalam penulisan program !
3. Jelaskan perbedaan mendasar antara compile dan running dalam program Bahasa C !
4. Pada penulisan awal pembuatan program terdapat penggunaan header
#include<stdio.h> dan #include<conio.h>. Jelaskan maksud dari penggunaan header
tersebut !
5. Apabila hasil “run” program ternyata salah atau “error”, bagaimana menenukan
tahapan penyebab kesalahan tersebut ? Jelaskan !

V. TUGAS AKHIR
1. Jelaskan fungsi dari (;) ({) (}) !
2. Sebutkan dan jelaskan 8 simbol dalam penulisan flowchart !
3. Buatlah flowchart untuk menghitung nilai arus dengan rumus I = q/t !
4. Secara garis besar terdapat 3 bagian utama dalam pembuatan flowchart, sebutkan dan
jelaskan bagian tersebut !

LABORATORIUM DASAR TEKNIK ELEKTRO Page 20


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

MODUL II
STRUKTUR BAHASA C

I. TUJUAN
a. Praktikan dapat memahami Struktur Dasar Bahasa C
b. Praktikan dapat mengenal dan memahami tipe data yang ada dalam bahasa C
c. Praktikan dapat memahami variable, aturan penamaannya dan pendeklarasainnya
d. Praktikan dapat memahami format data input dan output

II. TEORI
2.1 TIPE DATA
Tipe data merupakan bagian program yang paling penting karena tipe data
mempengaruhi setiap instruktur yang akan dilaksanakan oleh komputer. Misalnya saja
5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5
dan 2 bertipe integer maka akan menghasilkan nilai 2. Namun jika keduanya bertipe
float maka akan menghasilkan nilai 2..5000000. Pemilihan tipe sata yang tepat akan
membuat proses operasi data menjadi lebih efisien dan efektif.
Dalam bahasa C terdapat tujuh tipe data dasar, yaitu :
Tipe
No Ukuran Range (Jangkauan) Format Keterangan
Data
1 Char 1 byte -128 s/d 127 %c Karakter/String
2 Oktadesimal %o Bilangan Oktadesimal
3 Int 2 byte -32768 s/d 32767 %i, %d Integer/Bilangan Bulat
4 Hexadesimal %x Bilangan Hexadesimal
5 Float 4 byte -3.4E-38 s/d 3.4E+38 %f float/Bilangan pecahan
6 Void - - - Tidak bertipr data
7 Double 8 byte -1.7E-308 s/d 1.7E+308 %lf Pecahan presisi ganda

2.2 KONSTANTA
Konstanta adalah suatu nilai yang sifatnya tetap, misal angka ‘1’ adalah angka ‘1’
bukan angka ‘2’. Contoh lain adalah huruf ‘a’ adalah ‘a’ bukan ‘b’ atau yang lainnya.
Sebagai ilustrasi, kita lihat a=2, ‘a’ disini bukan lagi merupakan konstanta. Karena
pada saat ini ‘a’ bernilai 2 dan pada kesempatan lain bias saja ‘a’ bernilai 3 atau 100.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 21


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Jadi ‘a’ disini terlepas dari hakekat artinya (‘a’ adalah ‘a’) dalam hal ini ‘a’ bukan lagi
konstanta, melainkan suatu variable.
Secara garis besar konstanta dapat kita bagi atas dua bagian :
a. Bilangan (numerik)
i. Bilangan bulat (integer)
ii. Bilangan decimal berpresisi tunggal(floating point), dengan 2 tampilan :
1. Bentuk desimal, contoh : 1.23
2. Bentuk eksponen, contoh : 1.234e2 artinya 1.234 x 102
iii. Bilangan desimal berpresisi ganda, sama dengan point(ii) tapi dengan
ketelitian lebihtinggi.
b. Teks (string)
i. Data karakter
Data yang 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.
ii. Data string
Rangkaian dari beberapa karakter dan ditandai dengan tanda kutip ganda (“).
Contoh : “saya”, “17 tahun”, “081111111” dan lain-lain.

Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program
berlangsung. Konstanta harus didefinisikan terlebih dahulu diawal
program.Konstanta dapat bernilai integer, pecahan, karakter dan string.
Contoh konstanta : 50; 13; 3.14; 4.50005; ‘A’; ‘Bahasa C’.

Selain itu, bahasa c juga menyediakan beberapa karakter khusus yang disebut
karakter escape, antara lain :
\a : untuk bunyi bell (alert)
\b : mundur satu spasi
(backspace) \f : ganti halaman
(form feed)
\n: ganti baris baru (new line)
\r: ke kolom pertama, baris yang sama (carriage
return) \v: tabulasi vertical
\0: nilai kosong (null)

LABORATORIUM DASAR TEKNIK ELEKTRO Page 22


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

\’: karakter petik


tunggal \”: karakter
petik ganda
\\: karakter garis miring

2.3 VARIABEL
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai
tertentu didalam proses program. Variabel digunakan bila Anda ingin bekerja dengan
data yang dapat berubah-ubah dari waktu ke waktu dan data tersebut ingin
ditempatkan pada lokasi memori yang sama. Variabel dapat kita andalkan sebagai
sebuah tempat penampungan data atau konstanta pada memori.Sedangkan nilai yang
selalu tetap, variabel dapat berubah-ubah.Sebuah variabel dapat mengandung data
yang berbeda pada saat yang berbeda.

Contoh :

harga_satuan=112.50; lokasi memori


112.50
Harga satuan

Variable Konstant
a

2.3.1 Nama Variabel


Anda dapat menentukan sendiri nama variabel, tapi dengan memperhatikan hal
berikut :
a) Hanya boleh terdiri dari abjad, bilangan dan tanda hubung( _ ) , contoh :
bilangan1
sum
hasil_bagi
b) Hanya boleh terdiri dari abjad, bilangan dan tanda hubung( _ ) , contoh :
bilangan1
sum
hasil_bagi

LABORATORIUM DASAR TEKNIK ELEKTRO Page 23


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

c) Tidak boleh diawali dengan angka, contoh nama variabel yang salah:
100bilangan
2005_tahun
d) Hanya boleh terdiri dari abjad, bilangan dan tanda hubung( _ ) , contoh :
bilangan1
sum
hasil_bagi
e) Tidak boleh diawali dengan angka, contoh nama variabel yang salah:
100bilangan
2005_tahun
f) Tidak boleh menggunakan operator aritmatika (+-/#%), contoh variabel yang
salah :
min+nilai
gaji-pajak
nama/nim
g) Tidak boleh menggunakan karakter khusus, yaitu : ;, :, #, @, $, ^, !, &, dan
titik (.)., contoh variabel yang salah :
luas; segitiga
#perintah
tempat&tgllahir
h) Nama variabel tidak boleh menggunakan karakter khusu, yaitu : ;, :, #, @, $, ^,
!, &, dan titik (. ), contoh variabel yang salah :
nama lengkap
program keahlian
i) Jangan menggunakan nama fungsi atau perintah lain yang mempunyai arti
khusus dalam Turbo C (reserved word). Contoh nama variabel yang salah :
main
printf
return 0
j) Nama variabel boleh terdiri dari reseved word yang digabung dengan kata
lain, contoh :
main1
printf_karakter

LABORATORIUM DASAR TEKNIK ELEKTRO Page 24


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

k) Turbo C membedakan huruf besar dan huruf kecil, contoh :


 Gaji GAJI dan gaji merupakan tiga nama varibel yang berbeda

2.2.3 Jenis-jenis variabel


Seperti halnya konstanta, variabel juga terbagi menjadi dua kelompok, yaitu :
a. Variabel Numerik :
i. Bilangan bulat (integer) menampng bilangn berkisar antara -32768 hingga
32768
ii. Bilngan desimal berpresisi tunggal, dalam bentuk floating point menampung
data dari -3.4E-38 sampai 3.4E+38 sedangkan dalam bentuk desimal dapat
menampung hingga 6 desimal (6angka di belakang koma )
iii.Bilangan desimal berpresisi ganda, dalam bentuk double precision berkisar
antara 10-308 sampai 10308, sedangkan dalam bentuk decimal dapat
menampung hingga 15 desimal (15 angka dibelakang koma)

b. Variabel Teks:
i. Karakter terdiri dari 1 huruf, angka, atau simbol
ii. String terdiri dari beberapa karakter

2.4 DEKLARASI
Sebelum sebuah variabel digunakan, variabel tersebut harus “diperkenalkan” lebih
dahulu kepada Turbo C. Deklarasi diperlukan bila kita akan menggunakan pengenal
(identifier) alam program. Identifier dapat berupa variabel , konstanta dan fungsi.

2.4.1. Deklarasi Variabel


Bentuk umum pendeklarasian suatu variabel adalah:
Contoh :
/*Nama_tipe nama_variabel*/
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

LABORATORIUM DASAR TEKNIK ELEKTRO Page 25


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.4.2. Deklarasi Konstanta


Dalam bahasa C konstanta dideklarasikan menggunakna preprocessor #define.
Contoh :
#define PHI 3.14

2.4.3. Deklarasi Fungsi


Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau
dipanggil dimanapun di dalam program. Fungsi dalam bahasa C ada yang sudah
disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk
menggunakannya tidak perlu dideklerasikan. Fungsi yang perlu dideklerasikan
terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi
sebuah fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi);
Contohnya :
float luas_lingkaran(int jari);

2.5 OPERATOR
2.5.1 Operator Penugasan
Operator penugasan (Assignment operator) dalam bahasa C berupa tanda sama
dengan (“=”).
Contoh :

nilai = 80;

A= x*y;

Artinya : variabel “nilai” diisi dengan 80 dan variabel “A” diisi dengan hasil perkalian
anatara x dan y.

2.5.2. Operator Aritmatika


Bahasa C meneyediakan lima operator aritmatika, yaitu :
* : Untuk perkalian
/ : Untuk pembagian
% : Untuk sisa pembagian (Modulus)
+ : Untuk pertambahan
- : Untuk pengurangan

LABORATORIUM DASAR TEKNIK ELEKTRO Page 26


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Catatan :operator % digunakan untuk mencari sisa pembagian antara dua


bilangan.Misalnya :
9%2=1
9%5=4
9%3=0

2.5.3 Operator unary


Operator unary merupakan operator yang hanya membutuhkan satu operand saja.
Dalam bahasa C terdapat beberapa operator unary, yaitu :
Operator Arti Letak Contoh Ekivalen
-- Unary minus Sebelum Operator A=-B*C A-(- B)*C
++ Penambahan nilai 1 Sebelum dan sesudah A++ A=A+1
-- Pengurangan nilai 1 Sebelum dan Sesudah A-- A=A-1
size of Ukuran operand dalam byte Sebelum Sizeof(l) -
! Unary NOT Sebelum !A -
~ Birtwise NOT Sebelum ~A -
& Alamat Operand Sebelum &A -
* Nilai dari pointer Sebelum *A -

2.5 Kata Tercadang


Bahasa C srandar ANSI memiliki 32 kata tercadang (reserve word) dan Turbo C
menambahkannya dengan 7 kata tercadang. Semua reserved word tidak boleh
digunakan dalam penamaan identifier (variable, nama fungsi dll). Kata Tercadang
yang tersedia dalam bahasa C adalah :
*asm default For *pascal Switch
Auto do Goto Register Typedef
Break double *huge Return Union
Case else If Short Unsigned

*cdce enum Int Signed Void


Char extem *interrupt Sizeof Volatile
Const *far Long Static While
Continue float *near Struct

Keterangan : tanda * menunjukan tambahan dari Turbo C

LABORATORIUM DASAR TEKNIK ELEKTRO Page 27


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.6 Komentar
Komentar program hanya diperlukan untuk memudahkan pembacaan danpemahaman
suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar
program hanya merupakan keterangan atau penjelasan program. Untuk memberikan
komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau
menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar
program tidak akan ikut diproses dalam program (akan diabaikan).

2.7 MEMASUKKAN DATA

Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa :


2.7.1 scanf()
Fungsi pustaka scanf() digunakan untuk menginput data berupa data numeric,
karakter dan string secara terformat.
Hal-hal yang perlu diperhatikan dalam pemakain fungsi scanf() :
Fungsi scanf() memakai penentu format
Fungsi scanf() memberi pergantian baris secara otomatis
Fungsi scanf()tidak memerlukan penentu field
Variabelnya harus menggunakan operator alamat &
Kode penentu format:
%c : Membaca sebuah karakter
%s : Membaca sebuah string
%i, %d :Membaca sebuah bilangan bulat (integer)
%f, %e: Membaca sebuah bilangan pecahan (real)
%o : Membaca sebuah bilangan octal
%x :Membaca sebuah bilangan heksadesimal
%u : Membaca sebuah bilangan tak betanda

2.7.2 Gets()
Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat
digunakan untuk memasukkan data numerik.Harus diakhiri dengan penekan tombo
enter Cursor secara otomatis akan pindah baris tidak memerlukan penentu format.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 28


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.7.3 getchar()
Fungsi getchar() digunakan untuk membaca data yang bertipe karakterHarus diakhiri
dengan penekanan tombol enter Karakter yang dimasukkan terlihat pada layar
Pergantian baris secara otomatis
2.7.4 getch() dan getche()
Fungsi getch() dan getche() digunakan membaca data karakterKarakter yang
dimasukkan tidak perlu diakhiri dengan penekanan tombol enter Tidak memberikan
efek pergantian secara otomatisJika menggunakan fungsi getch() karakter yang
dimasukkan tidak akan ditampilkan pada layar sehingga sering digunakan untuk
meminta input berupa password. Sedangkan pada getche() karakter yang
dimaksudkan akan ditampilkan pada layar.

CATATAN :
Jika terdapat beberapa input(memasukkan data)sekaligus , maka sebaiknya
ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi fflush
(stdin)berfungsi mengahapus buffer di dalam alat I/O.

2.8 MENAMPILAKAN DATA


2.8.1 Menampilkan data ke layar monitor.
Menggunakan fungsi printf(), puts(), dan putchar().
 Fungsi printf()
digunakan untuk menampilkan semua jenis data (numeric dan karakter)
 Fungsi puts()
digunakan untuk menampilkan data string dan secara otomatis akan diakhiri dengan
perpindahan baris.
 Fungsi putchar()
digunakan untuk menampilkan sebuah karakter

2.8.2 Mengatur tampilan bilangan pecahan (float).


Bentuk umum :
printf(“%m.nf”, argument);
m : menyatakan panjang range
n : menyatakan jumlah digit dibelakang koma.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 29


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Argument : Nilai atau variabel yang akan ditampilkan


Contoh :
printf(“%5.2f”, nilai);
artinya variabel nilai akan ditampilkan sebanyak 5 digit dengan 2 digit dibelakang
koma.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 30


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

III. PROGRAM
 Contoh program tipe data

#include <stdio.h>
#include <conio.h>
void main();
{
int tegangan_1_fasa;
float phi;
char v_kali_i;
double phi_1;
clrscr();
Printf("=====================================");
Printf("\nProgram penggunaan tipe data");
printf("\n=====================================\n");
tegangan_1_fasa =220;
phi=3.14;
v_kali_i='p';
phi_1 =3.14;
printf("Nilai dari tegangan_1_fasa adalah :%d\n",tegangan_1_fasa);
printf("Nilai dari phi adalah :%f\n",phi);
printf("Nilai dari v x i adalah :%c\n",v_kali_i);
printf("Nilai dari phi adalah :%lf\n",phi_1);
getch();
}

 Contoh program pemakaian konstanta

#include <stdio.h>
#include <conio.h>
main();
{
printf("=====================================");
printf("\nProgram Yang Menampilkan Value Konstan String");
printf("\n=====================================\n");
putchar('L');
putchar('I');
putchar('S');
putchar('T');
putchar('R');
putchar('I');
putchar('k');
printf("\n\n=====================================");
printf("\nProgram Yang Menampilkan Value Konstan Integer");

LABORATORIUM DASAR TEKNIK ELEKTRO Page 31


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

printf("\nDengan Mencari Daya Listrik");


printf("\n=====================================\n");
printf("\nDiketahui: ");
printf("\nTV LCD = 220 V");
printf("\nArus = 1,2 A");
printf("\nDaya = %.0f ", 220.0*1.2);
getch();
return 0;
}

 Contoh program menggunakan Operator aritmatika

#include <stdio.h>
#include <conio.h>
main()
{
printf("\n\n=====================================");
printf("\nPerbedaan Daya Listrik Antara Kost Kahfi dan Kost Kintan");
printf("\n=====================================\n");
printf("\nKost A: ");
printf("\n1 Kipas Angin = %d Watt ",60);
printf("\n1 Rice Cooker = %d Watt ",400);
printf("\n2 Lampu = %d Watt ",2*18);
printf("\nKost B: ");
printf("\n1 AC = %d Watt ",820);
printf("\n1 Rice Cooker = %d Watt ",400);
printf("\n2 Lampu = %d Watt ",2*18);
printf("\n\nTotal Daya Kost A : %d",60+400+(2*18));
printf("\nTotal Daya Kost B : %d",820+400+(2*18));
printf("\nSelisih Total Daya antara kost A dan B: %d",1256-496);
printf("\nRata-Rata Total Daya antara kost A dan B: %.0f",(1256.0+496.0) /2.0);
getch();
return 0;
}

 Contoh Program Peningkatan Operator ++ yang diletakan didepan dan


dibelakang operand.
#include <stdio.h>
#include <conio.h>
main(){
int x= 5;
int Arus
Arus = ++x;

LABORATORIUM DASAR TEKNIK ELEKTRO Page 32


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

printf("\nArus v1 : %d ",Arus);
Arus=x++;
printf("\nArus v2 : %d ",Arus);
}

 Contoh Program Peningkatan Operator - - yang diletakan didepan dan


dibelakang operand.
#include <stdio.h>
#include <conio.h>
main();{
intx= 5;
int tegangan;
tegangan = --x;
printf("\nTegangan v1 : %d ",tegangan);
tegangan=x--;
printf("\ntegangan v2 : %d ",tegangan);
}

 Contoh Program Memasukan inputan dengan beberapa Tipe data.


#include"stdio.h"
#include"conio.h"
main()
{
char simbol,arus[20];
float nilai;
printf("Masukan simbol arus : ");
scanf("%c",&simbol);
printf("Nama alat pengukur arus :");
scanf("%s",&arus);
printf("Masukan nilai arus :");
scanf("%f",&nilai);
printf("\nNama-nama variabel yang anda masukan adalah :\n");
printf("simbol = %c",simbol);
printf("\nAlat ukur Arus =%s",arus);
printf("\nnilai arus =%f",nilai);
getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 33


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh Program inputan Tipe data Karakter/string.

#include"stdio.h"
#include"conio.h"
main()
{
char nama[20];
printf("Masukan nama alat pengukur arus : ");
gets(nama);
printf("Nama alat pengukur arus adalah %s",nama);
getch();}

 Contoh Program inputan Tipe data Karakter/string Menggunakan getche dan


getch.

#include"stdio.h"
#include"conio.h"
main()
{
char huruf1,huruf2;
printf("Masukan simbol tegangan : ");
huruf1=getche();
printf("\njawaban yang anda masukan adalah %c\\n",huruf1);
printf("\nMasukan simbol daya : ");
huruf2= getch();
printf("\njawaban yang anda masukan adalah :%%c",huruf2);
getch();}

 Contoh Program untuk menampilkan data berupa bilangan pecahan


#include <conio.h>
void main()
{
float arus,tegangan,daya;
printf("=====================================");
printf("\nProgram Untuk Menghitung Daya Listrik");
printf("\n=====================================");
printf("\nMasukkan Tegangan : ");
scanf("%f",&tegangan);
printf("\nMasukkan Arus : ");
scanf("%f",&arus);
daya = tegangan * arus;
printf("Daya yang dihasilkan: %.2f",daya)}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 34


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

VI. TUGAS RUMAH


1. Sebutkan dan Jelaskan Macam macam tipe data ?
2. Jelaskan Perbedaan antara Karakter dan String ?
3. Jelaskan perbedaan deklarasi , variabel dan fungsi ?
4. sebutkan fungsi dari :
 Getchar
 Getch
 Getche

V. TUGAS AKHIR
1. Apa perbedaan dari konstanta dan variable berikan masing masing contohnya…!
2. Apa perbedaan dari string dan char ?
3. Apa perbedaan dari fungsi scanf() dan gets() ?
4. Apa perbedaan dari fungsi getche() dan getch() ?
5. Jelaskan perbedaan dari operator (%) dan operator (/) berikan masing masing
contohnya…!

LABORATORIUM DASAR TEKNIK ELEKTRO Page 35


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

MODUL III
STRUKTUR BAHASA C

I. TUJUAN
b. Membuat dan memahami proses perulangan dengan : struktur while ,do…while,for.
c. Membuat dan memahami proses percabangan dengan : struktur if, if….else,nested if,
switch….case.

II. TEORI
2.1 PERCABANGAN
Percabangan bersyarat memungkinkan anda untuk memilih suatu pilihan dari
beberapa pilihan yang disediakan berdasarkan kondisi yang sesuai. Kondisi dapat
diperoleh dengan operasi perbandingan maupun operasi logika.

2.1.1. Pernyataan IF
Pernyataan IF membagi suatu alur proses menjadi dua cabang , berdasarkan
persyaratan yang diberikan. Cabang pertama dijalankan bila persyaratan
terpenuhi,sedangkan cabang yang kedua akan dipilih bila persyaratan tidak dipenuhi.
Bentuk dasar pernyataan if adalah:
If (ekspresi kondisional)
Statemen ;
Penjelasana diatas jika hanya terdiri dari satu statement, Bagaimana Jika lebih dari 1 ?
Jika lebih dari satu makan statemennya harus berada dalam { }.

If (ekspresi kondisional)
{
Statemen 1
……..
Statemen_n
}
Penjelasannya jika ekspresi kondisional di dalam tanda kurung benar, maka statemen
atau grup statemen dibawahnya akan dieksekusi, sebaliknya jika ekspresi
kondisionalnya salah maka statemen/grup statemen di bawahnya tidak akan
dieksekusi (fungsi if tidak menghasilkan apa-apa). Ekpresi kondional adalah ekspresi

LABORATORIUM DASAR TEKNIK ELEKTRO Page 36


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

yang menjadi dasar bagi pernyataan yang berkondisi (selau dipakai pada fungsi if),
yang memberikan nilai benar atau salah.

2.1.2. Pernyataan IF ELSE


Pernyataan if else sebenarnya pengembangan dari pernyataan if .disini kedua cabang,
yaitu syarat dipenuhi dan syarat tidak dipenuhi , masing-masing memiliki perintah
yang harus dijalankan.
Seperti halnya pernyataan if , cara penulisan struktur if else juga dibedakan menjadi
dua bentuk yaitu alternative dengan satu perintah atau alternative dengan banyak
perintah.
Bentuk dasar pernyataan if else :

If(syarat)
{
…………………perintah;
…………………perintah;
}
else
{
……………perintah;
……………perintah;
}

2.1.3. Pernyataan Nested IF


Untuk masalah-masalah yang memiliki lebih dari dua cabang.Nested if merupakan
salah satu alternative yang dapat digunakan. Nested If sebenernya adlaah suatu bentuk
struktur if didalam if , if yang kedua ini merupakan bagian dari if else yang pertama
dibawah ini merupakan gambar diagram gambar diagram alir/ flowchart dari sebuah
proses nested if.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 37


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Bentuk dasar dari pernyataan if else :

If(syarat)
{
…..perintah;
}
else
If(syarat)
{
…..perintah;
}
else
{
….perintah;
}

2.1.4. Pernyataan Switch-Case


Pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang
melibatkan sejumlah atau banyak alternatif penyeleseian. Pernyataan switch-case ini
memiliki kegunaan sama seperti if else bertingkat, tetapi penggunaanya untuk
memeriksa data yang bertipe integer atau karakter.
Bentuk dari penyataan switch-case :

switch ( ekspresi integer atau karakter )


{
case konstanta-1:
...perintah;
...perintah;
break;
case konstanta-2:
...perintah;
...perintah;
break;
default:

LABORATORIUM DASAR TEKNIK ELEKTRO Page 38


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

...perintah;
...perintah;
break;}

2.2 . PERULANGAN
Dalam Bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang
berulang ulang sebanyak keinginan kita. Misalnya saja,bila kita menginginkan
menginput dan mencetak bilangan satu sampai dengan 100 bahkan 1000 tentunya kita
akan merasa kesulitan namun dengan struktur perulangan proses kita tidak perlu
menuliskan perintah sampai 100 atau 1000 kali cukup dengan beberapa perintah saja.
2.2.1. Struktur Perulangan WHILE
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses
suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while
memungkinkan statement-statement yang ada didalamnya tidak dilakukan sama
sekali. Perulangan while merupakan perulangan dengan pengecekan kondisi
dilakukan di awal perulanggan.
Bentuk umum daristruktur perulangan while adalah:
Inisialisasi;
while (kondisi)
{
Pernyataan;
Langkah;
}
Seperti yang telah dijelaskan diatas bahwa kondisi while pengujian kondisi dilakukan
pada awal, sehingga apabila kondisi bernilai salah maka pernyataan tidak akan
dijalankan sama sekali.
2.2.2. Struktur Perulangan DO…WHILE…
Pernyataan do while mirip seperti pernyataan while, hanya saja pada struktur
perulangan do while pengecekan kondisi perulangan dilakukan di akhir perulangan.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 39


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Bentuk umum dari perulangan do while :


Inisialisasi;
do {
pernyataan;
langkah;
}
while (kondisi)
Seperti yang telah dijelaskan bahwa perulangan do while pengujian kondisi dilakukan
pada akhir perulangan sehingga secara otomatis pernyataan masih akan dijalankan
satu kali meskipun kondisi perulangan bernilai salah.
2.2.3. Struktur Perulangan FOR
Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah
diketahui jumlah perulangannya. Dari segi penulsannya, struktur percabangan for
tampaknya lebih efisien karena susunannya lebih simple dan sederhana. Bentuk
umum perulangan for adalah sebagai berikut :
for(inisialisasi;syarat;penambahan)
pernyataan;
Keterangan :
Inisialisasi : pernyataan yang untuk menyatakan keadaan awal dari variable control
Syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan
Penambahan: Pengatur perubahan nilai variable control.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 40


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

III. PROGRAM
 Contoh Program IF
 Menentukan tarif harga listrik per 1 Kwh
#include<stdio.h>
#include<conio.h>
main()
{
int daya;
printf("menentukan tarif harga listrik per 1 Kwh");
printf("\nMasukkan Daya yag dipakai dirumah anda : ");
scanf("%d",&daya);
if(daya<=450)

printf("--------------------------------------\n");
printf("tarif listrik per Kwh anda : Rp. 1000");
}
getch0;
}

 Menentukan kondisi saklar


#include<stdio.h>
#include<conio.h>
main()
{
char saklar;
printf("Apakah saklar dalam keadaan tertutup : ");
saklar=getche();
if(saklar=='y' saklar=='Y')
{
printf("\n-------------------------------------------");
printf("\nRangkaian tertutup");
printf("\nArus dapat mengalir");
printf("\nLampu dalam keadaan menyala");

getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 41


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh Program IF ELSE


 Menentukan hambatan dari resistor dengan kode warna
#include<stdio.h>
#include<conio.h>
main()
{
int jawab;
printf("Berapakah nilai hambatan dari resistor berikut?\n");
printf("Jika resistor memiliki gelang warna : merah, merah, coklat\n");
printf("Jawab : ");
scanf("%d",&jawab);
if(jawab==220)
{
printf("jawaban anda benar");

else;
{
printf("jawaban anda salah");
}
getch();
}
 Menghitung 2 hambatan dipasang seri dan parallel
#include<stdio.h>
#include<conio.h>
main()
{
char kondisi;
float r1,r2,rs,resistor1,resistor2,rp;
printf("Menghitung 2 hambatan dipasang seri dan parallel\n");
printf("s = Seri\n");
printf("p = Parallel\n");
printf("\nPilih kondisi hambatan : ");
kondisi=getche();
if(kondisi==s||kondisi==S)
{
printf("\n-------------------------------------------------\n");
printf("Menghitung 3 Hambatan dipasang secara seri\n");
printf("hambatan 1 : ");
scanf("%f",&r1);
printf("hambatan 2 : ");
scanf("%f",&r2);
rs=r1+r2;
printf("Nilai Hambatan Penggantinnya : %.2f ohm",rs);

LABORATORIUM DASAR TEKNIK ELEKTRO Page 42


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

}
else

printf("\n-------------------------------------------------\n");
printf("Menghitung 2 Hambatan dipasang secara parallel\n");
printf("hambatan 1 : ");
scanf("%f",&resistor1);
printf("hambatan 2 : ");
scanf("%f",&resistor2);
rp=(resistor1*resistor2)/(resistor1+resistor2);
printf("Nilai Hambatan Penggantinnya : %f ohm",rp);
}
getch();
}

 Contoh Program Nested IF


 Menghitung Daya 1 fasa dan 3 fasa
#include<stdio.h>
#include<conio.h>

main()
{
int fasa;
float tegangan1,arus1,daya1,tegangan3,arus3,daya3;
printf("Menghitung daya 3 fasa dan 1 fasa");
printf("\nPilih sistem fasa : ");
scanf("%d",&fasa);
if(fasa==1)
{
printf("----------------------------------\n");
printf("Menghitung daya 1 fasa");
printf("\nMasukkan tegangan : ");
scanf("%f",&tegangan1);
printf("Masukkan Arus : ");
scanf("%f",&arus1);
daya1=tegangan1*arus1;
printf("Nilai dayanya adalah : %.2f watt",daya1);
}
else
{
if(fasa==3)
{
printf("----------------------------------\n");

LABORATORIUM DASAR TEKNIK ELEKTRO Page 43


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

printf("Menghitung daya 3 fasa");


printf("\nMasukkan tegangan : ");
scanf("%f",&tegangan3);
printf("Masukkan Arus : ");
scanf("%f",&arus3);
daya3=tegangan3*arus3*sqrt(3);
printf("Nilai dayanya adalah : %.2f watt",daya3);
}
else
{
printf (“fasa yang anda masukan salah”);
}
getch();
}

 Menentukan tarif harga listrik per 1 Kwh


#include<stdio.h>
#include<conio.h>
main()
{
int daya;
printf("menentukan tarif harga listrik per 1 Kwh");
printf("\nMasukkan Daya yag dipakai dirumah anda : ");
scanf("%d",&daya);
if(daya<=450)
{
printf("--------------------------------------\n");
printf("tarif listrik per Kwh anda : Rp. 1000");
}
else
if(daya>450&&daya<=1300)
{
printf("--------------------------------------\n");
printf("tarif listrik per Kwh anda : Rp. 1500");
}
else

printf("--------------------------------------\n");
printf("tarif listrik per Kwh anda : Rp. 2000");
}

getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 44


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh Program Switch Case


 Menghitung Hukum Ohm
#include<stdio.h>
#include<conio.h>
int main()
{
float
arus,hambatan,tegangan,arus2,tegangan2,hambatan2,arus3,tegangan3,hambatan;
int pilihan;
printf("=====================================================
==================");
printf("\nSelamat Datang di Program Menghitung Hukum Ohm");
printf("\n====================================================
===================");

printf("\nPilih yang mau di hitung");


printf("\n1.Menghitung tegangan");
printf("\n2.Menghitung kuat arus");
printf("\n3.Menghitung hambatan");
printf("\npilih : ");
scanf("%i",&pilihan);
sweat(pilihan);
{
case 1 :
printf("\nMenghitung Tegangan");
printf("\nMasukkan Kuat arus : ");
scanf("%f", &arus);
printf("Masukkan Hambatan : ");
scanf("%f", &hambatan);
tegangan=arus*hambatan;
printf("\n Jumlah Teganngan yang berada pada rangkaian yaitu : %5.2f volt\n\n",
tegangan);
printf("=====================================================
==================");
break;

case 2 :
printf("\nMenghitung Kuat Arus");
printf("\nMasukkan tegangan : ");
scanf("%f", &tegangan2);
printf("Masukkan Hambatan : ");
scanf("%f", &hambatan2);

LABORATORIUM DASAR TEKNIK ELEKTRO Page 45


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

arus2=tegangan2/hambatan2;
printf("\n Jumlah Arus yang berada pada rangkaian yaitu : %5.2f ampere\n\n",
arus2);
printf("=====================================================
==================");
break;
case 3 :
printf("\nMenghitung Hambatan");
printf("\nMasukkan tegangan : ");
scanf("%f", &tegangan3);
printf("Masukkan Arus : ");
scanf("%f", &arus3);
hambatan3=tegangan3/arus3;
printf("\n Jumlah hambatan yang berada pada rangkaian yaitu : %5.2f ohm\n\n",
hambatan3);
printf("=====================================================
==================");
break;
default:
printf("\nPilihan Yang Dimasukkan Salah..!!!!");
}
getch0;
}

 Contoh Program Perulangan While


 Menginput nilai hambatan dalam satuan ohm dan menghitung nilai hambatan
pengganti serinya
#include<stdio.h>
#include<conio.h>
main()
{
int total,i,hambatan,jumlah;
i=1;
total= 0;
printf("Menginput nilai hambatan dalam satuan ohm\n");
printf("------------------------------------------------\n\n");
printf("masukkan jumlah resistor : ");
scanf("%d",&jumlah);
printf("\n");
while(i<=jumlah)
{

LABORATORIUM DASAR TEKNIK ELEKTRO Page 46


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

printf("Hambatan %d : ",i);
scanf("%d",&hambatan);
i+;
total=total+hambatan;

printf("nilai hambatan pengganti serinya adalah : %d ohm",total);


getch();
}

 Mencetak 10 kali kalimat “Sekolah Tinggi Teknik PLN”


#include<stdio.h>
#include<conio.h>
main()
{
int i,hambatan,jumlah;
i=1;
printf("masukkan banyaknya perulangan : ");
scanf("%d",&jumlah);
printf("\n");
while(i<=jumlah);
{
printf("%d, Sekolah Tinggi Teknik PLN\n",i);
i++;
}
getch();
}

 Contoh Program Do… While


 Menginput nilai kapasitor dalam satuan farad dan menghitung hambatan
pengganti parallelnya
#include<stdio.h>
#include<conio.h>
main()
{
int total,i,kapasitor,jumlah;
i=1;
printf("Menginput nilai kapasitor dalam satuan farad\n");
printf("------------------------------------------------\n\n");
printf("masukkan jumlah kapasitor : ");
scanf("%d",&jumlah);
printf("\n");
do

LABORATORIUM DASAR TEKNIK ELEKTRO Page 47


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

{
printf("kapasitor %d : ",i);
scanf("%d",&kapasitor);
i++;
total=total+kapasitor;

while(i=jumlah);
printf("Nilai kapasitor pengganti parallelnya adalah : %d farad",total);
getch();
}

 Menampilkan 10 kali kalimat “Sekolah Tinggi Teknik PLN”


#include<stdio.h>
#include<conio.h>
main()
{
int i,hambatan,jumlah;
i=1;
printf("masukkan banyaknya perulangan : ");
scanf("%d",&jumlah);
printf("\n");
do
{
printf("%d, Sekolah Tinggi Teknik PLN\n",i);
i-+;
}
while(i<=jumlah);
getch();
}

 Contoh Program Perulangan For


 Menampilkan 10 kali kalimat “Sekolah Tinggi Teknik PLN”
#include<stdio.h>
#include<conio.h>
main()
{
int i,hambatan,jumlah;
i=1;
printf("masukkan banyaknya perulangan : ");
scanf("%d",&jumlah);
printf("\n");
for(i=1,i<=jumlah;i++);

LABORATORIUM DASAR TEKNIK ELEKTRO Page 48


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

{
printf("%d, Sekolah Tinggi Teknik PLN\n",i);
}
getch();
}

 Menginput nilai induktor dalam satuan hendry dan hambatan pengganti serinya
#include<stdio.h>
#include<conio.h>
main()
{
int i,induktor,jumlah,total;
total=0;
printf("Menginput nilai induktor dalam satuan hendry\n");
printf("------------------------------------------------\n\n");
printf("masukkan jumlah induktor : ");
scanf("%d",&jumlah);
printf("\n");
for(i=1;i<=jumlah;i++)

printf("induktor %d : ",i);
scanf("%d",&induktor);
total=total+induktor;

printf("Nilai induktor pengganti serinya : %d henry",total);


getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 49


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

IV. TUGAS RUMAH


1. Apa yang dimaksud dengan percabangan dan perulangan ?
2. Sebutkan dan jelaskan struktur percabangan?
3. Sebutkan dan jelaskan struktur perulangan ?
4. Jelaskan perbedaan struktur percabangan if dan if-else ?
5. Jelaskan perbedaan struktur perulangan While dan Do While ?

V. TUGAS AKHIR
1. Apa kegunaan dari instruksi break dan case ?
2. Apakah instruksi while dapat digantikan do while maupun for ? Jelaskan !
3. Apa yang dicetak dari program dibawah ini :
a. Jika nilai akhir diisi dengan 40 ? 50 ? 60 ? 70 ? 80 ? 90 ?
#include<stdio.h>
#include<conio.h>
main()
{
char grade;
int na;
printf(“ Nilai akhir : “);
scanf(“%d”,&na);
if(na>84);grade=’A’;
{
printf(“ Grade = %c ,grade);
}
Else
if(na>74&&na<85);grade=’B’;
{
printf(“ Grade = %c ,grade);
}
else
if(na>64&&na<75);grade=’C’;
{
printf(“ Grade = %c ,grade);
}
else
if(na>54&&na<65);grade=’D’;
{
printf(“ Grade = %c ,grade);
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 50


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

else
if(na<50);grade=’E’;
{
printf(“ Grade = %c ,grade);
}
getch();
}

b. Jika bil diisi nol ?


#include<stdio.h>
void main()
{
int bil;
scanf(“%d”,&bil);
if(bil==0);
else
printf(“tidak sama dengan nol “);
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 51


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

MODUL IV
ARRAY DAN FUNGSI

I. TUJUAN
a. Memahami struktur array.
b. Memahami fungsi yang ada dalam header.
c. Membuat fungsi sendiri dan menggunakan fungsi tersebut dalam program.

II. TEORI
2.1. Array
Array merupakan kumpulan dari beberapa nilai data yang bertipe sama dalam urutan
tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array
ditunjukkan oleh suatu index. Diilihat dari dimensinya array terbagi menjadi array
dimensi satu, array dimensi dua dan array multi dimensi.

2.1.1. Array dimensi satu


Array dimensi satu adalah kumpulan-kumpulan elemen yang memiliki data yang
sama dan hanya memiliki satu indeks saja. Array dimensi satu dapat berupa sebuah
vector. Setiap elemen array dapat diakses melalui indeks. Indeks array secara default
dimulai dari 0.

Deklarasi array :
Tipe_array nama_array[ukuran];
Contoh :
int nilai[5];

Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]


70 70 55 97 80

CATATAN : String juga sebenarnya merupakan array yang bertipe karakter.


Jumlah elemen array menyatakan jumlah string.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 52


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.1.2.Array dimensi dua


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_arraynama_array[baris][kolom];

Contoh:

int x[3][4];

X[0][0] X[0][1] X[0][2] X[0][3]


X[1][0] X[1][1] X[1][2] X[1][3]
X[2][0] X[2][1] X[2][2] X[2][3]

Cara Mengakses array :


Untuk mengakses array,misalnya kita ingin mengisi elemen array baris 2 kolom 3
dengan 10 maka perintahnya adalah sebagai berikut :
X[1][2]=10;
Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :
- Row Major Order(secara baris per baris)
- Column Major Order(secara kolom per kolom)

2.1.3.Array multi dimensi


Array multidimensi 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[ukuran1][ukuran2]&[ukuranN];
Contoh:
float x[2][3][4];
X[0][0][0] X[0][0][1] X[0][0][2] X[0][0][3] X[1][0][0] X[1][0][1] X[1][0][2] X[1][0][3]
X[0][1][0] X[0][1][1] X[0][1][2] X[0][1][3] X[1][1][0] X[1][1][1] X[1][1][2] X[1][1][3]
X[0][2][0] X[0][2][1] X[0][2][2] X[0][2][3] X[1][2][0] X[1][2][1] X[1][2][2] X[1][2][3]

LABORATORIUM DASAR TEKNIK ELEKTRO Page 53


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.2.FUNGSI
Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan
suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Fungsi
merupakan elemen utama dalam bahasa C karena bahasa C sendiri terbentuk dari
kumpulan fungsi fungsi. Dalam setiap program bahasa C, minimal terdapat saatu
fungsi yaitu fungsi main(). Fungsi banyak diterapkan dalam program-program C yang
terstruktur. Keuntungan penggunaan fungsi dalam program yaitu program akan
memiliki struktur yang jelas( mempunyai readability yang tinggi) dan juga akan
menghindari penulisan bagian program yang sama. Dalam bahasa C fungsi dapat
dibagi menjadi dua,yaitu fungsi pustaka atau fungsi yang telah tersedia dalam turbo C
dan fungsi yang didefinisikan atau dibuat oleh programmer.
Beberapa Fungsi pustaka dalam C :
o Fungsi Opersai String(tersimpan dalam file string.h)
- strcpy():
berfungsi untuk menyalin suatu string asal ke variable string tujuan.
bentuk umum: strcpy(var_tujuan,string_asal);
- strlen():
berfungsi untuk memperoleh jumlah karakter dalam suatu string.
bentuk umum: strlen(string);
- strcat():
berfungsi untuk menambahkan string sumber ke bagian akhir dari string tujuan.
bentuk umum :strcat(tujuan,sumber);
- strupr();
digunakan untuk mengubah setap huruf dari suatu string menjadi huruf capital.
bentuk umum : strupr(string);
- strlwr():
digunakan untuk mengubah setuao huruf dari suatu string menjadi huruf kecil semua
bentuk umum :strlwr(string);
- strcmp();
digunakan untuk membandingkan dua buah string . hasil dari fungsi ini bertipe
integer dengan nilai:

1. Negative, jika string pertama kurang dari stirng kedua

LABORATORIUM DASAR TEKNIK ELEKTRO Page 54


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2. Nol, jika string pertama sama dengan string kedua


3. Positif, jika string pertama lebih besar dari yang kedua.
bentuk umum: strcmp(string1,string2);
o Fungsi Operasi Karakter(tersimpan dalam header “ctype.h”)
- islower():
Fungsi akan menghasilkan nilai benar( bukan nol) jika karakter merupakan huruf
kecil. Bentuk umum: islower(char);
- isupper():
Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf
capital. Bentuk umum: isupper(char);
- isdigit():
Fungsi akan menghasilkan nilai benar(bukan nol) jika karakter merupakan sebuah
digit. Bentuk umum : isdigit(char);
- tolower():
Fungsi akan mengubah huruf kapital menjadi huruf kecil bentuk umum :
tolower(char);
- toupper():
Fungsi akan mengubah huruf kecil menjadi huruf capital.
bentuk umum: toupper(char);
o Fungsi Operasi Matematik(“tersimpan dalam header “math.h” dan “stdlib.h”)
- sqrt():
digunakan untuk menghitung akar dari sebuah bilangan bentuk umum : sqrt(bilangan);
- pow();
digunakan dalam menghitung pemangkatan dari suatu bilangan bentuk umum :
pow(bilangan);
- sin(),cos(),tan():
masing masing digunakan untuk menghitung nilai sinus ,cosines dan tangens dari
suatu sudut. Bentuk umum:
1.sin(sudut);
2.cos(sudut);
3.tan(sudut);
- atof();
digunakan untuk mengkonversi nilai string menjadi bilangan bertipe double bentuk
umum :atof(char x);

LABORATORIUM DASAR TEKNIK ELEKTRO Page 55


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

- atoi();
digunakan untuk mengkonversi nilai string menjadi bilangan bertipe integer bentuk
umum : atoi(char x);
- div():
digunakan untuk menghitung hasil pembagian dan sisa pembagian Bentuk umum:
div_t div(int x,int y);
- max();
digunakan untuk menentukan nilai maksimal dua buah bilangan bentuk umum :
max(bilangan1,bilangan2);
- min():
digunakan untuk menentukan bilangan terkecil dari dua buah bilangan bentuk umum :
min(bilangan1,bilangan2);
2.2.1. Membuat Fungsi Sendiri
Deklarasi fungsi sebelum digunakan , suatu fungsi harus dideklarasikan dan
didefinisikan terlebih dahulu Bentuk umum pendeklarasian fungsi adalah :
Tipe_fungsi nama_fungsi(parameter_fungsi);
Sedangkan bentuk umum pendefinisian fungsi adalah:
Tipe_fungsi nama_fungsi(parameter_fungsi)
{
Statement;
Statement;
…..
…..
}
Hal hal yang perlu diperhatikan dalam penggunaan fungsi:
• Jikalau tipe fugnsi tidak disebutkan maka akan dianggap sebagai fungsi dengan
nilai keluaran bertipe integer.
• Untuk fungsi yang memiliki keluaran bertipe bukan integer,maka diperlukan
pendefinisian penentu tipe fungsi.
• Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam
tipe void Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa
pernyataan return Suatu fungsi dapat menghasilkan nilai balik bagi fungsi
pemanggilnya.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 56


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

LABORATORIUM DASAR TEKNIK ELEKTRO Page 57


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

III. PROGRAM
 Contoh program array dimensi 1
#include<stdio.h>
#include<conio.h>
void main();
{
int index,nilai[10];
clrscr();
printf(“Input nilai 10 daya pabrik : “ );
for(index=0;index<10;index++)
{
printf(“Nilai %i : ”,index+1):
scanf(“%i”,&nilai[index]);
}
printf(“Nilai daya pabrik yang telah diinput “);
for(index=0;index<10;index++);
{
printf(“%5.0i”,nilai[index]);
}
getch();
}

 Contoh 2 array dimensi 1


#include<stdio.h>
#include<conio.h>
#include<string.h>
void main();
{
char jurusan[25],jenjang[10],nim[10],nama[20];
clrscr();
printf(“Masukkan nama anda: “);
gets(nama);
printf(“Masukkan Nim anda: “);
gets(nim);
switch(nim[5])
{
case ‘1’:strcpy(jurusan,”Teknik Elektro”);break;
case ‘2’:strcpy(jurusan,”Teknik Mesin”);break;
case ‘3’:strcpy(jurusan,”Teknik Informatika”);break;
case ‘4’:strcpy(jurusan,”Teknik Sipil”);break;
default:printf(“Anda salah memasukkan NIM.Coba Periksa Lagi!”);break;
}
if(nim[4]==’1’)

LABORATORIUM DASAR TEKNIK ELEKTRO Page 58


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

{
strcpy(jenjang,”Strata-1”);
}
else
{
if(nim[4]==’7’)
{
strcpy(jenjang,”Diploma-3”);
}
else
printf(“Anda salah memasukkan NIM.Coba periksa lagi!”);
}
printf(“<< BOLEH UGA NIH>>”);
printf(“<< Data Mahasiswa STT-PLN>>”);
printf(“Nama : %s”,nama);
printf(“NIM : %s”,nim);
printf(“Jurusan:%s”,jurusan);
printf(“Jenjang:%s”,jenjang);
getch();
}
}

 Contoh program array dimensi 2


#include <stdio.h>
#include <conio.h>
int main()
{
int matriks[4][4];
int baris,kolom;
printf("Input Elemen Array: \n");
for(baris=0;baris<3;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("Masukkan angka untuk [%d,%d]: ",baris+1,kolom+1);
scanf("%d",&matriks[baris][kolom]);
}
}
printf("\nIsi Array:\n");
for(baris=0;baris<3;baris++){
for(kolom=0;kolom<4;kolom++){
printf("%d",matriks[baris][kolom]);
printf(" ");

LABORATORIUM DASAR TEKNIK ELEKTRO Page 59


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

}
printf("\n");
}
getch ();
}

 Contoh program array dimensi 3


#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k;
static int data_huruf[2][8][8]=
{{
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0}
},
{
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1}
}};

for(i=0;i<2;i++){
for(j=0;j<8;j++){
for(k=0;k<8;k++)
if(data_huruf[i][j][k])
putchar(‘\xDB’);
else
putchar(“ “);
puts(“ “ );}
puts( “ “);}
getch();

LABORATORIUM DASAR TEKNIK ELEKTRO Page 60


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh program operasi string


#include<stdio.h>
#include<conio.h>
#include<string.h>
void main();
{
char nama[25]; strcpy(nama,“Arduino Uno”);
printf(“Nama komponen : %s”,nama);
printf(“Banyaknya huruf pada nama komponen adalah: %i”,strlen(nama));
getch();
}

 Contoh 2 program operasi string


#include<conio.h>
#include<string.h>
void main();
{
Char satu[30]=”Jurusan Teknik Elektro”;
char dua[30]=”Sekolah Tinggi Teknik-PLN”;
clrscr();
strcat(satu,dua);
printf(“Hasil Penggabungannya: %s\n”,satu);
printf(“Jika diubah huruf capital semua : \n”);
printf(“%s”,strupr(satu));
printf(“Jika diubah menjadi huruf kecil semua : \n”);
printf(“%s”,strlwr(dua));
getch();
}
 Contoh program operasi karakter
#include<stdio.h>
#include<conio.h>
#include<ctype.h> void main();
{
char karakter; clrscr();
printf(“Masukkan sebuah karakter : “ );
karakter=getche();
if(isupper(karakter))
{
puts(“adalah huruf besar”);
printf(“huruf kecilnya adalah : %c”,tolower(karakter));
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 61


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

else if(islower(karakter))
{
puts(“adalah huruf kecil”);
printf(“huruf besarnya adalah: %c”,toupper(karakter));
}
else if(ifdigit(karakter))
{
puts(“adalah karakter digit”); else
puts(“bukan huruf besar,huruf kecil atau digit); getch();
}

 Contoh program fungsi operasi metematika


#include<stdio.h>
#include<conio.h>
void main()
{
float r,xl,xc,z,y;
int p=2;
printf("Menghitung nilai impedansi\n");
printf("Masukkan nilai R: ");
scanf("%f",&r);
printf("\nMasukkan nilai XL: ");
scanf("%f",&xl);
printf("\nMasukkan nilai XC: ");
scanf("%f",&xc);
y=(pow(r,p)+pow((xl-xc),p));
z=sqrt(y);
printf("\nNilai impedansi= %f Ohm",z);
getch();
}

 Contoh 2 program operasi matematika


#include<stdio.h>
#include<conio.h>
#include<math.h>
#define phi 3.14
main ()
{
float tegangan,arus,sudut,daya;
printf("Menghitung daya aktif fasa ");
printf("\nMasukkan nilai tegangan :");
scanf("%f",&tegangan);
printf("Masukkan nilai arus :");
scanf("%f",&arus);

LABORATORIUM DASAR TEKNIK ELEKTRO Page 62


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

printf("Masukkan nilai sudut :");


scanf("%f",&sudut);
daya=tegangan*arus*cos(sudut*phi/180);
printf("Nilai daya aktinya adalah : %.2f watt",daya);
getch();
}

 Contoh 3 program operasi matematika


#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
main()
{
float x,y;
printf("Menentukan lampu dengan faktor daya yang paling bagus dan paling
buruk\n");
printf("lampu pijar = ");
scanf("%f",&x);
printf("lampu flourenscent ballas magnetik = ");
scanf("%f",&y);
printf("\nfaktor daya terbaik pada nilai : %f",max(x,y);
printf("\nfaktor daya terburuk pada nilai : %f",min(x,y); getch();}

 Contoh program membuat fungsi sendiri


#include <stdio.h>
#include <conio.h>
float hitung_arus(float muatan, float waktu)
{
float arus;
arus = muatan / waktu;
return(arus);
}
main()
{
float muatan;
float waktu;
float arus;
printf("Masukkan nilai muatan = ");
scanf("%f",&muatan);
printf("Masukkan nilai waktu = ");
scanf("%f",&waktu);
arus = hitung_arus(muatan,waktu);
printf("%f \n",arus);
return 0; }

LABORATORIUM DASAR TEKNIK ELEKTRO Page 63


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

IV. TUGAS RUMAH


1. Apa yang dimaksud dengan Array?
2. Sebutkan dan Jelaskan jenis-jenis array beserta bentuk umumnya!
3. Apa yang dimaksud dengan fungsi dalam bahasa C?
4. Sebutkan dan jelaskan macam-macam file header (.h) dalam bahasa C!

IV. TUGAS AKHIR


1. Apa perbedaan dari array dimensi dua dan multi dimensi?
2. Jelaskan kegunaan fungsi-fungsi yang terdapat pada header di bawah ini! (minimal 3)
c. String.h
d. Math.h
e. Ctype.h
3. Apakah penggunaan operator aritmatika membutuhkan header math.h? Jelaskan?

LABORATORIUM DASAR TEKNIK ELEKTRO Page 64


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

MODUL V
OPERASI FILE, STRULTUR DAN MANIPULASI BIT

I. TUJUAN
a. Memahami operasi file, struktur, manipulasi bit, dan konstanta enumerasi
b. Membaca File : membuka dan menutup file
c. Membaca dan menulis ke dalam file

II. TEORI
2.1 OPERASI FILE
File adalah sebuah organisasi dari sejumlah record. Masing-masing record bisa terdiri
dari satu beberapa field. Setiap field terdiri dari satu atau beberapa byte.
2.1.1 MEMBUKA FILE
Untuk membuka atau mengaktifkan file, fungsi yang digunakan adalah fungsi fopen().
File dapat berupa file biner atau file tesk. File biner adalah file pola penyimpanan di
dalam disk dalam bentuk biner, seperti bentuk pada memori (RAM) computer . File
tesk adalah file yang pola penyimpanan datanya dalam bentuk karakter . Penambahan
yang perlu dilakukan untuk menentukan mode teks atau biner dalam bentuk karakter.
Penambahan yang perludilakukan untuk menentukan mode teks atau biner adalah t
file teks dan b untuk biner. Prototype fungsi fopen() ada di header fungsi stdio.h
Bentuk umum :
file *fopen(char*namafile, char *mode)

Keterangan :
Namafile adalah nama dari file yang akan dibuka/diaktifkan. Mode adalah jenis
operasi file yang akan dilakukan terhadap file.
Jenis-jenis operasi file :
r : menyarankan file hanya dapat dibaca (file harus sudah ada)
w : menyatakan file baru akan dibuat/diciptakan (file yang sudah ada akan
dihapus)
a : Untuk membuka file yang sudah ada dan akan dilakukan proses penambahan
data (Jika file belum ada, otomatis akan dibuat)
r+ : untuk membuka file yang sudah ada dan akan dilakukan proses pembacaan
dan penulisan.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 65


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

w+ : untuk membuka file dengan tujuan untuk pembacaan atau penulisan . Jika file
sudah ada isinya kan dihapus.
a+ : untuk membuka file, dengan operasi yang akan dilakukan berupa perekaman
maupun pembacaan. Jika file sudah ada, isinya akan dihapus
Contoh : pf= fopen(“COBA.TXT”, “w”);

2.1.2. MENUTUP FILE


Untuk menutup file, fungsi yang digunakan adalah fclose(). Prototype fungsi
fclose() ada di header file stdio.h
Bentuk umum :
int fclose(FILE *pf); atau int fcloseall(void);

2.1.3. MELAKSANAKAN PROSES FILE


Menulis Karakter
Untuk menulis sebuah karakter .bentuk yang digunakan adalah : putc(int_ch, file*fp)
Keterangan :
fp adalah pointer file yang dihasilkan oleh fopen()
ch adalah karakter yang akan ditulis

2.1.4. MEMBACA KARAKTER


Untuk membaca karakter dari file, fungsi yang digunakan adlaha : getc(file *fp); fp
adalah pointer file yang dihasilkan oleh fopen().
Fungsi feof() digunakan untuk mendeteksi akhir file pada saaat membaca data.
Bentuk umum yang digunakan : foef(file *fp)

2.2. STRUCT
Struct adalah suatu struktur data yang menggabungkan beberapa data yang berbeda
tipe (heterogen) tetapi berkaitan. 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).
2.2.1 Pointer to strukture

LABORATORIUM DASAR TEKNIK ELEKTRO Page 66


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Sebagaimana pointer dapat mengacu ke alamat data tunggal (int, char, float) dan
jamak(array),pointer juga dapat mengacu ke struc. Pengaksesan field satu struct
melaluipointer yang mengacu ke struktur ini dapat dilakukan dengan menggunakan
indirection operator* dan indirect membership operator->.

Struct t_ujian
{
Char nim[11];
Char mtk[26];
Int nilai;
};
Void main(){
Struct t_ujian ujian, *p_ujian;
....
P_ujian=&ujian;
Scanf(“%s”,&(*p_ujian).nim);
Flushall(); gets(p_ujian->mtk);
Scanf(“%d”,&(*p_ujian).nilai);
Printf(“%s %s %d”, ujian.nim, p_ujian->mtk,(*p_ujian).nilai);
}

Struktur sebagai Parameter


Struktur dapat dikirim ke function sebagai parameter. Bila struct ini hanya merupakan
datamasukan maka dapat dikirim dengan pendekatan call by value. Apabila struct
yang dikirim ke function akan mengalami perubahan nilai maka pengiriman
parameter hanya dengan call by reference dengan mengirimkan pointer to struct.
Struct juga dapat menjadi return type sebuah function.

2.3 TIPE DATA (OPERATOR-OPERATOR MANIPULASI BIT)

Untuk keperluan memanipulasi data dalam bentuk bit, Turbo C menyediakan


operator-operator berikut :

2.3.1 OPERATOR BITWISE

LABORATORIUM DASAR TEKNIK ELEKTRO Page 67


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Bahasa C menyediakan kemampuan untuk memanipulasi bit (Binary Integer). Seluruh


data ditampilkan oleh computer merupakan representasi dari kumpulan bit. Setiap bit
dapat diasumsikan dengan nilai 0 atau dengan nilai 1 .Pada kebanyakan system,
gabungan dari 8 bit menggambarkan nilai byte yaitu standarisasi untuk sebuah unit
penyimpanan pada variable yang memiliki type data char. Tipe data yang lainnya
dismpan dengan jumlah byte yang lebih besar. Operator bitwise digunakan untuk
memanipulasi bit-bit dari operand integral(char,short,int,dan long ,termasuk signed
dan unsigned).

Operator-operator Bitwise

2.3.2.KODE ASCII
Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard
Code for Information Interchange) merupakan suatu standar internasional dalam kode
huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal,
contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat
komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki
komposisi bilangan biner sebanyak 7 bit. Namun, ASCII disimpan sebagai sandi 8 bit
dengan menambakan satu angka 0 sebagai bit significant paling tinggi. Bit tambahan
ini sering digunakan untuk uji prioritas. Karakter control pada ASCII dibedakan
menjadi 5 kelompok sesuai dengan penggunaan yaitu berturut-turut meliputi logical
communication, Device control, Information separator, Code extention, dan physical
communication. Code ASCII ini banyak dijumpai pada papan ketik (keyboard)
computer atau instrument-instrument digital.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 68


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII
untuk manipulasi teks; sedangkan kode ASCII 128..255 merupakan kode ASCII untuk
manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa
bagian:
Kode yang tidak terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return),
8(Tab), 32(Space)
Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus
(~!@#$%^&*()_+?:”{})
Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk
kode-kode grafik.
Dalam pengkodean kode ASCII memanfaatkan 8 bit. Pada saat ini kode ASCII telah
tergantikan oleh kode UNICODE (Universal Code). UNICODE dalam
pengkodeannya memanfaatkan 16 bit sehingga memungkinkan untuk menyimpan
kode-kode lainnya seperti kode bahasa Jepang, Cina, Thailand dan sebagainya.
Pada papan keyboard, aktifkan numlock, tekan tombol ALT secara bersamaan dengan
kode karakter maka akan dihasilkan karakter tertentu. Misalnya: ALT + 44 maka akan
muncul karakter koma (,). Mengetahui kode-kode ASCII sangat bermanfaat misalnya
untuk membuat karakter-karakter tertentu yang tidak ada di keyboard.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 69


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

2.3.3. KONSTANTA
Konstanta adalah pengenal (identifier) yang nilainya tetap selama program
berjalan/dieksekusi. Cara untuk mengubahnya hanya melalui source code-nya saja
seperti halnya variabel, konstanta juga memiliki tipe. Penulisan konstanta mempunyai
aturan tersendiri, sesuai dengan tipe masing-masing.
1. Konstanta karakter misalnya ditulis dengandiawali dan diakhiri dengan tanda petik
tunggal, contohnya : ‘A’ dan ‘@’.
2. Konstanta integer ditulis dengan angka. Contohnya : –1, 2.5 dan 32767.

LABORATORIUM DASAR TEKNIK ELEKTRO Page 70


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

3. Konstanta real (float dan double) bias mengandung pecahan (dengan tanda berupa
titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e),
contohnya 27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5
(maksudnya 2,1 x 105 ).
4. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda
petikganda (“), contohnya : “Pemrograman Dasar C”.

2.3.4 KONSTANTA OKTAL DAN HEXADECIMAL


Selain dalam bentuk desimal (sistem bilangandengan basis 10), konstanta integer
dapat disajikan
dalam bentuk sistem bilangan oktal (sistem bilangan berbasis 8) ataupun sistem
bilangan hexadesimal
(sistem bilangan berbasis 16). Dalam sistem oktal, digit yang digunakan berkisar
0sampai dengan 7. Penulisan konstanta diawali dengan 0 (nol). Sedangkan pada
sistem hexadesimal, digit yang dapat dipakai berupa salah satu diantara 16 simbol
berikut :
0123456789ABCDEF
Simbol A, B, C, D, E dan F bisa juga dinyatakan dengan huruf kecil a, b, c, d, e dan f.
Penulisan konstanta diawali dengan 0x (nol dan x).
Contoh :
010 (10 Oktal atau 8 Desimal)
0x10 (10 Hexadisimal atau 16 desimal)
2.3.5.KONSTANTA ENUMERASI
Enumerasi adalah sebuah kumpulan konstanta integer yang direpresentasikan dengan
simbol. Pendeklarasian enumerasi dimulai dengan kata enum dan dilanjutkan dengan
nama type. Nilai dari konstanta enumerasi dimulai dari nol, kecuali jika ditentukan
terlebih dahulu, dan akan selalu bertambah 1. Simbol-simbol di dalam enum harus
unik tetapi, beberapa konstanta dapat memiliki nilai sama.
salah satu contoh enumerasi :
Enam bulan {JAN=1,FEB,MAR,APR,MEI,JUN,JUL,AGUS,SEP,OKT,NOV,DEC}
Pada contoh tersebut akan didefinisikan tipe bulan dengan konstanta enumerasi yang
menggambarkan bulan pada sebuah tahun. Nilai awal dari konstanta enumerasi
tersebut dimulai dari 1 , dan nilai-nilai selanjutnya akan ditambahkan dengan 1, maka
hasilnya 1 sampai 12 .

LABORATORIUM DASAR TEKNIK ELEKTRO Page 71


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

III. PROGRAM
 Contoh program Menulis Karakter
#include <stdio.h>
#include <conio.h>
#Define CTRL_Z 26
main()
{
file *pf;
Char kar;
printf("masukan Rumus Listrik yang anda ketahui : \n")
IF((pf=fopen("rumus.TXT", "w"))==NULL)
{
puts(File tak dapt diciptakan !\r\n");
}
while((kar=getche()) !=CTRL_Z))
putc(kar, pf);
fclose(fp);
}

 Contoh Program Membaca Karakter


#include <stdio.h>
#include <conio.h>
main();
{
FILE *pf ;
charkar;
printf("rumus yang anda masukan tadi adalah : ");
if((pf = fopen("rumus.TXT", "r"))==NULL)
{
put("File tak dapat dibuka !\r/n");
}
while((kar=getc(pf)) !=EOF)
putchar(“kar”);
fclose(pf);
getch();
}

 Contoh program Struktur Sebagai Parameter


#include<stdio.h>
#include<conio.h>
#include<math.h>
struct t_koord { // deklarasi global
int x, y;

LABORATORIUM DASAR TEKNIK ELEKTRO Page 72


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

};
void main()
{
Struct t_koord tA, tB;
float dist;
clrscr();
printf("Titik A : \n");
printf("posisi x dan y?"); scanf("%d %d", &tA.x, &tA.y):
printf("\n Titik B: \n");
printf ("posisi x dan y?"); scanf("%d%d", &tB.x, &tB.y));
dist= sqrt(pow((tA.x-tB.x), 2) + paw ((tA.y-tB.y),2));
printf("/n Jarak A dan B = %.2f unit",dist);
}}

 Contoh program Operator Bitwise


Contoh 1

#include <stdio.h>
#include <conio.h>
main ()
{
unsigned NILAI_1 = 5; Unsigned NILAI_2 = 4;
unsigned A, B, C
A = NILAI_1 | NILAI_2;
B = NILAI_1 & NILAI_2;
O = NILAI_1 ^ NILAI_2;
printf ("A = %u, B = %d, C = &u\n", A, B, C);
getch();
}

 Contoh 2
#include <stdio.h>
#include <conio.h>
main ()
{
unsigned x=8, x1 = 8;
printf ("NILAI x AWAL = %d\n",, x);
x = x << 2;
x1 = X1 >> 2;
printf ("NILAI x akhir = %d\n", x);
printf (‘NILAI x akhir = %d’, x1);
getch();
}}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 73


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh program Konversi bilangan Ascii


 Contoh 1
#include <stdio.h>
#include <conio.h>

Main()
{
unsigned int angka,x,y;
angka=50;
x=angka << 2;
y=angka >,> 2;
clrscr();
printf("Angka : %5u : %x\n",angka,angka);
printf("x=angka << 2 : %5u : %x\n",x,x);
printf("y=angka >> 2 : %5u : %x\n",y.y);
getch();
return0;
}}

 Contoh 2
#include <stdio.h>
#include <conio.h>
main()

{
khar c;
integer i;
float f;
f=65.9;
i=f;
c=I;
printf("F : %f\n",f);
printf("I : %d\n",i);
Printf("C : %c\n",c);
getch();
return 0;}

 Contoh program Konstanta


#include <stdio.h>
#include <conio.h>
#define PhI 3.14
main()
{

LABORATORIUM DASAR TEKNIK ELEKTRO Page 74


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

float radius=10,keliling,luas;
keliling=2*PI*radius;
luas=PI*radius*raduis;
printf("Perhitungan Lingkaran\n”);
printf("======================\n");
printf("Radius : %6.2f\n",radius);
printf("Keliling : %6,2f\n",keliling);
printf("Luas : %6.2f\n",luas);
getch(“ ”);
return 0;
}

 Contoh program Konstanta Desimal, Octal,dan Hexa Desimal


#include <stdio.h>
main ()
{
int a,b c,d;
a = 100;
b = 040;
e = 0x10;
d= 0x2A;
printf (‘a = %o”,b = %x,c = %d, d= %f\n”,a,b,c,d);
getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 75


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

 Contoh program Konstanta Enumerasi


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

//berikut contoh enum dan struct digabungkan


enum Jurusan {elektro=1,mesin=2,informatika=3,sipil=4};
enam Jenjang {starta=1,diploma=2};
int main(){
char nama[50];
struct mahasiswa
{
Jurusan jurusan;
Jenjang Jenjang;

};
mahasiswa mahasiswa1; //mendeklarasikan variabel peg1 bertipe pegawai
printf("Masukkan nama anda :");
scanf("%s",&&nama);
mahasiswa1.jurusan=elektro;
mahasiswa1.jenjang=starta;
//Menampilkan nilai yang diisikan kelayar
printf("nama mahasiswa: %s\n",nama);
printf("jurusan: %d\n",mahasiswa1.jurusan);
printf("jenjang: %d\n",mahasiswa1.jenjang);

getch();
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 76


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

IV. TUGAS RUMAH


1. Sebutkan dan jelaskan jenis-jenis operasi file!
2. Apa yang dimaksud dengan struct?
3. Sebutkan dan jelaskan operator-operator bitwise?
4. Apa perbedaan dari field dan stream?
5. Apa perbedaan bit dan byte?
6. Jelaskan tentang ASCII serta berikan beberapa contohnya minimal (10)?
7. Jelaskan pengertian 4 tipe masing-masing konstanta beserta contohnya?
8. Apa perbedaan file dan file sequensial?
9. Jelaskan pengertian konstanta oktal,desimal, dan hexadesimal beserta
contohnya?
10. Jelaskan pengertian konstanta enumerasi beserta contohnya?

V. TUGAS AKHIR
1. Jelaskan penggunaan fopen() dan fclose() pada program yang Anda gunakan!
2. Jelaskan tentang program struct yang mempunyai proses berikut :
Dist= sqrt(pow((tA.x-tB.x), 2) + pow ((tA.y-tB.y),2));
3. Jelaskan tentang proses program konstanta Desimal, Octal,dan Hexa Desimal
pada modul!
4. Jelaskan tentang void dectobin, unsigned, dan enum!
5. Betulkan program salah dibawah ini serta betulkan hasil output yg benar
seperti gambar dibawah :

LABORATORIUM DASAR TEKNIK ELEKTRO Page 77


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN
Nama : Syintia Azani
NIM : 2016-11-150

// Program konversi dari decimal ke binner


#include<stdio.h>
#include<conio.h>
Void dectobin (unsigned nilai)
{
Const int Shift=8*sizeof (unsigned)-1;
const unsigned mask=1<<Shift;
unsigned c;
printf("%u=",nilai;
For(c=1;c<=Shift;c++)
{
putchar (nilai&mask?'1':'0');
nilai<<=1;
If(c%8==0)
putchar(' ');
}
putchar(“/n”);
}
void main ();
{
Unsigned number;
Number=5;
clrscr(0);
dectobin(number);
}

LABORATORIUM DASAR TEKNIK ELEKTRO Page 78


PETUNJUK PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

Anda mungkin juga menyukai