Data Loading...

Materi 1 Flipbook PDF

Modul Pembelajaran


393 Views
104 Downloads
FLIP PDF 1.78MB

DOWNLOAD FLIP

REPORT DMCA

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 a7

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