Anda di halaman 1dari 93

PRAKTIKUM KONSEP PEMROGRAMAN KOMPUTER

Oleh :
Parito (1304405047)
A!ORATORIUM KOMPUTER
"URUSAN TEKNIK EEKTRO
#AKUTAS TEKNIK UNI$ERSITAS U%A&ANA
'014
KATA PENGANTAR
Puji syukur saya panjatkan kehadapan Tuhan Yang Maha Esa, karena
berkat rahmat-Nyalah saya dapat menyelesaikan laporan resmi Praktikum Konsep
Pemrograman Komputer tepat pada waktunya. dapun tujuan dari penulisan
laporan ini adalah untuk memenuhi tugas mata kuliah Praktikum Konsep
Pemrograman Komputer pada program studi Teknik Elektro !akultas Teknik
"ni#ersitas "dayana. $isamping itu juga untuk memberikan in!ormasi kepada
para pemba%a mengenai salah satu &ahasa pemrograman komputer yakni, &ahasa
'.
(aya mengakui bahwa laporan ini jauh dari sempurna mengingat
terbatasnya kemampuan serta sulitnya men%ari buku ) buku yang dipakai sebagai
a%uan atau re!erensi. "ntuk itu saya sangat mengharapkan kritik dan saran dari
pemba%a demi sempurnanya laporan ini. khir kata saya berharap semoga laporan
ini dapat berguna bagi pemba%a dan dapat memenuhi !ungsinya.
&ukit *imbaran, +, juni +,-.
Penulis
ii
%A#TAR ISI
Kata Pengantar...........................................................................................................
....................................................................................................................................
ii.................................................................................................................................
$a!tar /si....................................................................................................................
....................................................................................................................................
iii................................................................................................................................
$a!tar 0ambar...........................................................................................................
....................................................................................................................................
#..................................................................................................................................
$a!tar Tabel................................................................................................................
....................................................................................................................................
#i................................................................................................................................
$a!tar Kode Program.................................................................................................
....................................................................................................................................
#ii
&ab / Pendahuluan ....................................................................................................
....................................................................................................................................
-
-.- 1atar &elakang ........................................................................................
-
-.+ 2umusan Masalah ...................................................................................
3
-.3 Tujuan......................................................................................................
3
-..Man!aat ....................................................................................................
.
&ab // Tinjauan Pustaka ............................................................................................
4
&ab /// Modul - $asar dasar &ahasa ' ...................................................................
5
iii
3.- Tujuan .....................................................................................................
5
3.+ Tinjauan Pustaka .....................................................................................
5
3.3 Pembahasan dan nalisa .........................................................................
+6
3.. 1ampiran 7orm 1aporan (ementara .......................................................
35
&ab /8 Modul + Perulangan dan (eleksi Kondisi ...................................................
.,
..- Tujuan .....................................................................................................
.-
..+ Tinjauan Pustaka .....................................................................................
.-
..3 Pembahasan dan nalisa .........................................................................
..
... 1ampiran 7orm 1aporan (ementara .......................................................
44
&ab 8 Modul 3 1arik 9rray: .................................................................................
46
4.- Tujuan .....................................................................................................
46
4.+ Tinjauan Pustaka .....................................................................................
46
4.3 Pembahasan dan nalisa .........................................................................
4;
4.. 1ampiran 7orm 1aporan (ementara .......................................................
6;
&ab 8/ Modul . Proje%t ...........................................................................................
65
i#
6.- Tujuan .....................................................................................................
65
6.+ Tinjauan Pustaka .....................................................................................
65
6.3 Pembahasan dan nalisa .........................................................................
<-
6.. 1ampiran 7orm 1aporan (ementara .......................................................
;,
&ab 8// Penutup ...........................................................................................
;-
<.- Kesimpulan .............................................................................................
;-
<.+ (aran........................................................................................................
;-
$a!tar Pustaka ...........................................................................................................
;+
#
%A#TAR GAM!AR
0ambar 3.- Flowchart Program Menampilkan Nama dan Nim................................
+<
0ambar 3.+ Program Menampilkan Nama dan Nim.................................................
+;
0ambar 3.3 Flowchart Program 1uas dan 8olume Kubus.......................................
3,
0ambar 3.. Program 1uas dan 8olume Kubus.........................................................
3-
0ambar 3.4 Flowchart Program 1uas dan 8olume 1imas (egiempat......................
33
0ambar 3.6 Program 1uas dan 8olume 1imas (egiempat........................................
3.
0ambar 3.< Flowchart Program 1uas dan 8olume Keru%ut.....................................
36
0ambar 3.; Program 1uas dan 8olume Keru%ut.......................................................
3<
0ambar ..- Flowchart Program Kon#ersi (atuan Memory......................................
.;
0ambar ..+ Program Kon#ersi (atuan Memory........................................................
4,
#i
0ambar ..3 Flowchart Program "ntuk Menampilkan Tangga &ilangan 0anjil.......
4+
0ambar ... Program "ntuk Menampilkan Tangga &ilangan 0anjil ........................
43
0ambar 4.- Flowchart Program "ntuk Men%ari $ata pada rray /nputan .............
6,
0ambar 4.+ Progam Men%ari (ebuah $ata pada rray /nputan................................
6+
0ambar 4.3 Flowchart Program "ntuk Mengurutkan ngka rray s%ending.......
6.
0ambar 4.. Program Mengurutkan ngka &erdasarkan *umlah rray /nputan.......
66
0ambar 6.- Flowchart Program Kalkulator (ederhana ...........................................
<4
0ambar 6.+ Program Kalkulator sederhana...............................................................
<5
%A#TAR TA!E
#ii
Tabel 3.- Tabel Tipe $ata $asar &ahasa ' ...............................................................
--
Tabel 3.+ Tabel =perasi >ubungan ...........................................................................
-6
Tabel 3.3 Tabel operasi "nary ..................................................................................
-;
Tabel 6.- =perasi ritmatika ....................................................................................
<,
#iii
%A#TAR KO%E PROGRAM
'oding 3.- Program Menampilkan Nama dan Nim .................................................
+;
'oding 3.+ Program Penghitung 1uas dan 8olume Kubus ......................................
3-
'oding 3.3 Program Penghitung 1uas dan 8olume 1imas (egiempat .....................
3.
'oding 3.. Program Penghitung 1uas dan 8olume Keru%ut ....................................
3<
'oding ..- Program Kon#ersi satuan Memory ........................................................
.;
'oding ..+ Program untuk Menampilkan Tangga &ilangan 0anjil...........................
43
'oding 4.- Program Men%ari (ebuah $ata rray pada rray /nputan.....................
6-
'oding 4.+ Program Mengurutkan ngka &erdasarkan *umlah rray /nputan........
64
'oding 6.- Program Kalkulator (ederhana...............................................................
<6
i?
!A! I
PEN%A(UUAN
1)1) atar !ela*a+,
&ahasa pemrograman adalah suatu perangkat lunak dan bahasa yang
digunakan untuk membuat program-program komputer atau sering disebut
sebagai bahasa komputer. &ahasa pemrograman menggunakan sistem tata
bahasa tertentu atau kata-kata unik untuk dijadikan kode yang bisa
menjalankan perintah tertentu pada komputer. &ahasa pemrograman inilah
yang membentuk struktur perangkat lunak sebagai inti dari komputer untuk
menjalankan perangkat keras. Tanpa perangkat lunak yang dibuat
menggunakan bahasa pemrograman, maka perangkat keras tidak akan berjalan
dengan baik atau bahkan tidak dapat berjalan sama sekali.
&ahasa pemrograman dibagi menjadi tiga, yakni bahasa mesin, bahasa
pemrograman tingkat rendah dan bahasa pemrograman tingkat tinggi. &ahasa
mesin hanya dipakai untuk membuat sistem inti perangkat komputer seperti
yang tertanam pada &/=(, %hip-%hip tertentu dan lain sebagainya. &ahasa ini
hanya terdiri dari , dan - saja yang disebut sebagai byte. 1alu ada bahasa
pemrograman tingkat rendah yakni bahasa assembly yang digunakan untuk
berkomunikasi dengan hardware, membantu komputer mengingat memori dan
terdapatnya alamat simbolis yang berhubungan dengan bahasa mesin.
(edangkan bahasa pemrograman tingkat tinggi adalah bahasa pemrogaman
yang memiliki baris perintah yang mendekati bahasa manusia sehingga lebih
mudah digunakan.
$engan hadirnya bahasa ' pada -5<,-an yang merupakan hasil
pengembangan oleh $ennis 2i%thie sepertinya telah menghilang rasa takut
para pemula terhadap pemrograman. Karena bahasa pemrograman '@@ ini
termasuk dalam kategori bahasa pemrograman yang mudah dipahami dan
mudah untuk di mengerti oleh para pemula. (inta?-sinta? dalam @@ sudah
mendekati dengan bahasa dalam kehidupan sehari-hari. >ingga saat ini
penggunaan bahasa ' telah merata di seluruh dunia. >ampir semua perguruan
tinggi di dunia menjadikan bahasa ' sebagai salah satu mata kuliah wajib.
(elain itu, banyak bahasa pemrograman populer seperti P>P dan *a#a
menggunakan sintaks dasar yang mirip bahasa '.
1)') R-.-/a+ Ma/alah
-. pa itu &ahasa pemrograma ' A
+. pa saja dasar-dasar dari pemrograman &ahasa ' A
3. &agaimana %ara penulisan program &ahasa ' yang baik dan benar A
.. &agaimana %ara membuat program dengan menampilkan nama B nim
dan program menghitung luas dan #olume dari kubus,segiempat dan
keru%ut A
4. &agaimana %ara membuat program kon#ersi satuan memory 9byte,
gyga byte, kilo byte dan mega byte: dan program dengan menampilkan
bintang berurut, tangga bilangan dan tangga bilangan prima A
6. &agaimana %ara membuat program yang mampu men%ari sebuah data
pada array inputan dan program mengurutkan angka berdasarkan
jumlah array yang dimasukkan A
<. &agaimana %ara membuat program baru dengan mengaplikasikan
semua penggunaan !ungsi-!ungsi dalam &ahasa ' A
1)3) T-0-a+ Pe+-li/a+
Penulis menyusun laporan ini bertujuan untuk memenuhi tugas praktikum
Pemrograman Komputer. (elain tujuan utama tadi penulisan laporan ini juga
bertujuan untuk penulis dan mahasiswa khususnya mahasiswa Teknik Elektro
"ni#ersitas "dayana dapat lebih memahami mengenai apa itu &ahasa
pemrograman ', penggunaan dasar dari &ahasa ', %ara penulisan &ahasa
pemrograman ' yang baik dan benar, %ara melakukan proses input dan output
yang baik sehingga menghasilkan sebuah program yang bagus, dan mampu
membuat pogram baru dengan mengaplikasikan semua penggunaan !ungsi-!ungsi
dalam &ahasa ' . >arapan penulis dari disusunnya laporan ini adalah semoga
pemba%a dapat mengambil ilmu yang berman!aat dari isi laporan ini, dan supaya
menjadi bekal pembelajaran kita untuk ke depannya.
1)4) Ma+1aat Pe+-li/a+
-...-. "mum
$engan adanya Tulisan ini diharapkan, baik penulis maupun pemba%a
dapat lebih memahami tentang &ahasa pemrograman komputer ', penggunaan
dasar-dasar dari &ahasa ', 'ara penulisan &ahasa pemrograman ' yang baik dan
benar, dan Mampu melakukan proses input dan output yang baik agar
menghasilkan sebuah program yang bagus.
-...+. Khusus
$apat memenuhi tugas membuat 1aporan akhir dari Mata kuliah
Praktikum Konsep Pemrograman Komputer.
!A! II
TIN"AUAN PUSTAKA
')1) Se0arah !aha/a 2
Tahun -5<;, &rian C. Kerninghan B $ennis M. 2it%hie dari T B T
1aboratories mengembangkan bahasa & menjadi bahasa '. &ahasa & yang
di%iptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari
bahasa &'P1 9 &asi% 'ombined Programming 1anguage : yang di%iptakan oleh
Martin 2i%hard. (ejak tahun -5;,, bahasa ' banyak digunakan pemrogram di
Eropa yang sebelumnya menggunakan bahasa & dan &'P1. $alam
perkembangannya, bahasa ' menjadi bahasa paling populer diantara bahasa
lainnya, seperti P('1, &(/', 7=2T2N.
Tahun -5;5, dunia pemrograman ' mengalami peristiwa penting dengan
dikeluarkannya standar bahasa ' oleh meri%an National (tandards /nstitute
9N(/:. &ahasa ' yang di%iptakan Kerninghan B 2it%hie kemudian dikenal
dengan nama N(/ '. Mulai awal tahun -5;,, &jarne (troustrup dari T B T &ell
1aboratories mulai mengembangkan bahasa '. Pada tahun -5;4, lahirlah se%ara
resmi bahasa baru hasil pengembangan ' yang dikenal dengan nama '@@.
(ymbol @@ merupakan operator ' untuk operasi penaikan, mun%ul untuk
menunjukkan bahwa bahasa baru ini merupakan #ersi yang lebih %anggih dari '.
(ebenarnya bahasa '@@ mengalami dua tahap e#olusi. '@@ yang pertama, dirilis
oleh TBT 1aboratories, dinamakan %!ront. '@@ #ersi kuno ini hanya berupa
kompiler yang menterjemahkan '@@ menjadi bahasa '. &orland /nternational
merilis %ompiler &orland '@@ dan Turbo '@@.
Kedua %ompiler ini sama-sama dapat digunakan untuk mengkompilasi
kode
'@@. &edanya, &orland '@@ selain dapat digunakan dibawah lingkungan
$=(, juga dapat digunakan untuk pemrograman Cindows.
Pada e#olusi selanjutnya, &orland /nternational /n%. mengembangkan kompiler
'@@ menjadi sebuah kompiler yang mampu mengubah '@@ langsung menjadi
bahasa mesin 9assembly:. (ejak e#olusi ini, mulai tahun -55, '@@ menjadi
bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram
pro!essional.
')') Kera+,*a Pro,ra. !aha/a 2
(etiap program yang ditulis dalam bahasa ' pasti akan memiliki sebuah
!ungsi utama dengan nama main ( ). (elanjutnya jika ingin mende!inisikan !ungsi-
!ungsi lain maka harus dilakukan di luar !ungsi utama tersebut. $alam ', kode
yang diba%a adalah kode-kode yang terdapat di!ungsi utama. *ika ternyata terdapat
pemanggilan !ungsi lain, maka program akan men%ari nama !ungsi tersebut untuk
dieksekusi. (etelah mengeksekusi !ungsi tersebut, maka program akan kembali ke
dalam !ungsi utama, begitu seterusnya
')3) Al,orit.a
lgoritma se%ara sederhana merupakan urutan langkah-langkah logis
untuk menyelesaikan masalah yang disusun se%ara sistematis. Misalkan saja
Dalgoritma akti!itas pagi hari ini sebelum berangkat kerjaE yaitu 9-: turun dari
tempat tidur, 9+: melepas piiama, 93: mandi, 9.: berpakaian, 94: makan pagi, 96:
pergi kerja.
')4) P/e-3o4o3e
Pseudocode merupakan deskripsi tingkat tinggi in!ormal dan ringkas atas
suatu algoritma yang menggunakan suatu tata bahasa yang menyerupai bahasa
pemrograman, tetapi untuk diba%a oleh manusia. Pseudocode mempermudah
pemahaman atas suatu algoritma dan mempermudah implementasi dalam bentuk
kode programnya. Notasi pseudocode adalah yang paling umum di gunakan
dalam penulisan algoritma karena pengkon#ersian ke bahasa pemograman relati!
mudah. Notasi pseudocode terdiri dariF
a. Head 9judul: F memberikan nama pada algoritma. "mumnya nama sudah
dapat memberi gambaran prosedur penyelesaian masalah atau masalah
yang akan diselesaikan.
b. $eklarasi F menyatakan jenis dari setiap elemen data 9#ariabel: yang akan
digunakan dalam algoritma.
%. $eskripsi F merupakan inti prosedur penyelesaian masalah yang meliputi
pernyataan atau operasi, !ungsi, penjelasan, dan lain ) lain.
')5) #lo54hart
7low%hart adalah representasi gra!ik dari langkah-langkah yang harus
diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan
simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu.
7low%hart diawali dengan penerimaan input, pemrosesan input, dan diakhiri
dengan penampilan output.
Ta6el ')1 Notasi 7low%hart
Terminator Permulaan atau akhir program
0aris alir 9!low line: rah aliran program
Preparation Proses pemberian harga awal
Proses Proses perhitnunganGpengolahan data
/nputGoutput data Proses inputGoutput data
(ub program (ub program
$e%ision Pemilihan kondisi
=n page %onne%tor Penghubung
=!! page %onne%tor Penghubung beda halaman
')7) Ti8e %ata %a/ar
(elain !ungsi utama, pada setiap program kita tidak akan terlepas dari
penggunaan tipe data. $alam '@@ terdapat beberapa tipe data dasar yang telah
dide!inisikan, yaitu yang digolongkan ke dalam tipe bilangan bulat 9integer:,
bilangan riil 9floating-point:, tipe logika 9Boolean:, tipe karakterGteks
9character/string:. Tipe data tersebut digunakan untuk mengklasi!ikasikan
in!ormasi atau data berdasarkan jangkauan nilai dan memori yang dibutuhkan
program.
')7) $aria6el
8ariabel adalah suatu nama yang menyatakan tempat dalam memori
komputer yang digunakan untuk menyimpan suatu nilai dan nilainya dapat diubah
sewaktu-waktu ketika program sedang dieksekusi. (ebelum dapat menggunakan
suatu #ariabel dalam program, #ariabel harus dideklarasikan terlebih dahulu.
$alam &ahasa '@@ terdapat + jenis #ariable yaitu #ariable lokal dan #ariable
global.
a. 8ariabel lokal adalah #ariabel yang hanya dikenali oleh suatu !ungsi saja,
artinya tidak dikenali oleh lingkungan luar di dalam program yang dibuat.
dapun bentuk pendeklarasian #ariabel yang bersi!at lokal ini harus
berada dalam lingkup !ungsi yang dimaksud. Nilai data yang terdapat
didalamnya hanya hidup ketika bagian program tersebut dijalankan.
b. 8ariabel 0lobal merupakan sebuah #ariabel yang dideklarasikan diluar
!ungsi utama atau main9:.
')9) Per4a6a+,a+
$alam bahasa ' salah satu statemen yang sering digunakan adalah
statemen per%abangan. Per%abangan yang dimaksud disini tidak lain adalah suatu
pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan
atas kondisi tertentu. (tatemen dalam sebuah blok per%abangan akan dieksekusi
hanya jika kondisi yang dide!inisikan terpenuhi 9bernilai benar:. Terdapat tiga
jenis struktur yang digunakan untuk mengimplementasikan suatu per%abangan,
yaitu dengan menggunakan struktur if, ifelse, dan switch.
'):) Per-la+,a+
Perulangan adalah suatu proses yang melakukan statemen-statemen dalam
sebuah program se%ara terus menerus sampai terdapat kondisi untuk
menghentikannya. (truktur perulangan akan sangat membantu dalam e!esiensi
program. $alam '@@ terdapat tiga buah jenis struktur perulangan, yaitu struktur
for, while, dan do-while.
')10) Arra;
rray adalah sebuah #ariabel yang menyimpan sekumpulan data yang
memiliki tipe sama. (etiap data tersebut menempati lokasi atau alamat memori
yang berbeda-beda. (etiap nilai yang disimpan dalam array disebut dengan
element array, sedangkan nilai urut yang digunakan untuk mengakses array
disebut indeks array. Namun penting sekali untuk diperhatikan bahwa dalam '@@,
indeks array selalu dimulai dari , bukan -. Mende!inisikan tipe elemen array
berarti menetapkan tipe nilai yang dapat disimpan oleh array. Tipe elemen array
dapat berupa tipe sederhana 9integer, real, char, boolean, string:, tipe bentukan
9tipe terstruktur seperti record:, atau bahkan bertipe array lain.
')11) Pro4e3-re
Prosedur merupakan suatu bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang
memanggilnya. Perbedaan antara !ungsi dan prosedur adalah, !ungsi juga
dideklarasikan seperti #ariabel, dan mengembalikan nilai !ungsi ke pemanggilnya.
(edangkan prosedur tidak dideklarasikan seperti #ariabel dan tidak
mengembalikan nilai tertentu, tapi dapat memberikan hasil yang ada di dalam
prosedur itu.
')1') Pa//i+, !; Re1ere+4e
Passing b reference adalah melewatkan parameter ke sebuah !ungsi
berdasarkan alamatnya. Melewatkan parameter dengan %ara ini akan
menyebabkan nilai yang terdapat di dalam !ungsi akan sama persis dengan nilai
yang terdapat pada program 9di luar !ungsi:.
')13) Pa//i+, !; $al-e
7ungsi ini akan melewatkan nilai parameter ke dalam sebuah !ungsi untuk
digunakan sesuai proses yang terdapat di dalam !ungsi tersebut. *ika kita
melewatkan parameter dengan %ara ini maka nilai yang dihasilkan oleh !ungsi
tidak akan mempengaruhi nilai yang terdapat pada program 9di luar !ungsi
tersebut:.
')14) Pe.6a+,*it !ila+,a+ A4a*
Terdapat dua !ungsi yang dibutuhkan untuk membangkitkan bilangan
a%ak, yaitu srand() dan rand(). $engan !ungsi sederhana ini, kita bisa membuat
bilangan random semu 9pseudo random !alue:. 7ungsi yang kita masukkan akan
mengolah nilai yang luar biasa besar menjadi angka lain yang lebih bersahabat.
Meski output bilangan random kita akan berbeda tiap detiknya, bilangan random
yang kita bangkitkan masih berupa bilangan random semu.
')15) Meto3e Pe+,-r-ta+ %ata
Pengurutan data atau sorting merupakan jenis operasi penting dalam
pengolahan data yang banyak diterapkan dalam permasalahan sehari-hari. "orting
merupakan proses pengurutan data yang sebelumnya disusun se%ara a%ak sehingga
menjadi tersusun se%ara teratur menurut suatu aturan tertentu. "ort dalam hal ini
diartikan mengurutkan data yang berada dalam suatu tempat penyimpanan,
dengan urutan tertentu baik urut menaik 9ascending: dari nilai terke%il sampai
dengan nilai terbesar, atau urut menurun 9descending: dari nilai terbesar sampai
dengan nilai terke%il.
')17) Meto3e Pe+4aria+ %ata
Pen%arian 9searching: merupakan tindakan untuk mendapatkan suatu data
dalam kumpulan data. "ntuk keperluan men%ari data, terdapat beragam algoritma
pen%arian 9search algorithm:. Yang dimaksud dengan algoritma pen%arian adalah
algoritma yang menerima sebuah argumen a dan men%oba untuk menemukan
sebuah rekaman yang memiliki kun%i a. Pen%arian dapat dilakukan terhadap data
yang se%ara keseluruhan berada dalam memori komputer ataupun terhadap data
yang berada dalam penyimpanan eksternal.
')17) Str-*t-r
(truktur adalah tipe data bentukan yang menyimpan lebih dari satu
#ariabel bertipe sama maupun berbeda. "ntuk membuat tipe data struktur dalam
'@@, kita harus mendeklarasikannya dengan menggunakan kata kun%i struct.
Kumpulan data dalam sebuah struct sangat dianjurkan membentuk sebuah
kesatuan makna berkaitan dengan nama struct-nya.
')19) #ile
File adalah sebuah organisasi dari sejumlah struktur. Masing ) masing
struktur bisa terdiri dari satu atau beberapa field. (etiap field terdiri dari satu atau
beberapa bte. File dapat berupa file biner atau file teks. File biner adalah file
yang pola penyimpanannya di dalam disk dalam bentuk biner, seperti dalam
memori 92M: komputer.
')1:) Stri+,
$alam '@@, string yang digunakan bertipe null terminated string, yaitu
jenis string yang diakhiri oleh karakter null 9HI,J:, bukan nol. Kita tahu bahwa
string adalah kumpulan dari karakter, oleh karena itu jika kita akan
mendeklarasikan #ariabel bertipe string, maka kita harus melebihkan lebar
sebanyak satu karakter untuk posisi karakter null. $alam mengisikan nilai ke
#ariabel yang bertipe string, kita tidak perlu memasukkan karakter null se%ara
manual, karena '@@ se%ara otomatis akan menambahkannya. Terdapat beberapa
!ungsi siap pakai yang berguna untuk menyelesaikan masalah-masalah yang
berkaitan dengan string. "ntuk menggunakan !ungsi-!ungsi tersebut kita harus
menda!tarkan file header string.h 9untuk '@@ lama: atau K%stringL 9untuk '@@
standar:.
!A! III
MO%U I
%ASAR<%ASAR !A(ASA 2
3)1 T-0-a+
-. Memahami mengenai penggunaan dasar dari &ahasa '
+. Mampu menjalankan /$E 9/ntegrated $e#elopment En#iroment)
&ahasa ' untuk melihat hasil dari penulisan &ahasa
3. Memahami %ara penulisan &ahasa pemrograman yang baik B benar
.. Mampu melakukan proses input B output pada program
3)' Ti+0a-a+ P-/ta*a
3.+.- (ejarah
&ahasa ' merupakan perkembangan dari &ahasa &'P1 yang
dikembangkan oleh Martin 2i%hards pada tahun -56<. (elanjutnya &ahasa ini
memberikan ide kepada Ken Thompson yang kemudian mengembangkan &ahasa
yang disebut &ahasa & pada tahun -5<,. Perkembangan selanjutnya dari &ahasa
& adalah &ahasa ' oleh $ennis 2i%thie sekitar tahun -5<,-an di &ell Telephone
1aboratories /n%. 9sekarang adalah TBT &ell 1aboratories:. &ahasa ' pertama
kali digunakan di komputer $igital EMuipment 'orporation P$P--- yang
menggunakan sistem operasi "N/N. >ingga saat ini penggunaan &ahasa ' telah
merata di seluruh dunia. >ampir semua perguruan tinggi di dunia menjadikan
&ahasa ' sebagai salah satu mata kuliah wajib. (elain itu, banyak &ahasa
pemrograman lain seperti P>P dan *a#a menggunakan sintaks dasar yang mirip
&ahasa '.
3.+.+ (truktur Penulisan Kode
Penulisan &ahasa ' tidak mengenal aturan penulisan di kolom tertentu,
jadi bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah
pemba%aan program dan untuk keperluan dokumentasi, sebaiknya penulisan
&ahasa ' diatur sedemikian rupa sehingga mudah diba%a. &erikut %ontoh
penulisan Program &ahasa ' yang baik dan yang kurang baik F
Kedua Program di atas bila dijalankan akan menghasilkan hasil yang sama
berupa tulisan D&ahasa 'E di layar, namun dari segi penulisannya program
yang pertama tampaknya lebih mudah diba%a dan lebih rapih &ahasa
pemrograman dengan program yang kedua.
3.+.3 Tipe $ata
Tipe data merupakan bagian program yang paling penting karena
tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh &ahasa
pemrograman. Misalkan pada sebuah operasi aritmatika yang melibatkan <
dibagi + . *ika dua #ariable tersebut menggunakan tipe data integer maka akan
menghasilkan nilai + , namun jika menggunakan !loat maka akan menghasilkan
3.4,,,,,,. Penggunaan tipe data yang tepat akan membuat proses lebih e!isien,
tepat dan e!ekti!.
#include <stdio.h>
void main()
{
printf("Bahasa C\n");
}
void main()

{
printf("Bahasa C");
}
$alam &ahasa ' terdapat lima tipe data dasar, yaitu F
No Ti8e %ata U*-ra+ Ra+,e (0a+,*a-+) #or.at Ketera+,a+
- 'har - byte - -+; sGd -+< O% KarakterGstring
+ /nt + byte - 3+<6; sGd 3+<6< Oi , Od /ntegerGbilanga
n bulat
3 7loat 4 byte - 3..E-3; sGd
3..E@3;
O! 7loatGbilangan
pe%ahan
. $ouble ; byte - -.<E-3,; sGd
-.<@3,;
Ol! Pe%ahan presisi
ganda
4 8oid , byte - - Tidak bertipe
Ta6el 3)1 Tipe data dasar &ahasa '
#ontoh Program $
#include <stdio.h>
#include <stdli!.h>
void main()
{
int ";
float #;
char $;
dou!le %;
" & ';
() varia!le " diisi den*an ' )(
# & +.,-;
() varia!le # diisi den*an +.,- )(
$ & .C.;
() varia!le $ diisi den*an /ara/ter 0C1 )(
% & 2.,-345';
() varia!le % diisi den*an 2.,-345' )(
printf("6ilai dari " adalah 7 8i\n"9 ");
() :enampil/an isi varia!le " )(
printf("6ilai dari # adalah 7 8f\n"9 #);
() :enampil/an isi varia!le # )(
printf("6ilai dari $ adalah 7 8c\n"9 $);
() :enampil/an isi varia!le $ )(
printf("6ilai dari % adalah 7 8lf\n"9 %);
() :enampil/an isi varia!le % )(
return ';
}
3.+.. Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama
proses program berlangsung. Konstanta nilainya selalu tetap. Konstanta harus
dide!inisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer,
pe%ahan, karakter dan string. 'ontoh konstanta F 4,P -3P 3.-.P ..4,,,4P HJP
H&ahasa 'J. (elain itu, &ahasa ' juga menyediakan beberapa karakter khusus
yang disebut karakter es%ape, antara lain F
-: Ia F untuk bunyi bell 9alert:
+: Ib F mundur satu spasi 9ba%kspa%e:
3: I! F ganti halaman 9!orm !eed:
.: In F ganti baris baru 9new line:
4: Ir F ke kolom pertama, baris yang sama 9%arriage return:
6: I# F tabulasi #erti%al
<: I, F nilai kosong 9null:
;: IJ F karakter petik tunggal
5: IE F karakter petik ganda
-,: II F karakter garis miring
3.+.4 8ariabel
8ariabel adalah suatu pengenal 9identifier: yang digunakan untuk
mewakili suatu nilai tertentu di dalam proses program. &erbeda dengan konstanta
yang nilainya selalu tetap, nilai dari suatu #ariable bisa diubah-ubah sesuai
kebutuhan. Nama dari suatu #ariable dapat ditentukan sendiri oleh pemrogram
dengan aturan sebagai berikutF
-. Terdiri dari gabungan huru! dan angka dengan karakter pertama harus
berupa huru!. &ahasa ' bersi!at case-sensiti!e artinya huru! besar dan
ke%il dianggap berbeda. *adi antara nim, N/Mdan Nimdianggap berbeda.
+. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, ke%uali garis bawah
9underscore:. Yang termasuk symbol khusus yang tidak diperbolehkan
ntara lain F Q, A, O, R, S, B, T, 9, :, -, @, U dsb
.. Panjangnya bebas, tetapi hanya 3+ karakter pertama yang terpakai.
2o+toh 8e+a.aa+ =aria6el ;a+, 6e+ar :
N/M a, ?, namaVmhs, !3,5;, !., nilai, budi
2o+toh 8e+a.aa+ =aria6le ;a+, /alah :
OnilaiVmahasiswa, ;,mahasiswa, rata-rata, ada spasi, pentingS
3.+.6 $eklarasi
$eklarasi diperlukan bila kita akan menggunakan pengenal 9identifier:
dalam program. /denti!ier dapat berupa #ariable, konstanta dan !ungsi.
3.+.6.- $eklarasi 8ariabel
&entuk umum pendeklarasian suatu #ariable adalah F
NamaVtipe namaV#ariabelP
'ontoh F
3.+.6.+ $eklarasi Konstanta
$alam bahasa ' konstanta dideklarasikan menggunakan preprocessor
Rde!ine.
'ontohnya F
3.+.6.3 $eklarasi 7ungsi
7ungsi merupakan bagian yang terpisah dari program dan dapat diakti!kan
atau dipanggil di manapun di dalam program. 7ungsi dalam bahasa ' ada
yang sudah disediakan sebagai !ungsi pustaka seperti print!9:, s%an!9:, get%h9:
dan untuk menggunakannya tidak perlu dideklarasikan. 7ungsi yang perlu
dideklarasikan terlebih dahulu adalah !ungsi yang dibuat oleh programmer.
&entuk umum deklarasi sebuah !ungsi adalah F
TipeV!ungsi namaV!ungsi9parameterV!ungsi:P
'ontohnya F
int ";
(( ;e/larasi " !ertipe inte*er
char #9 huruf9 nim<'=;

(( ;e/larasi varia!le !ertipe char
float nilai;

(( ;e/larasi varia!le !ertipe float
dou!le !eta;
(( ;e/larasi varia!le !ertipe dou!le
int arra#<-=<,=;
(( ;e/larasi arra#
!ertipe inte*er
char )p;
(( ;e/larasi pointer p !ertipe
char
#define >?@ 2.,
#define nim 02',,'-',A1
#define nama 0>BC@DE1
float luasFlin*/aran(int Gari);

void tampil();

int tam!ah(int "9 int #);
3.+.< =perator
3.+.<.- =perator Penugasan
=perator Penugasan 9%ssignment operator: dalam &ahasa ' berupa tanda
sama dengan 9DUE:. 'ontoh F nilai U ;,P U ? T yP
rtinya F #ariable DnilaiE diisi dengan ;, dan #ariable DE diisi dengan
hasil perkalian antara ? dan y.
3.+.<.+ =perator ritmatika
&ahasa ' menyediakan lima operator aritmatika, yaitu F
-. T F untuk perkalian
+. G F untuk pembagian
3. OF untuk sisa pembagian 9modulus:
.. @ F untuk pertambahan
4. F untuk pengurangan
'atatan F operator O digunakan untuk men%ari sisa pembagian ntara dua
bilangan.
Misalnya F
#ontoh Program &$
5 O + U -
5 O 3 U ,
5 O 4 U .
5 O 6 U 3
#include <stdio.h>
#include <stdli!.h>
void main() {
printf("6ilai dari + 4 , & 8i"9 + 4 ,);
() menceta/ hasil + 4 , )(
printf("6ilai dari + H , & 8i"9 + H ,);
() menceta/ hasil + H , )(
printf("6ilai dari + ) , & 8i"9 + ) ,);
() menceta/ hasil + ) , )(
printf("6ilai dari + ( , & 8i"9 + ( ,);
() menceta/ hasil + ( , )(
printf("6ilai dari + \8 , & 8i"9 + 8 ,);
() menceta/ hasil + 8 , )(
}
3.+.<.3 =perator >ubungan 9Perbandingan:
=perator >ubungan digunakan untuk membandingkan hubungan antara
dua buah operand 9sebuah nilai atau #ariable. =perator hubungan dalam bahasa '
O8erator Arti 2o+toh Ketera+,a+
K Kurang dari ? K y pakah ? kurang dari y
KU Kurang dari sama
dengan
? KU y pakah ? kurang dari sama
dengan y
L 1ebih dari ? L y pakah ? lebih dari sama
dengan y
LU 1ebih dari sama dengan ? LU y pkah lebih dari sama
dengan
UU (ama dengan ? UU y pakah ? sama dengan y
SU Tidak sama dengan ? SU y pakah ? tidak sama
dengan y
Ga.6ar 3)' =perator >ubungan
3.+.<.. =perator 1ogika
*ika operator hubungan membandingkan hubungan antara dua buah
operand, maka operator logika digunakan untuk membandingkan logika hasil
dari operator-operator hubungan. =perator logika ada tiga ma%am, yaituF
-. BB F 1ogika N$ 9$N:
+. WW F 1ogika =2 9T":
3. S F 1ogika N=T 9/N0K2N:
3.+.<.4 =perator &itwise
=perator bitwise digunakan untuk memanipulasi bit-bit dari nilai data
yang ada di memori. =perator bitwise dalam bahasa ' F
-. KK F Pergeseran bit ke kiri
+. LL F Pergeseran bit ke kanan
3. B F &itwise N$
.. X F &itwise N=2 9E?%lusi#e =2:
4. W F &itwise =2
6. Y F &itwise N=T
3.+.<.6 =perator "nary
O8erator Arti>Ma*/-3 eta* 2o+toh E?-i=ale+
< "nary minus (ebelum
operator
@ -& T
'
@ 9-&: T
'
@@ Peningkatan dengan
penambahan nilai -
(ebelum dan
sesudah
@@ U @ -
<< Penurunan dengan
pengurangan nilai -
(ebelum dan
sesudah
-- U ) -
SiAeo11 "kuran dari operand dalam
&yte
(ebelum siZeo!9/: <
B "nary N=T (ebelum S <
C &itwise N=T (ebelum Y <
D Menghasilkan alamat
memori operand
(ebelum B <
E Menghasilkan nilai dari
Pointer
(ebelum T <
Ga.6ar 3)3 =perator "nary
=perator "nary merupakan operator yang hanya membutuhkan satu
operand saja. $alam bahasa ' terdapat beberapa operator unary, yaitu F
2atata+ Pe+ti+, B :
=perator peningkatan @@ dan penurunan -- jika diletakkan sebelum atau
sesudah operand terdapat perbedaan. Perhatikan %ontoh berikut F
#ontoh Program & $
() >er!edaan operator penin*/atan 44 #an* dileta//an
di depan
dan di!ela/an* operand )(
#include <stdio.h>
#include <stdli!.h>
void main(){
int "9 nilai;
" & -;
nilai & 44";
() !erarti " & " 4 ;
nilai & ";
)(
printf("nilai & 8d9 " & 8d\n"9 nilai9 ");
nilai & "44;
() !erarti nilai & ";
nilai & " 4 ;
)(
printf("nilai & 8d9 " & 8d\n"9 nilai9 ");
return ';
}
#ontoh Program ' $
3.+.; Komentar
Komentar program hanya diperlukan untuk memudahkan pemba%aan
dan pemahaman suatu program 9untuk keperluan dokumentasi program:. $engan
kata lain, komentar program hanya merupakan keterangan atau penjelasan
program. "ntuk memberikan komentar atau penjelasan dalam bahasa ' digunakan
pembatas GT dan TG atau menggunakan tanda GG untuk komentar yang hanya terdiri
#include <stdio.h>
#include <stdli!.h>
void main() {
int !9 nilai;
! & -;
nilai & HH!;
() !erarti ! & ! H ;
nilai & !;
)(
printf("6ilai ! setelah di/uran*i& 8d"9nilai);
}
dari satu baris. Komentar program tidak akan ikut diproses dalam program 9akan
diabaikan:.
#ontoh Program $
3.+.5 /nput
$alam bahasa ' proses memasukkan suatu data bisa menggunakan
beberapa !ungsi pustaka yang telah tersedia. &eberapa !ungsi pustaka yang
bisa digunakan adalahF
3.+.5.- (%an!9:
7ungsi pustaka s%an!9: digunakan untuk menginput data berupa data
numerik, karakter dan string se%ara ter!ormat. &erikut adalah hal-hal yang perlu
diperhatikan dalam pemakaian !ungsi s%an!9: F
-. 7ungsi s%an!9: memakai penentu !ormat
+. 7ungsi s%an!9: memberi pergantian baris se%ara otomatis
3. 7ungsi s%an!9: tidak memerlukan penentu lebar !ield
.. 8ariabelnya harus menggunakan operator alamat B Kode penentu
!ormat F
a. O% F Memba%a sebuah karakter
b. Os F Memba%a sebuah string
%. Oi, Od F Memba%a sebuah bilangan bulat 9integer:
d. O!, Oe F Memba%a sebuah bilangan pe%ahan 9real:
e. Oo F memba%a sebuah bilangan o%tal
#include <stdio.h>
#include <stdli!.h>
void main() {
printf("Contoh >en**unaan Iomentar");
Ceturn ';
() ;an ini untu/ menahan tampilan di la#ar )(}
!. O? F Memba%a sebuah bilangan heksadesimal
g. Ou F Memba%a sebuah bilangan tak bertanda
#ontoh Program $
3.+.5.+ 0ets9:
-. 7ungsi gets9: digunakan untuk memasukkan data bertipe karakter dan
tidak dapat digunakan untuk memasukkan data numerik.
+. >arus diakhiri dengan penekanan tombol enter
3. 'ursor se%ara otomatis akan pindah baris
.. Tidak memerlukan penentu !ormat
() >ro*ram memasu/an inputan den*an !e!erapa tipe
data )(
#include <stdio.h>
#include <stdli!.h>
void main()
{
int Gumlah;
char huruf9 nim<'=;
float nilai;
printf(":asu//an se!uah !ilan*an !ulat 7 ");
scanf("8d"9 JGumlah );
() mem!aca se!uah !ilan*an !ulat )(
printf(":asu//an deret an*/a 7 ");
scanf("8s"9 Jnim );
() mem!aca se!uah strin* )(
printf(":asu//an se!uah !ilan*an pecahan 7 ");
scanf("8f"9 Jnilai );
() mem!aca se!uah !ilan*an float )(
printf("\n6ilai varia!le #an* Bnda masu//an
adalah 7\n");
printf("Gumlah & 8d\n"9 Gumlah );
printf("nim & 8s\n"9 nim );
printf("nilai & 8f\n"9 nilai );
return ';
}
#ontoh Program$
3.+.5.3 0et%har9:
-. 7ungsi get%har9: digunakan untuk memba%a data yang bertipe karakter
+. >arus diakhiri dengan penekanan tombol enter
3. Karakter yang dimasukkan terlihat pada layar
.. Pergantian baris se%ara otomatis
2ATATAN :
*ika terdapat beberapa proses input 9memasukkan data: sekaligus, maka
sebaiknya ditambahkan !ungsi !!lush9stdin:P setelah !ungsi s%an!9:. 7ungsi
!!lush9stdin: ber!ungsi menghapus bu!!er di dalam alat /G=.
3.+.-, =utput
3.+.-,.- Menampilkan $ata ke 1ayar
-. Menggunakan !ungsi print!9:, puts9:, dan put%har9:.
+. 7ungsi print!9: digunakan untuk menampilkan semua jenis data
9numeri% dan karakter:
3. 7ungsi puts9: digunakan untuk menampilkan data string dan
se%ara otomatis akan diakhiri dengan perpindahan baris.
() >ro*ram inputan tipe data /ara/ter(strin* )(
#include <stdio.h>
#include <stdli!.h>
void main() {
char nama<5'=;
printf(":asu//an nama Bnda 7 ");
*ets(nama);
printf("?ello9 6ama Bnda adalah 8s"9 nama);
return ';
}
.. 7ungsi put%har9: digunakan untuk menampilkan sebuah
karakter.
'ara Mengatur tampilan bilangan pe%ahan 9!loat:.
&entuk umum F
print!9DOm.n!E, argument:P
Keterangan F
m F menyatakan panjang range
n F menyatakan jumlah digit di belakang koma.
argument F nilai atau #ariable yang akan ditampilkan.
'ontoh F
print!9DO4.+!E, nilai:P
rtinya #ariable nilai akan ditampilkan sebanyak 4 digit dengan + digit di
belakang koma.
#ontoh Program &$
() >ro*ram untu/ menampil/an data !erupa !ilan*an
pecahan )(
#include <stdio.h>
#include <stdli!.h>
void main(){
float nilai;
puts(":asu//an nilai Bnda 7 ");
scanf("8f"9 Jnilai);
printf("Bnda memperoleh nilai 8-.5f"9 nilai);
printf("Bpa/ah Bnda telah puas mendapat nilai
8K.,f L"9 nilai);
return ';
}
#ontoh Program '(
3.+.-,.+ Menampilkan data ke printer
"ntuk menampilkan data ke printer dapat menggunakan !ungsi
!print!9:, !puts9: dan !put%9:.
-. 7ungsi !print!9: digunakan untuk men%etak semua jenis tipe data ke
printer dan se%ara otomatis memberikan e!ek perpindahan baris.
+. 7ungsi !puts9: digunakan untuk men%etak tipe data string ke printer
3. 7ungsi !put%9: digunakan untuk men%etak tipe data karakter ke printer
() >ro*ram untu/ menampil/an data !erupa !ilan*an
inte*er dan
strin* )(
#include <stdio.h>
#include <stdli!.h>
void main(){
int umur;
char nama<5'=;
puts(":asu//an nama Bnda 7");
*ets(nama);
puts(":asu//an umur Bnda 7 ");
scanf("8d"9 Jumur);
printf("6ama Bnda 7 8s \n"9 nama);
((tipe data strin*
printf(0Mmur Bnda 7 8d \n19 umur);
((tipe data
inte*er
return ';
}
#ontoh program $
#include <stdio.h>
#include <conio.h>
void main() {

fprintf(stdprn9 0?allo9 Na#a a/an terceta/ di
printer1);

fputs(stdprn9 0Na#a Gu*a a/an terceta/ di printer1);

}
3)3 Pe.6aha/a+ 3a+ A+ali/a
Pembahasan dan analisa akan men%akup penjabaran tujuan dan isi modul
dengan peme%ahan tugas pratikum di setiap modulnya.
3.3.- nalisis dan Pengujian Modul - - $asar-$asar &ahasa '
3.3.-.- /si Modul
Modul ini membahas mengenai struktur bahasa ', dan hal-hal dasar
mengenai penulisan kode program dalam bahasa '. Meliputi penjelasan Tipe
$ata, Konstanta, 8ariabel, $eklarasi, Komentar dan =perator. Pada Modul -
9satu: ini juga dijelaskan bagaimana memasukkan sebuah inputan pada program
dan men%etaknya atau memberikan output ke layar.
3.3.-.+ nalisis dan Pengujian Tugas Pratikum
$alam menganalisa dan menguji tugas pratikum diterapkan langkah-
langkah konsep pemrograman komputer seperti yang sudah dijelaskan pada bab
sebelumnya. Yaitu deskripsi permasalahan, penggambaran peme%ahan masalah,
dan uji%oba program.
A) Me.6-at Pro,ra. ;a+, .e+a.8il*a+ +a.a D +i.
$eskripsi B Peme%ahan
Program meminta user untuk memasukkan inputan berupa nama B
nim kemudian menampilkannya ke layar. >al ini dapat dilakukan dengan
!ungsi sederhana print dan s%an dalam bahasa '.
Rancangan Pseudocode
Algoritma program_tampil_nama_nim
{Bl*oritma #an* a/an menerima inputan user
!erupa /ara/ter dan menampil/ann#a /e la#ar}
Deklarasi
6ama 7 int(5') {untu/ men#impan datanama
pen**una sepanGan* 5' di*it int}
6im 7 int(5') {untu/ men#impan data nim pen**una
sepanGan* 5' di*it int)
Deskripsi
Orite(:asu//an nama anda7)
Cead(nama)
Orite(:asu//an nim anda7)
read(nim)
Orite(6ama anda9 nama)
Orite(6im anda9 nim)
Flowchart
Ga.6ar 3)1 Flowchart Program menampilkan nama dan nim
Kode Program Dalam Bahasa C
GTProgram menampilkan Nama dan N/M MahasiswaTG
Rin%lude Kstdio.hL
Rin%lude Kstdlib.hL
int main9:
[
print!9\UUUUUUUTEKN/K E1EKT2=UUUUUUUIn\:P
print!9\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIn\:P
print!9\NM F P2/T=In\:P
GG "ntuk memun%ulkan nama saya dengan menggunakan !ungsi print!
print!9\N/M F -3,..,4,.<In\:P
GG "ntuk memun%ulkan N/m saya dengan menggunakn !ungsi print!
return ,P
]
]
Tampilan Program
Ga.6ar 3)' Program Menampilkan Nama dan Nim
!) Me.6-at Pro,ra. Perhit-+,a+ -a/ D $ol-.e
1) Perhit-+,a+ K-6-/
$eskripsi B Peme%ahan Masalah
Perhitungan 8olume Kubus memiliki rumus sisi ^ sisi ^ sisi
sedangkan 1uas Kubus memiliki rumus 9sisi ^ sisi: ^ 6 9enam: atau luas
sisi dikalikan 6 9enam:. $engan meman!aat kedua rumus tersebut yang
diproses lewat operasi aritmatika dalam bahasa ' dan !ungsi s%an! G print!
untuk input-output program dapat diselesaikan.
Rancangan Pseudocode
Algoritma luas_volume_kubus
{Bl*oritma #an* a/an menerima inputan user
!erupa nilai sisi dan men*olahn#a menGadi luas dan
volume}
Deklarasi
sisi 7 float {varia!el untu/ menampun* nilai sisi}
luas 7 float {varia!el untu/ menampun* hasil
perhitun*an luas}
Polume7float {varia!el untu/ menampun* hasil
perhitun*an volume}
Deskripsi
Orite(:asu//an nilai sisi7)
Cead(sisi)
luas Q (sisi)sisi))K
Polume Q (sisi)sisi)sisi)
Orite(luas) Orite(volume)
.-
Flowchart
Ga.6ar 3)3 Flowchart Program luas dan #olume Kubus
Kode Program Dalam Bahasa C
.
GTProgram menghitung luas kubusTG
Rin%lude Kstdio.hL
Rin%lude Kstdlib.hL
int main9:
[ !loat sP
GGProses $eklarasi 8ariabel, dan /nput dari "ser
print!9\ P2/T= TEKN/K E1EKT2=In\:P
print!9\UUUUUUUUUUUUUUUUUUUUUUUUIn\:P
print!9\P2=02M MEN0>/T"N0 1"(
K"&"(InIn\:P
print!9\(/(/F \:P
s%an!9\O!\,Bs:P
print!9\1"( K"&"( TE2(E&"T $1> F
O.+!\,6TsTs:PGGmenampilkan hasil perhitungan
system 9\pause\:P
return ,P
]
Tampilan Program
Ga.6ar 3)4 Program luas dan #olume kubus
') Perhit-+,a+ i.a/ Se,ie.8at
$eskripsi B Peme%ahan Masalah
Perhitungan 8olume 1imas (egiempat memiliki rumus -G3 ^
panjang 9p: ^ lebar 9l: ^ tinggi 9t: sedangkan 1uas 1imas (egiempat
memiliki rumus _ ^ . ^ tinggi 9t: @ panjang 9p: ^ lebar 9l:. $engan
meman!aat kedua rumus tersebut yang diproses lewat operasi aritmatika
dalam bahasa ' dan !ungsi s%an! G print! untuk input-output program dapat
diselesaikan.
Rancangan Pseudocode
Algoritma luas_volume_limas_segiempat
{Bl*oritma #an* a/an menerima inputan user
!erupa nilai sisi dan men*olahn#a menGadi luas dan
volume}
Deklarasi
p(>anGan*)7 float {varia!el untu/ menampun* nilai
panGan*}
l(Re!ar) 7float {varia!el untu/ menampun* nilai
le!ar}
t(Din**i) 7 float {varia!el untu/ menampun* nilai
tin**i}
Ruas 7 float {varia!el untu/ menampun* hasil
perhitun*an luas}
Polume 7 float {varia!el untu/ menampun* hasil
perhitun*an volume}
Deskripsi
Orite(:asu//an nilai sisi7)
Cead(sisi)
luas Q S T , tin**i (t) 4 panGan* (p) T le!ar (l)
Polume Q (2 T panGan* (p) T le!ar (l) T tin**i (t)
Orite(luas) Orite(volume)
Flowchart
Ga.6ar 3)5 Flowchart Program luas dan #olume limas segiempat
Kode Program Dalam Bahasa C
GTProgram menghitung #olume luas dan #olume limas
segiempatTG
Rin%lude Kstdio.hL
Rin%lude Kstdlib.hL
int main9:
[
GGProses $eklarasi 8ariabel, dan /nput dari "ser
print!9\ P2/T= TEKN/K E1EKT2=In\:P
print!9\UUUUUUUUUUUUUUUUUUUUUUUUIn\:P
print!9\In\:P
print!9\P2=02M MEN0>/T"N0 1"( $N
8=1"ME 1/M( (E0/EMPTIn\:P
!loat sisi, tinggi, lValas, lVselu, luas, #olumeP
print!9\In1(F \:P
s%an!9\O!\, Bsisi:P
print!9\T/N00/F \:P
s%an!9\O!\, Btinggi:P
GGProses Perhitungan
lValas U sisiTsisiP
lVselu U sisiTtinggiG+P
luas U lValas@lVseluP
#olume U lValasTtinggiG3P
GGTampilkan >asil Perhitungan
print!9\InUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUIn\:P
print!9\In1"(F O.+!\, luas:P
print!9\In8=1"MEF O.+!In\, #olume:P
system 9\pause\:P
return ,P
]
Tampilan Program
Ga.6ar 3)7 Program 1uas dan #olume limas sgi empat
3) Perhit-+,a+ Ker-4-t
$eskripsi B Peme%ahan Masalah
Perhitungan 8olume Keru%ut memiliki rumus phi ^ jari-jari ^ jari ^
tinggi dibagi 3 9phi ^ r ^ r ^ t: G3 sedangkan 1uas Keru%ut memiliki rumus
*ari-jari @ sisi miring ^ phi ^ jari-jari ^ 9r@s:TphiTr. $engan meman!aat
kedua rumus tersebut yang diproses lewat operasi aritmatika dalam bahasa
' dan !ungsi s%an! G print! untuk input-output program dapat diselesaikan.
Rancangan Pseudocode
Algoritma luas_volume_kerucut
{Bl*oritma #an* a/an menerima inputan user
!erupa nilai sisi dan men*olahn#a menGadi luas dan
volume}
Deklarasi
phi (29,)7 float {varia!el untu/ menampun* nilai
phi}
r(GariHGari)7float {varia!el untu/ menampun*
nilai GariHGari}
s(sisi mirin*)7 float {varia!el untu/ menampun*
nilai sisis mirin*}
t(Din**i 7 float {varia!el untu/ menampun*
nilai tin**i}
Ruas 7 float {varia!el untu/ menampun*
hasil perhitun*an luas}
Polume 7 float {varia!el untu/ menampun*
hasil perhitun*an volume}
Deskripsi
Orite(:asu//an nilai sisi7)
Cead(sisi)
luas Q S ) , tin**i (t) 4 panGan* (p) ) le!ar (l)
Polume Q (2 ) panGan* (p) ) le!ar (l) ) tin**i
(t)
Orite(luas) Orite(volume)
Flowchart
Ga.6ar 3)7 Program 1uas dan #olume Keru%ut
Kode Program Dalam Bahasa C
.
GTProgram menghitung #olume luas dan keru%utTG
Rin%lude Kstdio.hL
Rin%lude Kstdlib.hL
int main9:
[
GGProses $eklarasi 8ariabel, dan /nput dari "ser
print!9\ P2/T= TEKN/K E1EKT2=In\:P
print!9\UUUUUUUUUUUUUUUUUUUUUUUUIn\:P
print!9\In\:P
print!9\P2=02M MEN0>/T"N0 1"( $N 8=1"ME
KE2"'"TIn\:P
print!9\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUIn\:P
!loat jari, sisi, tinggi, lValas, lVselu, luas, #olumeP
print!9\In*ari-*ari lasF \:P
s%an!9\O!\, Bjari:P
print!9\InPanjang (isiF \:P
s%an!9\O!\, Bsisi:P
print!9\InTinggiF \:P
s%an!9\O!\, Btinggi:P
GGmulai Proses Perhitungan
lValas U jariTjariT++G<P
lVselu U jariTsisiT++G<P
luas U lValas@lVseluP
#olume U lValasTtinggiG3P
GGmemun%ulkan >asil Perhitungan
print!9\InUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUIn\:P
print!9\In1"( PE2M"KN KE2"'"TF O.+!\, luas:P
print!9\In8=1"ME KE2"'"TF O.+!In\, #olume:P
system 9\pause\:P
return ,P
Tampilan Program

Ga.6ar 3)9 Program luas dan #olume keru%ut


3.3.-.3 >asil Pengujian Modul
Modul - merupakan dasar dari Modul-Modul berikutnya bagi para
praktikan untuk mengerti mengenai dasar penggunaan bahasa pemrograman '.
$alam Modul sudah diberikan banyak petunjuk mengenai dasar-dasar
pemrograman meliputi %ara penulisan program dan juga penggunaan berbagai
!ungsi dasar seperti input-output.
Tugas pratikum yang diberikan mampu merepresentasikan semua materi
yang dijabarkan pada modul - ini. Meliputi proses input-output sederhana lewat
soal input nama dan nim. >ingga soal yang menuntut logika dari praktikan yaitu
soal-soal perhitungan bangun datar. (oal perhitungan bangun datar pun diberikan
dengan tingkat kesulitan yang bertahap dan tentu saja berhubungan dengan
penggunaan !ungsi-!ungsi dasar seperti integer, dan !loat pada soal perhitungan
bangun datar yang merupakan %ara untuk mendeklarasikan sebuah #ariabel dalam
bahasa '.
*adi dapat ditarik hasil pengujian bahwa isi dari modul beserta tugas
pratikum yang diberikan sudah sejalan dengan tujuan modul yang sudah
diren%anakan.
3)4 a.8ira+ #or. a8ora+ Se.e+tara
!A! I$
MO%U '
PERUANGAN D SEEKSI KON%ISI
4)1 T-0-a+
-. Mampu memahami penggunaan dasar dari perulangan B seleksi
kondisi
+. Mampu menetapkan penggunaan yang tepat dari ma%am-ma%am
perulangan B seleksi kondisi pada &ahasa '
4)' Ti+0a-a+ P-/ta*a
$alam bahasa ' tersedia suatu !asilitas yang digunakan untuk
melakukan proses yang berulang-ulang sebanyak keinginan kita 91oop:.
1ooping adalah sebuah program perulangan statement dengan jumlah tertentu
jika kondisi terpenuhi. Perulangan akan berhenti jika nilai yang dimasukan
sudah tidak memenuhi syarat yang diberikan. Perulangan atau dalam istilah lain
disebut dengan loop. Perulangan dipakai ketika kita dihadapkan pada suatu
masalah dalam men%ari jalan keluar dari banyak masalah yang berulang.
Misalnya saja, bila kita ingin menginput dan men%etak bilangan dari - sampai
-,, bahkan -,,,, tentunya kita akan merasa kesulitan. Namun dengan struktur
perulangan proses, kita tidak perlu menuliskan perintah sampai -,, atau -,,,
kali, %ukup dengan beberapa perintah saja. (truktur perulangan dalam bahasa '
mempunyai bentuk yang berma%am-ma%am. (edangkan penyeleksian kondisi
digunakan untuk mengarahkan perjalanan suatu proses.
Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang
mengatur jalannya air. &ila katup terbuka maka air akan mengalir dan sebaliknya
bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain.
7ungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa ',
terutama untuk program yang kompleks.
..+.- (truktur PerulanganD )H*+,E
Perulangan )H*+, banyak digunakan pada program yang terstruktur.
Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui.
Proses perulangan akan terus berlanjut selama kondisinya bernilai benar
9true: dan akan berhenti bila kondisinya bernilai salah.
'ontoh Program
*ika program tersebut dijalankan maka akan menghasilkan hasil sebagai berikut
Pada perulangan while di atas, proses atau perintah men%etak kata
kataD&>( 'E akan terus dilakukan selama #ariabel ? masih kurang atau
sama dengan-,. (etiap kali melakukan perulangan, nilai dari #ariabel ? akan
bertambah -.
() >ro*ram >erulan*an men**una/an %hile )(
#include <stdio.h>
#include <stdli!.h>
void main() {
int ";
" & ;
() a%al varia!el )(
%hile ( " <& ') {
() Batas a/hir perulan*an )(
printf("8d BB?BNB C\n"9 ");
" 44;
() varia!el " ditam!ah den*an )(
}
return ';
}
-&>( '
+&>( '
3&>( '
.&>( '
4&>( '
6&>( '
<&>( '
;&>( '
5&>( '
-,&>( '
..+.+ (truktur Perulangan D-o,)hileE
Pada dasarnya struktur perulangan do....while sama saja dengan
struktur while, hanya saja pada proses perulangan dengan while, seleksi berada
di while
yang letaknya di atas sementara pada perulangan do....while, seleksi while berada
di bawah batas perulangan. *adi dengan menggunakan struktur dowhile
sekurang-kurangnya akan terjadi satu kali perulangan.
'ontoh Program F
..+.3 (truktur Perulangan DForE
(truktur perulangan for biasa digunakan untuk mengulang suatu
proses yang telah diketahui jumlah perulangannya. $ari segi penulisannya,
struktur perulangan for tampaknya lebih e!isien karena susunannya lebih
simpel dan sederhana.
Keterangan F
-. /nisialisasi F pernyataan untuk menyatakan keadaan awal dari
#ariabel kontrol.
#include <stdio.h>
#include <stdli!.h>
void main() {
int ";
" & ;
do {
printf("8d BB?BNB C\n"9 ");
" 44;
}
%hile(" <& ');
return ';
}
+. (yarat F ekspresi relasi yang menyatakan kondisi untuk keluar dari
perulangan.
3. Penambahan F pengatur perubahan nilai #ariabel kontrol.
'ontoh Program F
..+.. (truktur Kondisi D*fE
(truktur if dibentuk dari pernyataan if dan sering digunakan untuk
menyeleksi suatu kondisi tunggal. &ila proses yang diseleksi terpenuhi atau
bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses
dan dikerjakan.
..+.4 (truktur Kondisi D*f,,lseE
$alam struktur kondisi if.....else minimal terdapat dua pernyataan.
*ika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan
pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka
pernyataan yang kedua yang dilaksanakan.
() >ro*ram perulan*an men**una/an for )(
#include <stdio.h>
#include <stdli!.h>
void main(){
int ";
for(" & ;
"<& ';
"44) {
printf("8d BB?BNB C\n"9 ");
}
return ';
}
..+.6 (truktur Kondisi E "witch,#ase,-efaultE
(truktur kondisi switch....case....default digunakan untuk penyeleksian
kondisi dengan kemungkinan yang terjadi %ukup banyak. (truktur ini akan
melaksanakan salah satu dari beberapa pernyataan H%aseJ tergantung nilai kondisi
yang ada di dalam switch. (elanjutnya proses diteruskan hingga ditemukan
pernyataan Hbrea.J. *ika tidak ada nilai pada %ase yang sesuai dengan nilai
kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah
HdefaultJ.
4)3 Pe.6aha/a+ 3a+ A+ali/a
Pembahasan dan analisa akan men%akup penjabaran tujuan dan isi modul
dengan peme%ahan tugas pratikum di setiap modulnya.
..3.- nalisis dan Pengujian Modul + ) Perulangan B (eleksi Kondisi
..3.-.- /si Modul
Modul ini membahas mengenai struktur Perulangan dan seleksi Kondisi
bahasa ', dan hal-hal dasar mengenai perulangan dan seleksi kondisi dalam
bahasa '. Meliputi penjelasan )hile, -o )hile, For, *f, *f else dan "witch #ase
-efault. Pada Modul + 9$ua: ini juga dijelaskan tentang bagaimana Penyeleksian
Kondisi memasukkan sebuah inputan pada program dan men%etaknya atau
memberikan output ke layar.
..3.-.+ nalisis dan Pengujian Tugas Pratikum
$alam menganalisa dan menguji tugas pratikum diterapkan langkah-
langkah konsep pemrograman komputer seperti yang sudah dijelaskan pada bab
sebelumnya. Yaitu deskripsi permasalahan, penggambaran peme%ahan masalah,
dan uji%oba program.
A) Me.6-at Pro,ra. *o+=er/i /at-a+ .e.or; ;a+, i+8-ta++;a 6i/a 3ari
.a/i+, F .a/i+, /at-a+ .e.or; (!;teG Kilo6;teG Me,a6;teG Gi,a6;teG))
$eskripsi B Peme%ahan
Program meminta user untuk memasukkan inputan berupa
kon#ersi satuan memory yang inputannya bisa dari masing ) masing
satuan memory 9&yte, Kilobyte, Megabyte, 0igabyte,: kemudian
menampilkannya ke layar. >al ini dapat dilakukan dengan !ungsi
perulangan dan seleksi kondisi dalam bahasa '.
Rancangan Pseudocode
Algoritma program_konversi_satuan_memory
{Bl*oritma #an* a/an menerima inputan user
!erupa /onversi satuan !e!erapa memor# dan
menampil/ann#a /e la#ar}
Deklarasi
!(B#te) 7float {varia!el untu/ menampun*
nilai !#te}
/!(Iilo!#te) 7 float {varia!el untu/ menampun*
nilai /ilo!#te}
m!(:e*a!#te) 7 float {varia!el untu/ menampun*
nilai me*a!#te}
*! (Ti*a!#te) 7 float {varia!el untu/ menampun*
nilai *i*a!#te}
!il 7 int {varia!el untu/ menampun* nilai
!ilan*an}
pil 7 int {varia!el untu/ menampun* nilai
pilihan}
Deskripsi
Orite(:asu//an pilihan7)
Cead(pil)
%rite (/onversi /e B#te)
read (!)
/! Q !il('5,
m! Q !il(',U-
*! Q !il('A2A,
%rite(/!) %rite(m!) %rite (*!)
%rite (/onversi /e Iilo!#te)
read (/!)
! Q !il)'5
m! Q !il('5,
*! Q !il(',U-
%rite(!) %rite(m!) %rite(*!)
%rite (/onversi /e :e*a!#te)
read (m!)
! Q !il)',U-AK
/! Q !il)'5,
*! Q !il('5,
%rite(!) %rite (/!) %rite (*!)
%rite (/onversi /e Ti*a!#te)
read (*!)
!&!il)'A2A,U5,
/!&!il)',U-AK
m!&!il)'5,
%rite(!) %rite(/!) %rite(m!)
Flowchart
Ga.6ar 4)1 Flowchart Program Kon#ersi (atuan Memory
Kode Program Dalam Bahasa C
GGprogram kon#ersi satuan memory
Rin%ludeKstdio.hL
Rin%ludeKstdlib.hL
#oid main9:
[
int kon#ersiP
puts9\PEN0K=N8E2(/N MEM=2YIn\:P
puts9\*enis kon#ersi memory F -:&YTE +:K& 3:M& .:0& In\:P
print!9\In pilih jenis kon#ersi yang diinginkanUIn\:P
s%an!9\Od\,Bkon#ersi:P
!loat s, ?,y,ZP
swit%h9kon#ersi:
[
%ase - F
print!9\memulai pengko#ersian byte to K&,M&,0&In\:P
GG progam pengko#ersian dalam byte
print! 9\&esar memori yang diinginkanAIn\:P
GG untuk memasukkan besar memori
s%an! 9\O!\,Bs:P
? U sG-,+.P
y U ?G-,+.P
Z U yG-,+.P
print!9\In>asil Kon#ersinya F InIn\:P
GG untuk menampilkan hasil kon#erensinya
print!9\O! K&InO! M&InO! 0&In\,?,y,Z:P
breakP
%ase + F
print!9\Memulai pengko#ersian kilobyte to &yte,Mb,0bIn\:P
GG progam pengkon#ersian kolibyte
print! 9\&esar memori yang diinginkanAIn\:P
GG untuk memasukkan besar memori yang diinginkan
s%an! 9\O!\,Bs:P
? U sT-,+.P
y U sG-,+.P
Z U yG-,+.P
print!9\In>asil Kon#ersinya F InIn\:P
GG untuk menghasilkan kon#erensin
print!9\O! &InO! M&InO! 0&In\,?,y,Z:P
breakP
}
print!9\Memulai pengko#ersian Mega&yte to &yte,Kb,0bIn\:P
GG progam untuk menampilkan kon#ersinya
print! 9\&esar memori yang diinginkanAIn\:P
GG untuk memasukkan besar memori yang diinginkan
s%an! 9\O!\,Bs:P
? U sT9-,+.T-,+.:P
y U sT-,+.P
Z U sG-,+.P
print!9\In>asil Kon#ersinya F InIn\:P
GG untuk menampilkan hasil kon#ersinya
print!9\O! &InO! K&InO! 0&In\,?,y,Z:P
breakP

Tampilan Program
Ga.6ar 4)' Program Kon#ersi satuan memory
%ase .F
print!9\Memulai pengko#ersian 0igabyte to &,Kb,MbIn\:P
GG progam untuk pengkon#ersian gigabyte
print! 9\&esar memori yang diinginkanAIn\:P
GG untuk memasukan besar memori yang diinginkan
s%an! 9\O!\,Bs:P
? U sT9-,+.T-,+.T-,+.:P
y U sT9-,+.T-,+.:P
Z U sT-,+.P
print!9\In>asil Kon#ersinya F InIn\:P
GG untuk menampilkan kon#ersinya
print!9\O! &InO! K&InO! M&In\,?,y,Z:P
breakP
]
!) Me.6-at Pro,ra. -+t-* .e+a.8il*a+ ta+,,a 6ila+,a+ ,a+0il
$eskripsi B Peme%ahan Masalah
Menampilkan tangga bilangan ganjil dengan meman!aatkan input
nilai tinggi tangga bilangan ganjil yang dimasukan oleh user lewat operasi
perulangan dalam bahasa ' dan !ungsi s%an! G print! untuk input-output
program dapat diselesaikan.
Rancangan Pseudocode
Algoritma tangga_bilangan_ganjil
{Bl*oritma #an* a/an menerima inputan user
!erupa input nilai tin**i tan**a !ilan*an *anGil
dan menampil/ann#a /e la#ar}
Deklarasi
i 7float {varia!el untu/ menampun* nilai untu/
tan**a !ilan*an *anGil}
G 7float {varia!el untu/ menampun* nilai untu/
tan**a !ilan*an *anGil}
n 7float {varia!el untu/ menampun* nilai untu/
tin**i tan**a !ilan*an *anGil}
a 7 float {varia!el untu/ menampun* hasil tan**a
!ilan*an *anGil}
Deskripsi
Orite(:asu//an nilai tin**i tan**a !ilan*an
*anGil 7)
Cead(n)
for Q(i&;i<&n;i44)
for Q(G&';G<i;G44)
Orite(a)
Flowchart
Ga.6ar 4)3 Flowchart Program tangga bilangan ganjil
Kode Program Dalam Bahasa C
Rin%ludeKstdio.hL
Rin%ludeKstdlib.hL
main9:
[
print!9\Progam Tangga &ilangan 0anjil In\:P
int i ,j ,nilai, kU- P
print!9\input nilai In\:P
s%an!9\Oi\, Bnilai:P
print!9\hasilnya adalah FIn\:P
!or9iU,P iK nilai Pi@@:
GG untuk menampilkan output - sampai 4
[
!or9jU,PjKUi Pj@@:
GG untuk menampilkan output menghasilkan tangga bilangan ganjil
[
print!9\O4.d \,k:P
k@U+ P
]
print!9\In\:P
]
get%h9:P
Tampilan Program
Ga.6ar 4)4 Program untuk menampilkan tangga bilangan ganji
..3.-.3 >asil Pengujian Modul
Modul + merupakan dasar dari Perulangan dan (eleksi kondisi bagi para
praktikan untuk mengerti mengenai dasar perulangan dan seleksi kondisi dalam
bahasa pemrograman '. $alam Modul sudah diberikan banyak petunjuk
mengenai dasar-dasar perulangan dan seleksi kondisi meliputi penjelasan )hile,
-o )hile, For, *f, *f else dan "witch #ase -efault. Pada Modul + 9$ua: ini juga
dijelaskan tentang bagaimana Penyeleksian Kondisi memasukkan sebuah inputan
pada program dan men%etaknya atau memberikan output ke layar.
Tugas pratikum yang diberikan mampu merepresentasikan semua materi
yang dijabarkan pada modul + ini. Meliputi proses input-output sederhana lewat
soal input kon#ersi satuan memory. >ingga soal yang menuntut logika dari
praktikan yaitu soal-soal membuat tangga bilangan ganjil.
*adi dapat ditarik hasil pengujian bahwa isi modul beserta tugas pratikum
yang diberikan sudah sejalan dengan tujuan modul yang sudah diren%anakan.
4)4 a.8ira+ #or. a8ora+ Se.e+tara
!A! $
MO%U 3
ARIK (ARRA&)
5)1 T-0-a+
-. Memahami mengenai array dalam &ahasa Pemrograman '
+. Memahami penggunaan array se%ara e!ekti!
5)' Ti+0a-a+ P-/ta*a
rray adalah suatu tipe data tersutruktur yang dideklarasikan dengan nama
#ariable yang sama, dan mampu menyimpan banyak data yang tergantung kepada
elemen-elemenGnilai-nilai data yang ditentukan. Kemudian, data tersebut disimpan
kedalam memori se%ara berurutan 9kontiyu:. $alam &ahasa lain array pun dikenal
dengan larik. 1etak atau posisi dari elemen array ditunjukkan oleh suatu inde?.
dapun ma%am-ma%am dimensi array adalah array dimensi satu, array
dimensi dua, dan array multi-dimensi.
4.+.- rray $imensi (atu
Keterangan F
-. (etiap elemen array dapat diakses melalui indeks.
+. /ndeks array se%ara de!ault dimulai dari ,.
3. $eklarasi rray
&entuk "mum F
TipeVarray namaVarray`ukuranaP
'ontoh Program
'TTN F
(tring juga sebenarnya merupakan array yang bertipe karakter.
*umlah elemen array menyatakan jumlah string.
Rin%lude Kstdio.hL
Rin%lude Kstdlib.hL
#oid main9: [
int inde?, nilai`-,aP
GT input nilai mahasiswa TG
print!9\/nput nilai -, mahasiswa F In\:P
!or9inde?U,P
inde? K -,P
inde?@@: [
print!9\Mahasiswa Oi F \, inde?@-:P
s%an!9\Oi\, Bnilai`inde?a:P
]
GT tampilkan nilai mahasiswa TG
print!9\Nilai mahasiswa yang telah diinput\:P
!or9inde?U,P
inde? K -,P
inde?@@: [
print!9\O4.,i\, nilai`inde?a:P
]
return ,P
]
4.+.+ rray $imensi $ua
rray dua dimensi merupakan array yang terdiri darim buah baris dan n
buah kolom. &entuknya dapat berupa matriks atau tabel.
&entuk "mum F
TipeVarray namaVarray`barisa`kolomaP
'ara mengakses array F
"ntuk mengakses array, misalnya kita ingin mengisi elemen array baris + kolom 3
dengan -, maka perintahnya adalah sbb F N`-a`+a U -,P "ntuk mengisi dan
menampilkan isi elemen array ada dua %ara yaitu F
-. 2ow Major =rder 9se%ara baris per baris:
+. 'olumn Major =rder 9se%ara kolom per kolom:
4.+.3 rray Multi $imensi
rray multi-dimensi merupakan array yang mempunyai ukuran lebih dari
dua.&entuk pendeklarasian array sama saja dengan array dimensi satu
maupun array dimensi dua.
&entuk "mum F
tipeVarray namaVarray`ukuran-a`ukuran+ab`ukuranNaP
5)3 Pe.6aha/a+ 3a+ A+ali/a
Pembahasan dan analisa akan men%akup penjabaran tujuan dan isi modul
dengan peme%ahan tugas pratikum di setiap modulnya.
4.3.- nalisis dan Pengujian Modul 3 )1arik 9rray:
4.3.-.- /si Modul
Modul ini membahas mengenai struktur 1arik 9rray: bahasa ', dan hal-
hal dasar mengenai 1arik 9rray: dalam bahasa '. Meliputi penjelasan suatu tipe
data tersutruktur yang dideklarasikan dengan nama #ariable yang sama, dan
mampu menyimpan banyak data yang tergantung kepada elemen-elemenGnilai-
nilai data yang ditentukan. Pada Modul 3 9Tiga: ini juga dijelaskan tentang rray
$imensi satu, rray $imensi $ua, dan rray Multi $imensi.
4.3.-.+ nalisis dan Pengujian Tugas Pratikum
$alam menganalisa dan menguji tugas pratikum diterapkan langkah-
langkah konsep pemrograman komputer seperti yang sudah dijelaskan pada bab
sebelumnya. Yaitu deskripsi permasalahan, penggambaran peme%ahan masalah,
dan uji%oba program.
A) Me.6-at Pro,ra. .e+4ari /e6-ah %ata 8a3a Arra; I+8-ta+
$eskripsi B Peme%ahan
Program meminta user untuk memasukkan inputan berupa sebuah
data pada rray /nputan yang inputannya berjumlah array 4, dimana nilai
array masing ) masingnya yaitu 3+ 3- 3. 34 ., kemudian
menampilkannya ke layar sesuai dengan array yang akan di%ari. >al ini
dapat dilakukan dengan !ungsi rray 91arik: dalam bahasa '.
Rancangan Pseudocode
Algoritma program_mencari_data_pada_array_inputan
{Bl*oritma #an* a/an menerima inputan user
!erupa - nilai arra# #an* masin*Hmasin* nilain#a
25 2 2, 2- ,' dan menampil/ann#a /e la#ar sesuai
den*an nilai arra# #an* a/an dicari}
Deklarasi
n 7int {varia!el untu/ menampun* Gumlah nilai
masu/an arra#}
!ilFarra# 7 int {varia!el untu/ menampun* masu/an
arra#}
i 7int {varia!el untu/ menampun* nilai arra#}
cari7float {varia!el untu/ mencari nilai masu/an
arra# #an* a/an di cari}
Deskripsi
Orite(:asu//an Gumlah input arra# anda7)
Cead(n)
%rite (:asu/an nilai arra# anda 7)
read (!ilFarra#)
for Q(i&;i<&n;i44)
%rite (:asu/an nilai arra# #an* dicari 7)
read (cari)
for Q (i&';i<&n;i44)
%rite(nilai #an* dicari ada pada arra# /e 7)
Flowchart
Ga.6ar 5)1 Flowchart Men%ari rray pada $ata /nputan
Kode Program Dalam Bahasa C
GGProgram yang mampu men%ari sebuah data pada array inputan
Rin%lude Kstdio.hL
Rin%lude K%onio.hL
#oid main9:
[
GG&`-4a merupakan penentu jumlah maksimal data bilangan yang
dimasukanGG
int n, &`-4a, inde?`-4a, i, j, kP
GGinput banyak data bilanganGG GGnbFjumlah data bilangan tidak boleh lebih
dari -4GG
print!9\Masukkan banyak data bilanganF \:P
s%an!9\Od\, Bn:P
!or9iU-PiKUnPi@@:
[
print!9\$ata bilangan ke - Od F \,i:P
s%an!9\Od\,B&`ia:P
]
GGinput bilangan dataGG
print!9\Masukkan data bilangan yang di%ari F \:P
s%an!9\Od\,Bk:P
!or 9iU,P iKnP i@@:
[
i!9&`iaUUk:
[
inde?`jaUiP
]
]
GGoutput letak bilangan data yang di%ariGG
print!9\bilangan tersebut terdapat dalam inde? ke F \:P
!or9iU,PiKjP i@@:
[
]
print!9\ Od \, inde?`ia:P
get%h9:P
return ,P
]
Tampilan Program
Ga.6ar 5)' Program Men%ari $ata pada rray inputan
!) Me.6-at Pro,ra. ;a+, .e+,-r-t*a+ a+,*a 6er3a/ar*a+ 0-.lah
arra; ;a+, 3i.a/-**a+
$eskripsi B Peme%ahan
Program meminta user untuk memasukkan inputan berupa sebuah
data pada rray /nputan yang inputannya berjumlah array 4, dimana nilai
array masing ) masingnya yaitu 4, + -- < +< kemudian menampilkannya
ke layar se%ara berurutan dari nilai array yang terke%il ke nilai array
terbesar. >al ini dapat dilakukan dengan !ungsi rray 91arik: dalam
bahasa '.
Rancangan Pseudocode
Algoritma program_mengurutkan_array_ascending
{Bl*oritma #an* a/an menerima inputan user
!erupa - nilai arra# #an* masin*Hmasin* nilain#a 4,
+ -- < +< dan menampil/ann#a /e la#ar secara !erurutan
dari nilai arra# #an* ter/ecil /e nilai arra#
ter!esar}
Deklarasi
an*/a 7 int {varia!el untu/ menampun* Gumlah nilai
masu/an arra# #an* a/an diurut/an secara
ascendin* sepanGan* 2' di*it int}
a 7 int {varia!el untu/ menampun* nilai masu/an
arra# int}
! 7 int {varia!el untu/ menampun* nilai masu/an
arra# int}
c 7 int{varia!el untu/ mencari nilai masu/an arra#
int}
d 7 int {varia!el untu/ menampun* Gumlah nilai
masu/an arra# #an* a/an diurut/an int}
Deskripsi
Orite(:asu//an Gumlah input arra#)
Cead(d)
%rite (:asu/an nilai arra# #an* a/an diurut/an)
read (an*/a)
for Q(a&';a<d;44a)
for Q(a&';a<d;44a)
for Q(!&a4;!<d;44!)
for Q (a&';a<d;44a)
%rite (Bn*/a Bscendin*)
Flowchart
Ga.6ar 5)3 Flowchart Program mengurutkan array daril ke%il ke besar
Kode Program Dalam Bahasa C
GGProgram mengurutkan angka berdasarkan jumlah array yang dimasukan
Rin%lude Kstdio.hL
Rin%lude K%onio.hL
#oid main9:
[
GGdata`-4a penentu jumlah maksimal data
int data`-4a, n, i, j, tempatP
GGinput jumlah data GGnbF jumlah data tidak lebih dari -4
print!9\Masukkan jumlah data bilangan F \:P
s%an!9\Od\, Bn:P
!or9iU,P iKnP i@@:
[
print!9\$ata ke - Oi F \, i@-:P
s%an!9\Od\, Bdata`ia:P
]
!or9iU,P iKnP i@@:
[
!or9jUi@-P jKnP j@@:
[
i!9data`iaLdata`ja:
[
tempat U data`iaP
data`ia U data`jaP
data`ja U tempatP
]
]
]
GGoutput data bilangan yang sudah diurutkan
print!9\$ata bilangan setelah diurutkan F \:P
!or9iU,P iKnP i@@:
[
print!9\ O d\, data`ia:P
]
get%h9:P
return ,P
]
]
Tampilan Program
Ga.6ar 5)4 Program mengurutkan angka berdasarkan jumlah array yang dimasukkan
4.3.-.3 >asil Pengujian Modul
Modul 3 merupakan dasar dari 1arik 9rray: bagi para praktikan untuk
mengerti mengenai dasar 1arik 9rray: dalam bahasa pemrograman '. $alam
Modul sudah diberikan banyak petunjuk mengenai dasar-dasar 1arik 9rray:
meliputi penjelasan tentang rray $imensi (atu, rray $imensi $ua, dan rray
Multidimensi. Pada Modul 3 9Tiga: ini juga dijelaskan tentang bagaimana suatu
tipe data tersutruktur yang dideklarasikan dengan nama #ariable yang sama, dan
mampu menyimpan banyak data yang tergantung kepada elemen-elemen atau
nilai-nilai data yang ditentukan, kemudian data tersebut disimpan kedalam
memori se%ara berurutan 9kontiyu: dan memasukkan sebuah inputan pada
program serta men%etaknya atau memberikan output ke layar.
Tugas pratikum yang diberikan mampu merepresentasikan semua materi
yang dijabarkan pada modul 3 ini. Meliputi proses input-output lewat soal input
men%ari data pada array inputan. >ingga soal yang menuntut praktikan untuk
membuat program mengurutkan angka berdasarkan jumlah array yang
dimasukkan seperti dari nilai array yang terke%il ke ilia array terbesar.
*adi dapat ditarik hasil pengujian bahwa isi dari modul beserta tugas
pratikum yang diberikan sudah sejalan dengan tujuan modul yang sudah
diren%anakan.
5)4 a.8ira+ #or. a8ora+ Se.e+tara
!A! $I
MO%U
PRO"E2T
7)1 T-0-a+
-. Praktikan diharapkan mampu menerapkan apa yang sudah dipelajari
kedalam bentuk jadi sebuah program.
+. Masing-masing praktikan memiliki proje%t yang berbeda-beda.
7)' Ti+0a-a+ P-/ta*a
6.+.- /nput =utput pada &ahasa '
/nput dan ouput data dalam bahasa ' hanya berkisar antara input
yang diberikan oleh keyboard yang selanjutnya akan di tampilkan 9=utput:
di layar monitor. $alam bahasa ' banyak !ormat untuk meng-input dan
meng-output tergantung pada penggunaan !ile header yang digunakan,
kemudian kali ini aku akan sedikit membahas tentang penggunaan + standar
input dan output dasar yang sering digunakan dalam bahasa pemrograman
khususnyabahasa ' dengan !ormat yang berbeda-beda.
6.+.+ =perasi ritmatika pada &ahasa '
=perasi aritmatika adalah operator yang digunakan untuk melakukan
operasi penjumlahan, pengurangan, pembagian, dan perkalian atau operator yg
digunakan untuk melakukan perhitungan pada bilangan. &ahasa ' menyediakan
sejumlah operator aritmatika 9arithmeti% operator: seperti tampak pada tabel
berikut ini.
O8era/i O8erator
Penambahan @
Pengurangan -
Perkalian T
Pembagian G
(isa pembagian O
/n%rement @@
$e%rement )
Ta6el 7)1 =perasi aritmatika
6.+.3 Perulangan pada &ahasa '
1ooping adalah sebuah program perulangan statement dengan jumlah
tertentu jika kondisi terpenuhi. Perulangan akan berhenti jika nilai yang
dimasukan sudah tidak memenuhi syarat yang diberikan. Ma%am-ma%am looping
pada ' F
while loop
(ynta? F while 9e?pression: statement
do-while loop
(ynta? F do statement while 9%ondition:P
(e%ara !ungsional hampir sama dengan while loop, hanya saja %ondition
dalam do-while die#aluasi setelah eksekusi statement, dengan kata lain sedikitnya
satu kali eksekusi statement walaupun kondisi tidak terpenuhi.
!or loop
(ynta? F !or9initialiZationP%onditionPin%rease: statementP
7ungsinya akan mengulang statement jika %ondition bernilai benar. (ama
seperti while loop, hanya saja !or memungkinkan untuk memberikan instruksi
initialiZation dan instruksi in%rease, sehingga dapat menampilkan loop dengan
%ounter.
6.+.. rray pada &ahasa '
rray adalah suatu tipe data tersutruktur yang dideklarasikan dengan nama
#ariable yang sama, dan mampu menyimpan banyak data yang tergantung kepada
elemen-elemenGnilai-nilai data yang ditentukan. Kemudian, data tersebut disimpan
kedalam memori se%ara berurutan 9kontiyu:. $alam &ahasa lain array pun dikenal
dengan larik. 1etak atau posisi dari elemen array ditunjukkan oleh suatu inde?.
dapun ma%am-ma%am dimensi array adalah array dimensi satu, array
dimensi dua, dan array multi-dimensi.
6.+.4 Kalkulator sederhana
Kalkulator adalah alat untuk menghitung dari perhitungan sederhana
seperti penjumlahan, pengurangan, perkalian dan pembagian sampai kepada
kalkulator sains yang dapat menghitung rumus matematika tertentu. Pada
perkembangannya sekarang ini, kalkulator sering dimasukkan sebagai !ungsi
tambahan daripada komputer, handphone, bahkan sampai jam tangan.
7)3 Pe.6aha/a+ 3a+ A+ali/a
Pembahasan dan analisa akan men%akup penjabaran tujuan dan isi modul
dengan peme%ahan tugas pratikum di setiap modulnya.
6.3.- nalisis dan Pengujian Modul . )Proje%t
6.3.-.- /si Modul
Modul ini membahas mengenai sebuah proje%t yang dibuat oleh masing-
masing praktikan dalam bahasa ', dimana setiap praktikan diharapkan mampu
menerapkan apa yang sudah dipelajari kedalam bentuk jadi sebuah program,
dan masing-masing praktikan memiliki proje%t yang berbeda-beda. Meliputi
penjelasan yang mengaplikasikan penggunaan !ungsi-!ungsi /nput-=utput,
Konstanta, =perasi ritmatika, Perulangan, dan rray.
6.3.-.+ nalisis dan Pengujian Tugas Pratikum
$alam menganalisa dan menguji tugas pratikum diterapkan langkah-
langkah konsep pemrograman komputer seperti yang sudah dijelaskan pada bab
sebelumnya. Yaitu deskripsi permasalahan, penggambaran peme%ahan masalah,
dan uji%oba program.
A) Me.6-at Pro,ra. /e6-ah %ata 8a3a Arra; I+8-ta+
$eskripsi B Peme%ahan
Program meminta user untuk memasukkan inputan berupa sebuah
penggunaan !ungsi-!ungsi /nput-=utput, Konstanta, =perasi ritmatika,
Perulangan. (emua !ungsi-!ungsi tersebut diaplikasikan menjadi sebuah
program Kalkulator (ederhana yang dapat ber!ungsi sebagai penjumlahan,
pengurangan, perkalian, pembagian, akar, dan pangkat dari input yang
dimasukan.
Rancangan Pseudocode
Algoritma program_Penghitung_Gaji
{Bl*oritma #an* a/an menerima inputan user
!erupa input an*/a dan /ara/ter dimana #an*
/ara/ter a/an ditampil/an dila#ar /emudian #an*
an*/a a/an dioperasi/an se!a*ai penGumlahan9 dan
per/alian}
Deklarasi
Vam /erGa 7 float {varia!el Mntu/ menampun*
nilai Gam /erGa}
6ama 7 Char {Paria!el untu/ men#impan data
nama pen**una sepanGan* '' di*it}
Vam po/o/ 7 float { varia!el untu/ memasu/an
nilai pertama dalam float}
Vam lem!ur 7float {varia!el untu/ memasu/an nilai
/edua dalam float}
Dotal *aGi 7float {varia!el untu/ menceta/ nilai
total *aGi dalam float}
>il 7char {varia!el untu/ menco!a la*i
atau tida/ pilihan pro*ram dalam
char}
Deskripsi
Orite(masu/an nama anda)
Cead(nama)
%rite(masu/an Ga!atan anda)
read(Ga!atan)
%rite(:asu/an Gumlah Gam /erGa )
read(Gam /erGa)
%rite(masu/an Gam /erGa po/o/)
read(Gam /erGa po/o/)
%rite(masu/an Gam /erGa lem!ur)
read(Gam /erGa lem!ur)
*aGi Q Gam /erGa po/o/4Gam /erGa lem!ur
%rite(total *aGi)
read(r)
%rite(Co!a la*i te/an 9 in*in /eluar te/an ')
read(pil)
pil Q toupper(*etch())
%rite(Co!a la*i9 atau /eluar)
Flowchart
Ga.6ar 7)1 Flowchart penghitung gaji
Kode Program Dalam Bahasa C
Rin%lude Kstdio.hL
main9:
[
int jkerja, jlemburP
!loat gajipk, gajilembur, tgajiP
!loat gajipjU-,,,,.,,P
%har nama`-,,a, pilihan`-aP
print!9\ItItProgram Penghitung 0aji KaryawanInIn\:P
print! 9\VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVIn\:P
print!9\masukkan nama anda F \:P
s%an!9\Os\, Bnama:P GG untuk memasukan nama karyawan
print!9\masukkan jumlah jam kerja ItF \:P
s%an!9\Od\, Bjkerja:P GG untuk mengitung jam kerja
print!9\masukkan jumlah jam lembur ItF \:P
s%an!9\Od\, Bjlembur:P GG untuk menghitung jam kerja lembur
gajipkUjkerjaTgajipjP
gajilemburUjlemburTgajipjP
tgajiUgajipk@gajilemburP GG untuk meghasilkan jumlah gaji
keseluruhan
print!9\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIn\:P
print!9\total gaji pegawai perhari F In\:P
print!9\nama ItItF OsIn\, nama:P
print!9\gaji pokok ItF O.+!In\, gajipk:P
print!9\gaji lembur ItF O.+!In\, gajilembur:P
print!9\total gaji ItF O.+!In\, tgaji:P
GG untuk memun%ulkan gaji yang telah di total
print! 9\VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVIn\:P
get%h9:P
]
Tampilan Program

Ga.6ar 7)' Program Penghitung 0aji


7)4 a.8ira+ #or. a8ora+ Se.e+tara
!A! $II
PENUTUP
7)1 Ke/i.8-la+
Pemrograman adalah proses menulis, menguji dan memperbaiki 9debug:,
dan memelihara kode yang membangun sebuah program komputer. Kode ini
ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah
untuk membuat suatu program yang dapat melakukan suatu perhitungan atau
cpekerjaanc sesuai dengan keinginan si pemrogram 9programmer:. "ntuk dapat
melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika,
bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain
seperti matematika. &ahasa Pemrograman ' adalah suatu perangkat lunak dan
bahasa yang digunakan untuk membuat program-program komputer atau
sering disebut sebagai bahasa kompute. Pada struktur bahasa pemrogaman '
terdapat beberapa bagian deklarasi dan beberapa bagian dari statment. dapun
bagian deklarasi dibagi menjadi empat yaitu deklarasi #ariabel, deklarasi
konstanta, deklarasi tipe data dan deklarasi pro%edure atau !un%tion.
7)' Sara+
"ntuk men%iptakan sebuah program yang baik dan benar, seorang
programmer harus menulis se%ara urut suatu bahasa pemrograman dan
sesuai dengan posedurnya. Pada bahasa pemrograman ' terdapat tab
komentar yang merupakan sebuah kalimat yang biasanya di%antumkan oleh
seorang programmer sebagai sebuah %atatan ke%il yang mana komentar ini tidak
akan ikut di %ompile atau diproses. Terkadang para programmer pemula
melupakan untuk men%antumkan komentar pada tiap-tiap pengkodingan, padahal
itu %ukup penting bagi programmer untuk memberi penjelasan pada tiap
pengkodingan.
%A#TAR PUSTAKA
/nternet F
www.ukdw.a%.idGkuliahGin!oGT/+,+3G Modul ,;&.pd!
www.mi%.a%.idGlibG...G Modul GPemrogramanO+,'@.pd!
we?ku.!iles.wordpress.%omG+,-+G,5G+Vdasar-%.pd!
httpFGGid.wikibooks.orgGwikiGPemrogramanV'
httpFGGwww.a%ademia.eduG3-+,.,4GrrayV$alamV&ahasaV'
httpFGGid.wikipedia.orgGwikiG'V9bahasaVpemrograman:
1iteratur lain F
Modul praktikum pemrograman komputer +,-.

Anda mungkin juga menyukai