Data Loading...
Materi 1 Flipbook PDF
Modul Pembelajaran
395 Views
104 Downloads
FLIP PDF 1.78MB
KATA PENGANTAR Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa, Yang Maha Pengasih dan Penyayang, karena berkat karunia dan hidayah-Nya Modul Praktikum Algoritma dan Pemrograman dapat diselesaikan. Pada kesempatan ini kami mengucapkan terima kasih kepada semua pihak yang telah memberikan kontribusinya, sehingga Modul Praktikum Algoritma dan Pemrograman dapat diterbitkan. Kritik dan saran sangat kami harapkan untuk perbaikan di masa mendatang. Semoga buku ini dapat bermanfaat bagi pembaca. Selamat membaca dan melaksanakan praktikum.
Bandung, 9 Januari 2020
Tim Penyusun
Laboratorium Dasar Komputer Telkom University
i
DAFTAR PENYUSUN •
Asisten Laboratorium Dasar Komputer 2019/2020
Laboratorium Dasar Komputer Telkom University
ii
LEMBAR REVISI Yang bertanda tangan di bawah ini: Nama
: Hurianti Vidyaningtyas, S.T., M.T.
NIP
: 10860621-1
Jabatan
: Dosen Pengampu Mata Praktikum Algoritma dan Pemrograman
Dengan ini menyatakan pelaksanaan Revisi Modul Algoritma dan Pemrograman untuk Program Studi S1 Teknik Fisika dan Program Studi S1 Teknik Elektro, telah dilaksanakan dengan penjelasan sebagai berikut: No
1 2 3 4 5 6
Keterangan Revisi
Revisi Pertama Revisi Kedua Revisi Ketiga Revisi Keempat Revisi Kelima Revisi Keenam
Laboratorium Dasar Komputer Telkom University
Tanggal Revisi Terakhir
22 Desember 2016 20 Juli 2017 5 Januari 2018 1 Juli 2018 30 Juni 2019 9 Januari 2020
iii
LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini: Nama
: Hurianti Vidyaningtyas, S.T., M.T.
NIP
: 10860621-1
Jabatan
: Dosen Pengampu Mata Praktikum Algoritma dan Pemrograman
Menerangkan dengan sesungguhnya bahwa modul praktikum ini telah direview dan akan digunakan untuk pelaksanaan praktikum di Semester Genap Tahun Akademik 2019/2020 di Laboratorium Dasar Komputer Fakultas Teknik Elektro Universitas Telkom.
Bandung, 9 Januari 2020
Mengetahui, Ketua Program Studi S1 Teknik Telekomunikasi
Dosen Pengampu Mata Praktikum Algoritma dan Pemrograman
Dr. Levy Olivia Nur, ST. MT
Hurianti Vidyaningtyas, S.T., M.T.
Laboratorium Dasar Komputer Telkom University
iv
VISI DAN MISI FAKULTAS TEKNIK TELEKOMUNIKASI VISI: Menjadi Program Studi S1 Teknik Telekomunikasi berstandar internasional yang berperan aktif dalam pengembangan ilmu dan teknologi telekomunikasi khususnya wireless communication. MISI: 1. Menyelenggarakan pendidikan unggulan dan berstandar internasional 2. Mengembangkan dan menyebarluaskan ilmu pengetahuan dan teknologi telekomunikasi khususnya wireless communication yang diakui secara internasional 3. Memanfaatkan ilmu pengetahuan dan teknologi telekomunikasi untuk peradaban bangsa dan masyarakat internasional
Laboratorium Dasar Komputer Telkom University
v
ATURAN LABORATORIUM FAKULTAS TEKNIK ELEKTRO TELKOM UNIVERSITY Setiap Mahasiswa Fakultas Teknik Elektro yang akan menggunakan Fasilitas Laboratorium, WAJIB mematuhi Aturan sebagai berikut: 1. Menggunakan seragam resmi Telkom University dan membawa Kartu Tanda Mahasiswa (KTM) yang masih berlaku. 2. Tidak berambut gondrong untuk mahasiswa. 3. Dilarang merokok dan makan minum didalam ruangan, dan membuang sampah pada tempatnya. 4. Dilarang menyimpan barang-barang milik pribadi di Laboratorium tanpa seizin Fakultas. 5. Dilarang menginap di Laboratorium tanpa seizin Fakultas 6. Jam Kerja Laboratorium dan Ruang Riset adalah 06.30 sampai 22.00 WIB 7. Mahasiswa yang akan menggunakan Laboratorium dan atau ruang riset di luar jam kerja harus mengajukan izin kepada Fakultas.
Dekan Fakultas Teknik Elektro Bandung, 9 Januari 2020
Dr. Bambang Setia Nugroho, S.T., M.T.
Laboratorium Dasar Komputer Telkom University
vi
DAFTAR ISI
KATA PENGANTAR.................................................................................................................................... i DAFTAR PENYUSUN ................................................................................................................................ ii LEMBAR REVISI....................................................................................................................................... iii LEMBAR PERNYATAAN ........................................................................................................................... iv Dr. Levy Olivia Nur, ST. MT..................................................................................................................... iv VISI DAN MISI FAKULTAS TEKNIK TELEKOMUNIKASI .............................................................................. v ATURAN LABORATORIUM FAKULTAS TEKNIK ELEKTRO......................................................................... vi DAFTAR ISI..............................................................................................................................................vii ASISTEN PRAKTIKUM LAB. DASKOM 2017/2018 ..................................................................................viii MODUL 1 : INSTALASI IDE DAN PENGANTAR ALGORITMA .................................................................... 1 MODUL 2 : TIPE DATA DAN KOMPONEN ALGORITMA ........................................................................... 7 MODUL 3 : PERCABANGAN ................................................................................................................... 13 MODUL 4 : PERULANGAN ..................................................................................................................... 17 MODUL 5 : FUNGSI................................................................................................................................ 21 MODUL 6 : ARRAY ................................................................................................................................. 25 MODUL 7 : SORTING ............................................................................................................................. 30 MODUL 8 : SEARCHING ......................................................................................................................... 37 MODUL 9 : ALGORITMA REKURSIF ....................................................................................................... 40 MODUL 10 : FILE SEKUENSIAL ............................................................................................................... 42 MODUL 11 : TEKNIS DASAR PENULISAN LAPORAN............................................................................... 55 MODUL 12 : TUGAS BESAR ................................................................................................................... 60 DAFTAR PUSTAKA ................................................................................................................................. 63
Laboratorium Dasar Komputer Telkom University
vii
ASISTEN PRAKTIKUM LAB. DASKOM 2017/2018 Kode Asisten
Kontak
Id Line
Ahmad Arief Rivaldi
RIF
089676621286
rief213
1101174313
Adhi Satriya Andrian
SAT
08121338227
adhisatriya04
3
1102174023
Andi Shridivia Nuran
DIV
082293191643
divianuran
4
1104171043
Benyamin Delamai Tanto
BDT
083871286653
nope.99
5
1104174061
Chandra Kartika Sari
CHN
085758809700
27_chandra
6
1101174405
Cynthia Erika Magdalena
CYN
082111856712
ccynerikaa
7
1101174270
Fauzan Dizki Alif Azmi Siregar
SRG
085822946488
alifsiregar
8
1101172010
Gholiyana Muntasha
HOL
081313081320
h0ls
9
1101170521
Ivan Bagastama
PAN
082117666564
ivan_bagastama
10
1101174512
Karunia Ramadhani
KUR
081219616322
karuniarmdhni
11
1101174397
LUD
085793174295
luludannisa
12
1102174289
PRO
081222213368
hasegawataka86
13
1102174055
FAI
081285025210
faraway_trime
14
1101174169
HRD
082147923853
khernandi
15
1102174115
EZA
082240660615
reza_firmansyah3
16
1101170327
Reynald Coundro
REY
081914308345
reynaro1298
17
1102173290
Richard Pradana
CAD
082240660643
richardsnaga
18
1102171306
Rizki Kurniawati
RKI
085225673521
rizukikurnia
19
1101174428
Sean Alexander Suryaman
SAS
085777736944
seanalexander3998
20
1102172087
Shafiyah Mahmudah
FIA
082215204659
sofimhmdh
21
1102172032
Trischa Nur Laila
CHA
082131077871
trischa.
22
1101174450
Yhudi Cornelius
CDY
0895351441600
cornelius_yhudi
23
1101184157
Ade Aditya Ramadha
ADE
082143430006
adrama2711
24
1101184289
Adimas Fachri Ranunegoro
FAR
085247997525
adimas_fachri
25
1101184182
Aditya Fahrezantara
AFZ
081213556256
unknownsender
26
1101180466
Agniya Tazkiya Aulia
AYA
082219458747
ayatzky
No
NIM
1
1104170140
2
Nama Asisten
Lulud Annisa Ainun Mahmuddah Muhammad Elang Iqbal Yuhana Muhammad Fakhri Putra Supriyadi Muhammad Kemal Hernandi Muhammad Reza Firmansyah
Laboratorium Dasar Komputer Telkom University
viii
27
1101181411
Ahmad Alfan
ALF
082219725188
ahmdalfan
28
1102184179
Airlangga Rasyad Fidiyanto
AIR
08112272478
airlanggar
29
1101184338
Andi Wahyu Maulana
AWM
081343284532
andiwahyumaulana
30
1101184067
Angela Tiurma
ALE
081213197063
antiurma
31
1101180330
Ardian Eka Nugraha
AUG
085231248998
blops3
32
1101180135
Bangga adi
NGA
082219725116
banggaadi
33
1102180172
Dzaky Mohammad
DZK
082391313725
Dzkzz20
34
1101184421
Faqih Ahmad Diponegoro
DIP
081287311955
@faqihahmaddipongrs
35
1101184290
Felix Corputty
FEL
085244781119
felixcorputty26
36
1101184012
Hanaluthfina Nurhadiati
HLN
087794069512
hanaluthfina
37
1101184336
Ibrohim Al Hanif
HIM
0895388649777
ibrohimal
38
1101184104
Iffat Ahmad Baihaki
DOI
081243473761
iffatahmadbaihaki
39
1101184256
Iga Narendra Pramawijaya
AND
085339435369
iganarendra
40
1104184129
Inka Purnama Sari
INK
082320535425
Inkapurnamas
41
1102183243
Ismail
IMM
082266922922
ismailaco14
42
1101184156
Loudry Achmad Tiransri
ODY
082234493610
ody_123
43
1101184204
Mauladisra Mefid
MAU
082172291223
mauladisraa
44
1101184198
Maulin Nasari
MAW
082130428229
maulinnasari
45
1101184035
Melani Hariono
MHN
082131125807
Melanihariono
46
1101184455
Mohammad Zachary Abidin
ZAQ
082260410271
mhdzacharyabidin
47
1102180238
Muhammad Dimas
DIM
081384385843
hurrjiggly
48
1101184311
Muhammad Fresma Azzukhruf
AZU
082143555445
fresma-az
49
1101183512
Nurul Jannah
JNH
082130334457
jnh.
50
1101184040
Putri Wahyu Herlina
PWH
081390026954
ptrwh_
51
1102180203
Reyhan Rizky Amal
HAN
085781741070
reyriamall
52
1104181006
Ricky Anthony Santoso
RAS
081806828000
soewrick
53
1104181091
Shalma Nur Hida
HNS
085222452560
shalmaxozy
Laboratorium Dasar Komputer Telkom University
ix
MODUL 1 : INSTALASI IDE DAN PENGANTAR ALGORITMA
1.
Tujuan Praktikum Mengetahui cara installasi Dev C++
2. Memahami konsep algoritma beserta notasinya. 3. Memahami perancangan algoritma suatu program. 4. Memahami cara pembuatan flowchart
Dasar Teori : IDE IDE (Integrated Development Environment) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak. Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai “Lingkungan Pengembangan Terpadu”, setidaknya memiliki fasilitas: • • •
•
Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak. Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk biner yang sesuai dengan bahasa mesin. Linker, yaitu fasilitas untuk menyatukan data biner dari beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi. Debugger, yaitu fasilitas untuk menguji jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu, IDE modern dapat membantu memberikan saran yang mempercepat penulisan. Pada saat penulisan kode, IDE juga dapat menunjukan bagianbagian yang jelas mengandung kesalahan atau keraguan. Laboratorium Dasar Komputer akan menggunakan IDE Dev C++ selama praktikum berlangsung. Berikut cara installasi IDE Dev C++.
Laboratorium Dasar Komputer Telkom University
1
Setelah mendownload Dev C++, double klik pada file installasi.
Setelah itu pilih Bahasa yang diinginkan.
Klik di tombol I Agree
Ada beberapa tipe pilihan installasi di menu “Select the type of install”. Pilih Full untuk instalasi yang disarankan, lalu klik Next
Laboratorium Dasar Komputer Telkom University
2
Tentukan dimana Dev C++ akan diinstal. Untuk default, program ini akan diinstal di direktori C:\Program Files\Dev-Cpp. Setelah itu klik next.
Tunggu sampai proses instalasi selesai.
Klik Finish jika instalasi sudah selesai.
Laboratorium Dasar Komputer Telkom University
3
ALGORITMA Algoritma adalah serangkaian langkah yang tepat, terperinci, dan terbatas dalam menyelesaikan masalah. Tepat artinya langkah tersebut selalu benar untuk menyelesaikan masalah. Terperinci artinya langkah tersebut detail dan dapat dieksekusi oleh komputer. Terbatas artinya suatu saat langkah tersebut harus berhenti. Jika langkah “tidak pernah” berhenti namanya looping forever. Sebagai contoh sederhana, Anda diminta untuk menghitung keliling persegi panjang. Pada kasus ini, Anda bisa menentukan keluaran berupa keliling dan masukan berupa panjang dan lebar. Setelah itu, Anda harus menentukan bagaimana keliling persegi panjang dihitung berdasarkan data panjang dan lebar. Keliling=panjang+lebar+panjang+lebar atau Keliling=2x(panjang+lebar) Anda bisa menuangkan algoritma sebagai berikut : 1. Masukkan nilai panjang dan lebar persegi panjang. 2. Hitung keliling persegi panjang dengan menggunakan rumus 2x(panjang+lebar). 3. Tampilkan nilai keliling persegi panjang. Algoritma tidak selamanya dinyatakan dalam bahasa manusia seperti yang dicontohkan sebelumnya. Sering kali algoritma dinyatakan dalam bentuk pseudocode (pseudocode) atau diagram alir (flowchart). 1.
Pseudocode (Pseudocode) Pseudocode adalah suatu bentuk algoritma yang menggunakan berbagai notasi yang dimaksudkan untuk menyederhanakan bentuk kalimat manusia. Sebagai contoh, kalimat seperti “Hitung keliling persegi panjang dengan menggunakan rumus 2x(panjang+lebar)” dapat disederhanakan menjadi : keliling 2x(panjang+lebar). Pseudocode sering kali berorientasi pada bahasa pemrograman tertentu. Contoh berikut menunjukkan pseudocode yang berorientasi pada bahasa pemrograman Pascal (pseudopascal). Algoritma (Pseudopascal) Program keliling persegi panjang Kamus : p, l, k : integer Algoritma :
Laboratorium Dasar Komputer Telkom University
4
output (‘Panjang = ‘) input(p) output (‘Lebar = ‘) input (l) k 2*(p+l) output(‘Keliling Persegi panjang = ‘, k) 2.
Diagram Alur (Flowchart) Flowchart adalah suatu standar untuk menggambarkan suatu proses. Setiap langkah dalam algoritma dinyatakan dengan sebuah simbol dan aliran setiap langkah (dari suatu langkah ke langkah lain) dinyatakan dengan garis yang dilengkapi panah. Berikut ini beberapa petunjuk yang harus diperhatikan dalam pembuatan flowchart : 1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan. 2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya. 3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan menghitung pajak penjualan. 5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 6. Lingkup dan range dari aktivitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. 7. Gunakan simbol-simbol flowchart yang standar. Berikut adalah simbol standar untuk flowchart. Bentuk
Nama Simbol Flow Line
Deskripsi
On-Page Connector
Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama .
Process
Menyatakan suatu tindakan ( proses ) yang dilakukan oleh komputer . Menunjukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan, yaitu YA atau TIDAK.
Decision
Menyatakan jalannya arus suatu proses .
Laboratorium Dasar Komputer Telkom University
5
Pre-defined Menyatakan prosedur lain yang telah dibuat dalam Process diagram. Terminator Input / Output
Menyatakan suatu permulaan atau pengakhiran dari suatu program . Menyatakan proses input atau output tanpa tergantung jenis peralatannya .
Berikut ini adalah contoh flowchart menghitung keliling persegi panjang. Mulai
Masukkan panjang persegi panjang
Masukkan panjang persegi panjang
Keliling=2x(panjang+lebar)
Tampilkan keliling persegi panjang
Selesai
Laboratorium Dasar Komputer Telkom University
6
MODUL 2 : TIPE DATA DAN KOMPONEN ALGORITMA Tujuan Praktikum 1. Memahami bentuk umum algoritma dan implementasinya dalam bahasa C. 2. Membuat program sederhana yang melibatkan I/O, assignment, variabel, konstanta, ekspresi, dan tipe data bentukan. 3. Memahami tipe-tipe data pada algoritma dan persamaannya dalam C. 4. Mampu memecahkan masalah sederhana dan mengimplementasikannya ke dalam Dasar Teori : 1.
Struktur Bahasa Pemrograman C Dalam bahasa C, struktur programnya terdiri dari fungsi-fungsi. Berikut merupakan struktur umum dari bahasa C. STRUKTUR PROGRAM BAHASA C // fungsi utama Main(){ /*statemen */ } // fungsi lain Fungsi_lain(){ /* statemen */ }
2.
Variabel dan Konstanta Variabel dan konstanta adalah suatu nama yang menyatakan tempat dalam memori komputer dan berisi sebuah nilai. Isi dari variabel dapat diubah sewaktu-waktu ketika program dieksekusi. Sementara konstanta tidak dapat diubah ketika program dieksekusi. Hal-hal penting yang harus diperhatikan dalam penamaan variabel dan konstanta antara lain : ▪ Harus diawali dengan huruf alfabet (A..Z, a..z) atau garis bawah ( _ ). ▪
Karakter selanjutnya bisa berupa huruf, digit atau karakter garis bawah ( _ ).
▪
Panjang maksimal identifier adalah 32 karakter, jika lebih maka yang dianggap adalah 32 karakter awal.
▪
Tidak boleh menggunakan spasi.
▪
Tidak boleh menggunakan operator aritmatika ( + - / * % ).
▪
Tidak boleh menggunakan karakter-karakter khusus seperti : , ; # @ $ & dan ( . ).
▪
Bahasa C bersifat case-sensitive, sehingga huruf kapital dan non-kapital dibedakan.
3.
Tipe Data Tipe data adalah jenis dari suatu variabel yang digunakan dalam algoritma. Berikut adalah beberapa macam tipe data : a. Int : Menyatakan bilangan bulat antara -326767 sampai +32767 Contoh : 1 0 3 -5 -7
Laboratorium Dasar Komputer Telkom University
7
b. Float : Menyatakan bilang real (asli) dari 10-38 sampai dengan 1038. Contoh : 1,1 1,3 -9,2 c. Char : Menyatakan sebuah karakter. Contoh : A,f,9,atau *. d. Bool : Menyatakan nilai logika : true atau false.
4.
Operasi Aritmatika Untuk operasi aritmatika hanya tipe data int dan float saja yang dapat digunakan. Berikut operator aritmatika yang tersedia : a. Kali ( * ) Digunakan untuk mengalikan dua buah bilangan. b. Bagi ( / ) Digunakan untuk membagi dua buah bilangan c. Tambah ( + ) Digunakan untuk menjumlahkan dua buah bilangan. d. Kurang ( - ) Digunakan untuk pengurangan antar dua buah bilangan.
Laboratorium Dasar Komputer Telkom University
8
e. Modulo ( mod ) Mod digunakan untuk mencari sisa dari hasil pembagian bagi dua bilangan. Operator mod dalam bahasa C adalah “%”. Operasi mod hanya bisa di gunakan oleh data bertipe int. Tipe Data Contoh Int % Int = Int
5.
6%4= 2 → {6=4x1+2} 8%5= 3 → {8=5x1+3} -5 % 3 = 1 → { 1 = 3 x (-2) + 1 } -3 % 2 = 1 → { -3 = 2 x (-2) + (1) }
Tipe Bentukan Tipe bentukan adalah tipe data yang dibuat sendiri oleh pengguna. Tipe ini dibuat karena ada relasi antar variabel yang bila digabungkan mempunyai suatu maksud yang sama. Untuk membuat tipe data bentukan, digunakan kata kunci “struct”. Salah satu contoh dari tipe data bentukan adalah mahasiswa, dimana mahasiswa mempunyai nama, nim, jurusan, dan nilai.
Contoh Program : a. Menampilkan kalimat #include int main () { printf (“Hello World \n”); return 0; }
Output dari program di atas adalah : Hello World Penjelasan : • Berkas header (berekstensi .h) adalah berkas yang berisi prototype fungsi, definisi konstanta, dan definisi variable. Prototype fungsi berupa judul suatu fungsi yang dilengkapi dengan argumen dan tipe argumen serta tipe nilai balik untuk fungsi yang memberikan nilai balik. • Praprocessor #include adalah suatu perintah yang digunakan untuk mengatur kompiler agar membaca berkas header yang disertakan di belakang kata include saat pelaksanaan kompilasi. • main() adalah fungsi yang akan dijalankan pertama kali ketika program dieksekusi. Kata int di depan main () menyatakan bahwa program memberikan nilai balik yang bertipe int. • Nilai balik program ditentukan oleh pernyataan return. Pada program tersebut, return 0 menyatakan bahwa nilai balik program adalah nol. Nilai nol biasa digunakan untuk menyatakan bahwa program berhasil melaksanakan tugas yang diembannya.
Laboratorium Dasar Komputer Telkom University
9
Setiap pernyataan dalam bahasa C ditulis dengan diakhiri tanda titik-koma (;). Pada program di atas, ada dua buah pernyataan, yaitu : printf (“Hello World \n”); dan return 0; • “\n” akan menyebabkan kursor berpindah ke baris berikut setelah Hello World dioutputkan. b. Menambahkan nilai ke dalam variabel Ada 2 cara untuk memasukan nilai ke dalam variabel, yaitu : ❖ Assignment (nilai dimasukkan ke dalam variabel secara langsung) •
C a=7; ❖
Algoritma a7
Input menggunakan perintah scanf () C
#include int main () { int x,y,z; printf(“Bilangan 1 = “); scanf (“%d”,&x); printf(“Bilangan 2 = “);scanf(“%d”,&y); z=x+y; printf(“Bilangan 1+Bilangan 2= %i\n”,z); return 0; } ❖ Penggunaan konstanta C
Algoritma Kamus : x,y,z : integer algoritma : output (‘Bilangan 1 = ‘) input (x) output (‘Bilangan 2 = ‘) input (y) z x+y output(‘Bilangan 1+Bilangan 2 = ‘,z)
#include #define phi 3.14 int main () { int r; float luas; printf(“Jari-Jari Lingkaran =“); scanf (“%d”,&r); luas = phi*r*r; printf(“Luas Lingkaran = %.2f \n”,luas); return 0; }
Laboratorium Dasar Komputer Telkom University
%x.f berfungsi untuk menampilkan x angka di belakang koma dari variabel keluaran. Pada contoh di samping, printf(“Luas
Lingkaran = %.2f \n”,luas); akan menampilkan 2 angka di belakang koma dari variabel luas.
10
c. Tipe data bentukan Berikut contoh tipe bentukan dari biodata mahasiswa yang terdiri dari beberapa variable, seperti : nama, jurusan, NIM, dan kelas. C Algoritma #include struct biodata { char nama[20],jurusan[20], nim[20], kelas [20] } b; int main () { printf("Nama : "); gets(b.nama); printf("Jurusan : "); gets(b.jurusan); printf("NIM : "); gets(b.nim); printf("Kelas : "); gets(b.kelas); printf("Biodata Anda : \n"); printf("Nama : %s \n",b.nama); printf("Jurusan : %s \n",b.jurusan); printf("NIM : %s \n",b.nim); printf("Kelas : %s \n", b.kelas); return 0; }
Type biodata : Kamus : b : biodata Algoritma : output(‘Nama : ‘) input(b.nama) output(‘Jurusan : ‘) input(b.jurusan) output(‘NIM : ‘) input(b.NIM) output(‘Kelas : ‘) input(b.Kelas) output(‘Biodata Anda : ‘) output(‘Nama : ‘,b.nama) output(‘Jurusan : ‘,b.jurusan) output(‘NIM : ‘,b.NIM) output(‘Kelas : ‘,b.kelas)
Catatan : • Fungsi gets() digunakan untuk menginputkan string. Jika menggunakan fungsi scanf() ketika menginputkan string maka hanya akan terbaca sampai ditemukan spasi. Misal “Cristiano Ronaldo”, maka hanya akan terbaca Cristiano, sedangkan Ronaldo tidak terbaca sebab sebelum kata tersebut program telah menemukan spasi. • Setiap input dengan scanf dan output dengan printf harus menyertakan penentu format dari input dan output tersebut. Contoh, kita akan menginputkan nilai 5 (integer) ke variabel x maka kita akan menuliskan : scanf (“%i”,&x); dimana “%i” merupakan penentu format untuk tipe data integer. Berikut ini adalah beberapa penentu format yang sering digunakan dalam bahasa pemrograman C.
Laboratorium Dasar Komputer Telkom University
11
Tipe Data Integer floating point • bentuk decimal • bentuk berpangkat • yang lebih pendek antara decimal dan berpangkat double precision Character string unsigned integer long Integer long unsigned Integer unsigned hexadecimal integer unsigned octal integer
Penentu Format %d, %i %f %e %g %lf %c %s %u %ld %lu %x %o
Secara default bahasa C menampilkan angka desimal dengan 6 angka di belakang koma. Maksudnya, jika yang ditulis adalah 4.323, maka yang ditampilkan menjadi 4.323000. Perintah printf memiliki aturan khusus untuk mengatur agar bahasa C menampilkan jumlah angka di belakang koma. Kita bisa menambahkan 3 cara penulisan ke dalam pola %f. Dimana formatnya adalah sebagai berikut : Format %f
Akan menampilkan 6 digit angka dibelakang koma.
%xf
Akan menampilkan angka sebanyak x digit dengan spasi sebagai pemisah
%0xf
Akan menampilkan angka sebanyak x digit dengan 0 sebagai pemisah
%.xf
Akan menampilkan x digit dibelakang koma
*dengan catatan x diisi dengan angka yang diinginkan.
Laboratorium Dasar Komputer Telkom University
12
MODUL 3 : PERCABANGAN Tujuan Praktikum 1. Memahami bentuk dari percabangan. 2. Membuat program sederhana menggunakan percabangan dengan C. 3. Memecahkan suatu kasus mengenai percabangan serta mengimplementasikannya ke dalam C. Dasar Teori : Operasi boolean adalah operasi logika yang hanya akan menghasilkan nilai true atau false. Operasi ini akan sering digunakan untuk menentukan aksi yang akan dilakukan oleh program (dalam percabangan maupun perulangan). Operator boolean Contoh Keterangan C Algoritma == = a == b Bernilai true jika a sama dengan b < < ab Bernilai true jika nilai a lebih dari b >= ≥ a >= b Bernilai true jika nilai a lebih dari / sama dengan b != ≠ a!=b Bernilai true jika nilai a tidak sama dengan b a b a and b False False False False True False True False False True True True Operator AND pada C adalah && Operator NOT pada C adalah !
a False True
Laboratorium Dasar Komputer Telkom University
a or b a xor b False False True True True True True False Operator OR pada C adalah || Operator XOR pada C adalah ^
not a True False
13
Percabangan : Percabangan adalah metode pemilihan suatu aksi yang akan dijalankan oleh program. Terdapat dua jenis percabangan, yaitu : 1. if [kondisi] -- [aksi] else – [aksi] Pada metode ini aksi akan dilakukan ketika kondisi bernilai true. a. Satu Aksi C Algoritma #include Program if Satu Aksi int bil; Kamus : void main() bil : integer { Algoritma : printf("Angka : "); Output(‘Masukkan nilai : ‘) scanf("%d",&bil); Input(bil) if (bil%2==0) if(bil mod 2 = 0) then printf("Bilangan Genap"); Output(‘Bilangan genap’) else printf("Bilangan Ganjil"); else output(“Bilangan } Ganjil”) Program di atas akan menampilkan “Bilangan Genap” jika nilai bil yang dimasukkan bernilai genap (bilangan genap berarti habis dibagi dua atau dapat ditulis bil % 2 = 0) b.
Dua Aksi C
#include #include char uname[50],pass[50]; int main() { printf("Username : "); gets(uname); printf("Password : "); gets(pass); if (strcmp(uname,"Daskom")==0 && strcmp(pass,"Kece")==0) { printf("Login Sukses \n"); printf("Silahkan Lanjutkan\n"); } else printf("Login Gagal\n"); return 0; }
Laboratorium Dasar Komputer Telkom University
14
Sama halnya dengan program sebelumnya, aksi dalam if akan dilakukan ketika kondisi bernilai true, sebaliknya bila kondisi bernilai false maka aksi pada else yang akan dilakukan. Program di atas akan menampilkan output “Login Sukses” jika username dan password yang dimasukkan sesuai dengan yang ada di baris program di atas, yaitu “Daskom” dan “kece”. *note : -
-
2.
jika aksi (pada if atau else) yang akan dikerjakan lebih dari satu, maka tambahkan “{“ (sebelum aksi pertama) dan “}” (setelah aksi terakhir). Anda tidak bisa menggunakan tanda = untuk membandingkan string. Perbandingan dilakukan menggunakan fungsi strcmp(). Fungsi strcmp() terdapat pada header string.h. Sehingga perlu menyertakan header string.h pada program menggunakan perintah #include di awal program agar fungsi strcmp() dapat terbaca. Pada fungsi strcmp(string1, string2) terdapat beberapa return value, diantaranya : - 0 : jika string1 sama dengan string2 - 0 : jika string1 lebih besar dari string2
case [variabel] of C
#include int i; void main () { printf("Masukkan urutan hari :"); scanf("%d",&i); switch (i) { case 1:printf("Senin");break; case 2:printf("Selasa");break; case 3:printf("Rabu");break; case 4:printf("Kamis");break; case 5:printf("Jumat");break; case 6:printf("Sabtu");break; case 7:printf("Minggu");break; default : printf("Angka di luar urutan hari");break; } }
Laboratorium Dasar Komputer Telkom University
Algoritma Program contohCaseOf Kamus : i : integer Algoritma : Output(‘Masukkan urutan hari : ‘) Input(i) Depend on (i) i = 1 : output(‘senin’); i = 2 : output(‘selasa’); i = 3 : output(‘rabu’); i = 4 : output(‘kamis’); i = 5 : output(‘jumat’); i = 6 : output(‘sabtu’); i = 7 : output(‘minggu’); else output(‘angka diluar urutan hari’);
15
Dari contoh di atas aksi yang akan dilakukan tergantung dengan nilai yang terdapat pada variabel i, ketika i bernilai 1 maka program akan menampilkan kata “senin” begitupun selanjutnya sampai angka 7. Default berfungsi jika case 1 - 7 tidak terpenuhi, maka perintah default akan dijalankan. Break berfungsi untuk menghentikan aksi yang dilalukan sampai pada case tersebut sehingga aksi pada case selanjutnya tidak diproses.
Laboratorium Dasar Komputer Telkom University
16
MODUL 4 : PERULANGAN Tujuan Praktikum 1. Memahami bentuk dari perulangan. 2. Membuat program sederhana menggunakan perulangan dengan bahasa C. 3. Memecahkan suatu kasus mengenai perulangan serta mengimplementasikannya ke dalam bahasa C.
Perulangan Perulangan dalam pemrograman digunakan untuk mengulangi sebuah blok kode tertentu sampai memenuhi kondisi yang diinginkan. Berikut adalah jenis-jenis perulangan dalam bahasa pemrograman C: 1. While loop Pada metode ini, aksi akan dilakukan selama kondisi bernilai true dan akan berhenti jika kondisi menjadi false. Pada perulangan ini jumlah perulangan belum diketahui secara pasti. Deklarasi while(kondisi) { // aksi // aksi // aksi }
C #include int i; void main() { i=1; while (i