modul telgj104p
Post on 12-Jul-2016
21 Views
Preview:
DESCRIPTION
TRANSCRIPT
Blue Print Modul Pemrograman Dasar
PANDUAN PRAKTIKUM
PEMROGRAMAN DASAR(TEL 104 P)
LABORATORIUM KOMPUTER DAN INFORMATIKA
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
2006
1
Blue Print Modul Pemrograman Dasar
PENGANTAR
Alhamdulillah, puji syukur kita panjatkan ke hadirat Tuhan YME, karena atas limpahan rahmat dan anugerah-Nya, akhirnya modul pemrograman dasar dengan menggunakan GCC sebagai kompiler utamanya dapat disusun dengan baik.
Modul pemrograman dasar ini disusun untuk memenuhi kebutuhan praktikum pemrograman dasar di Laboratorium Komputer dan Informatika, Jurusan Teknik Elektro Universitas Gadjah Mada. Terkait dengan kebijakan Universitas, sekaligus Jurusan Teknik Elektro untuk bermigrasi pada perangkat lunak opensource secara bertahap, beberapa dosen dan mahasiswa yang mengampu praktikum di Laboratorium Komputer dan Informatika Jurusan Teknik Elektro akhirnya sepakat untuk mengulas pemrograman dasar dengan menggunakan perangkat lunak opensource. Pilihan ini akhirnya jatuh pada GCC, sebuah kompiler bahasa C / C++ berbasis platform UNIX.
Akhirnya, kesempurnaan adalah sesuatu yang membutuhkan proses perbaikan dan saran. Modul pemrograman dasar ini bukanlah tanpa cacat dan cela. Segala masukan, kritik dan saran bisa disampaikan melalui laboran lab, asisten, maupun dikirimkan langsung ke email Bapak Bimo Sunarfrihantono di bimo@te.ugm.ac.id . Semoga modul praktikum ini memberikan manfaat yang besar dan dapat memacu kita untuk mempelajari lebih dalam pemrograman dengan bahasa C / C++.
2
Blue Print Modul Pemrograman Dasar
SEPATAH KATA DARI TIM PENYUSUN
Modul praktikum Pemrograman Dasar ini membahas tentang konsep-konsep dasar bahasa C. Bahasa C adalah bahasa pemrograman internasional yang sesuai dengan standar dari ANSI (American National Standard Institute). Bahasa C sangat penting untuk dikuasai karena bahasa ini memiliki konsep dasar untuk bahasa pemrograman tingkat tinggi yang lain, seperti PHP, Java, maupun Shell Programming.
Dalam praktikum kali ini, kita akan menggunakan kompiler GCC. GCC atau sering disebut GNU C adalah bagian tak terpisahkan dari perkembangan mesin-mesin komputer berbasis sistem operasi UNIX atau LINUX. GCC merupakan proyek andalan FSF (Free Software Foundation) sebagai bagian dari proyek GNU/ GPL (General Public License). Sebagaimana kita ketahui, proyek GNU bertujuan untuk menghasilkan implementasi secara gratis. Jika dilihat ke belakang, GCC merupakan hasil kerja sama ratusan hacker dan programmer yang tersebar di seluruh dunia. Walaupun bersifat gratis, GCC dapat bersaing dengan kompiler-kompiler lainnya. GCC telah dilangkapi dengan berbagai macam cara-cara mengoptimalkan layar, terminal, bahkan dengan standar input/output yang tidak kalah dengan kompiler C yang lain yang sifatnya komersial.
Beberapa keuntungan yang bisa diambil jika kita menguasai GCC sebagai kompiler dasar untuk bahasa C, antara lain :
Secara otomatis terbebas dari permasalah HAKI (Hak Atas Kekayaan Intelektual) karena GCC bersifat gratis dan tidak
3
Blue Print Modul Pemrograman Dasar
perlu membajak untuk meng-install-nya (biasanya menjadi satu paket apabila kita meng-install Linux atau sistem operasi lain berbasis Unix). Lebih jelasnya, untuk instalasi GCC anda tidak perlu membayar lisensi serupiah pun kepada siapa pun juga.
Jika berminat, source code dari GCC bahkan bisa kita buka dan kita ubah semau kita. Berbeda dengan kompiler lain yang Windows Based, Anda nggak bakalan bisa membuka source code program tersebut, kecuali anda menjadi salah satu bagian dari tim developer yang direstui oleh Microsoft ......
Dari praktikum pemrograman dasar ini diharapkan praktikan memiliki empat buah kemampuan dasar yang diperlukan seorang programmer :
Mengenal dan mampu menggunakan GCC sebagai sebuah kompiler bahasa C/C++
Memahami dan mampu membuat sebuah program berdasarkan flowchart dan atau pseudo-code yang ada.
Mampu membuat program untuk memecahkan permasalahan yang ada.
Mampu melakukan bug tracking / debugging terhadap program-program yang memiliki bug / kesalahan dalam coding.
Semoga modul praktikum ini memberikan manfaat dan mampu memotivasi kita untuk belajar lebih jauh tentang pemrograman dengan bahasa C/C++ serta bahasa-bahasa pemrograman lainnya. Terakhir dari kami ...... happy coding
Yogyakarta, 5 Februari 2006
4
Blue Print Modul Pemrograman Dasar
Tim Penyusun,Night Login IT Community
UNIT IPENGENALAN GCC
TUJUAN PRAKTIKUM1. Memahami fungsi dan kegunaan dasar gcc.2. Mampu menggunakan gcc untuk membuat program dalam
bahasa C
DASAR TEORIGNU Compiler Collection (GCC) adalah sebuah program yang
berupa kumpulan compiler berbagai bahasa pemrograman seperti C, C++, Fortran, dan lain-lain. Implementasi GCC yang paling luas saat ini adalah untuk meng-compile program-program yang ditulis untuk bahasa C dan bahasa C++.
HINTKita dapat mengubah source code dari GCC, seperti menambahi patch, dsb. Dengan demikian dimungkinkan untuk menjalankan program yang dicompile dengan GCC ini dalam sistem operasi Windows
Sebagai sebuah compiler bahasa pemrograman, GCC memiliki beberapa keuntungan, antara lain sebagai berikut:
1. Tersedia luas2. Bersifat Open Community3. Dapat digunakan sebagai cross-compiler
engapa GCC ? GCC adalah
kompiler bahasa C / C++ yang bersifat free dan open source. Artinya, tanpa membajak pun kita bisa memdistribusikannya secara
5
Blue Print Modul Pemrograman Dasar
Untuk meng-compile sebuah source code yang ditulis dalam bahasa C, digunakan perintah gcc. Sebagai contoh, untuk meng-compile program yang ditulis dalam file coba.c digunakan perintah sebagai berikut:
$ gcc coba.c
Perintah di atas akan meng-compile coba.c menjadi suatu file executable bernama a.out. Untuk mengganti nama file output standard a.out tersebut menjadi nama lain yang diinginkan, digunakan option –o dengan perintah sebagai berikut:
$ gcc –o [output] [source]
Selain langsung membuat executable file, GCC dapat juga digunakan untuk meng-compile source code dalam bahasa C menjadi sebuah object file berakhiran .o menggunakan option –c, dengan bentuk perintahnya adalah seperti berikut:
$ gcc –c [source]
Perintah di atas akan menghasilkan object file yang namanya sama dengan file source nya, tetapi akhirannya tidak lagi .c , melainkan .o .
LinkingLinking adalah istilah yang sering digunakan untuk menyebut
proses pembuatan suatu executable file dari satu atau lebih object file. Pada gcc, proses ini dilakukan dengan menggunakan option –o. Bentuk perintahnya adalah sebagai berikut:
$ gcc –o [executable file] [object-file 1] [object-file 2] ...
6
Blue Print Modul Pemrograman Dasar
DebuggingSelain untuk meng-compile source dan membuat executable,
GCC juga memiliki fasilitas untuk melakukan debugging pada program yang dibuat, yaitu GDB (GNU DeBugger). Untuk menggunakan fasilitas debugging GDB, source code harus di-compile dengan menggunakan option –g untuk memasukkan informasi debugging ke dalam file executable yang dibuat. Bentuk perintahnya adalah sebagai berikut:
$ gcc –g –o [executable] [source]
Untuk melakukan debugging pada program yang telah dicompile dengan option –g, digunakan perintah gdb seperti di bawah ini:
$ gdb [executable]
Setelah mengetikkan perintah di atas, maka kita akan masuk ke command line gdb, di mana kita dapat memasukkan berbagai perintah debugging yang tersedia. Beberapa perintah debugging dasar ditunjukkan oleh tabel di bawah ini:
Perintah Fungsirun Menjalankan programlist Melihat di mana program berhentiquit Keluar dari gdb
HINTUntuk melihat fungsi-fungsi pada GCC lebih lanjut, dapat dilakukan dengan mengakses manual GCC, yaitu dengan mengetikkan man gcc
7
Blue Print Modul Pemrograman Dasar
LANGKAH PERCOBAANPercobaan 1 : Compiling Program dengan GCC
1. Pada percobaan ini, tulislah 2 program berikut menggunakan text editor dan simpan masing-masing dengan nama myfirstprogram.c dan mysecondprogram.c :
myfirstprogram.c#include <stdio.h>
main(){
printf(“this is my first program… \n”);
}
mysecondprogram.c#include <stdio.h>
main(){
printf(“this is my second program… \n”);
}
2. Setelah itu, bukalah console dan masuklah ke dalam direktori di mana kedua file tadi disimpan, kemudian masukkan perintah-perintah di bawah ini:
$ gcc myfirstprogram
$ a.out
$ gcc mysecondprogram
$ a.out
Bagaimanakah keluaran yang dihasilkan oleh masing-masing perintah a.out di atas? Jelaskan dalam laporan resmi yang anda buat !
8
Blue Print Modul Pemrograman Dasar
Percobaan 2 : Linking Object File
1. Untuk percobaan ini, tulislah kedua program berikut menggunakan editor dan simpanlah masing-masing dengan nama linking1.c dan linking2.c pada direktori Anda:
linking1.c#include <stdio.h>
main(){
printf(“first file to be linked… \n”);
linking2();
}
linking2.c#include <stdio.h>
linking2(){
printf(“second file to be linked… \n”);
}
2. Setelah itu, jalankan perintah-perintah berikut ini di dalam direktori kerja Anda:
$ gcc –c linking1.c
$ gcc –c linking2.c
$ gcc –o linkedprogram linking1.o linking2.o
$ linkedprogram
Jelaskan kegunaan masing-masing perintah di atas dan amati hasilnya (Tuliskan dalam lembar Laporan Sementara di akhir bab ini ).
9
Blue Print Modul Pemrograman Dasar
3. Berikutnya, masukkan perintah-perintah berikut:$ gcc –o linkedprogram linking1.o
$ linkedprogram
Bagaimanakah hasil eksekusi linkedprogram kali ini? Jelaskan
alasannya dalam laporan resmi yang anda buat.
Percobaan 3 : Debugging
1. Untuk percobaan kali ini, tulislah program berikut dan simpanlah pada direktori Anda dengan nama debug.c :
debug.c#include <stdio.h>
main(){
printf(“for debugging use only… \n”);
}
2. Setelah itu, jalankan perintah-perintah berikut ini:
$ gcc –g –o debugfile debug.c
$ gdb debugfile
(gdb) run
Amati hasilnya.
3. Keluarlah dari command line gdb dengan perintah quit, kemudian masukkan perintah-perintah berikut:
$ gcc –o debugfile debug.c
$ gdb debugfile
(gdb) run
Adakah perbedaan hasil eksekusi dengan yang sebelumnya? Mengapa?(Jelaskan dalam laporan resmi Anda !)
10
Blue Print Modul Pemrograman Dasar
TUGASProgram GCC adalah sebuah software program yang bersifat
open source. Terangkan perbedaan antara software open source, freeware, dan shareware. Lampirkan jawaban / tugas ini pada laporan resmi yang akan Anda buat.
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT I. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://www.gnu.org/software/gcc/ http://users.actcom.co.il/~choo/lupg/tutorials/c-on-unix/c-on-
unix.html http://www.cs.wisc.edu/~beechung/ref/gcc-intro.html http://www.network-theory.co.uk/docs/gccintro/
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan operasi dasar dalam pemrograman bahasa C. Beberapa hal yang patut Anda ketahui, antara lain :
- Struktur pemrograman bahasa C- Tipe data dan operator- Operasi – operasi dasar dalam pemrograman dasar
11
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUMUNIT I . PENGENALAN GCC
Pertanyaan :1. Jelaskan kegunaan perintah di bawah ini ! Bagaimanakah
hasilnya bila perintah tersebut di eksekusi ? (lihat langkah percobaan 2).
$ gcc –c linking1.c
$ gcc –c linking2.c
$ gcc –o linkedprogram linking1.o linking2.o
$ linkedprogram
2. Apakah yang anda ketahui tentang debugging dan apa gunanya ?
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
............................................2. .......................................................................................................
............................. .........................................................................
...........................................................
.................................................................................................................................... ....................................................................................................................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
12
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan : .................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................
UNIT IIPENGENALAN GCC II
TUJUAN PRAKTIKUM1. Memahami unsur-unsur dasar pemrograman dalam bahasa C.2. Memahami operasi aritmatika dari yang sederhana sampai yang
rumit dalam bahasa C.3. Memahami penulisan sintaks bahasa C dengan benar.4. Mampu meng-compile program dengan benar dengan
menggunakan GCC
DASAR TEORI Unsur-unsur sebuah bahasa pemrograman yang akan dibahas
meliputi, unsur-unsur aritmatika, penulisan sintaks dari sebuah bahasa pemrograman, dan proses compiling source code. Tetapi pembahasan kita tidak akan terbatas pada hal-hal tersebut saja, tetapi mengarah pada proses coding dengan compiler GCC menggunakan bahasa C.
Struktur program dalam bahasa CDalam struktur penulisannya, program dalam bahasa C terdiri
dari kumpulan fungsi-fungsi, dan paling sedikit harus ada sebuah
13
Blue Print Modul Pemrograman Dasar
fungsi wajib yaitu fungsi main. Jadi bahasa C sudah bersifat moduler, sehingga sangat memudahkan proses coding. Lebih jauh tentang fungsi akan dibahas pada unit terakhir yang akan membahas modularitas dan fungsi dalam bahasa C.
HINTJika pada program terdiri dari beberapa fungsi, maka proses pemanggilan fungsi – fungsi tersebut adalah dari fungsi main().
Tipe-tipe data dan operator dalam bahasa CTipe data dalam bahasa C tidak jauh berbeda dengan tipe data
dalam bahasa pemrograman lainnya, seperti integer, floating point, character, dan seterusnya. Perbedaan yang menjadikan bahasa C lebih unggul dalam sisi kecepatan (speed) dari bahasa lainnya adalah adanya pointer dalam bahasa C. Tetapi bahasa C juga mempunyai “kelemahan”, yaitu tidak mengenal tipe data string, sehingga biasanya programmer akan menyiasati hal ini dengan menjadikan array dari character sebagai string.
HINTPendeklarasian array dari character adalah sebagai berikut :
Char [5] contoh;
Sehingga array char contoh tersebut mampu mensubstitusi tipe data string
Secara umum operator semua bahasa pemrograman adalah sama, yaitu menurut operand yang dibutuhkan terdiri dari 2 macam operator, binary dan unary. Yang dimaksud dengan operator binary adalah operator yang memerlukan 2 operand untuk berfungsi dengan baik (tidak ada syntax error) sebagai contoh, operator perkalian, penambahan, pengurangan dan lain lain.
14
Blue Print Modul Pemrograman Dasar
Sedangkan operator unary adalah operator yang hanya memerlukan sebuah operand saja untuk melengkapinya menjadi syntax yang benar. Sebagai contoh, operator increment (++ / --), operator NOT ( ! ), operator tanda bilangan (+ / -), dan lain sebagainya.
Operator-operator tersebut mempunyai prioritas yang berbeda-beda. Untuk operator aritmatika urutan prioritas tersebut adalah persis sama dengan urutan pengerjaan suatu operasi hitung matematika. Operasi perkalian dan pembagian akan dikerjakan lebih dulu dari pada operasi penambahan dan pengurangan. Berarti, operator perkalian dan pembagian mempunyai urutan prioritas yang lebih tinggi dari pada operator penjumlahan dan pengurangan.
LANGKAH PERCOBAANBerikut ini adalah sebuah contoh flowchart dan pseudocode (Bila Anda memerlukan penjelasan lebih jauh tentang flowchart dan pseudocode, Anda bisa merujuk pada Unit III). Tugas anda adalah menulis sebuah program berdasarkan pseudocode dan flowchart, dengan menggunakan bahasa pemrograman C. Contoh di bawah ini hanya terdiri dari sebuah fungsi, yaitu fungsi main.
Flowchart
15
Blue Print Modul Pemrograman Dasar
Pseudocode
Hitung (first number, second number)First number <- angka pertamaSecond number <- angka keduaSum = first number / second number
End Hitung
TUGASOperator unary hanya menggunakan satu operand saja. Selain
yang sudah disebutkan dalam dasar teori, dapatkah Anda menyebutkan operator-operator unary yang lainnya ? Sebutkan juga fungsi masing-masing operator unary yang anda tuliskan tersebut ! (Lampirkan tugas ini dalam laporan resmi anda).
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT II. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
Masukkan first numberMasukkan second number
sum = first number
second number
Cetak sum
FINISH
16
START
Blue Print Modul Pemrograman Dasar
http://www.le.ac.uk/cc/tutorials/c/ccccstrt.html http://www.le.ac.uk/cc/tutorials/c/ccccvar1.html http://publications.gbdirect.co.uk/c_book/chapter1/
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan algoritma seleksi (pemilihan kondisi). Beberapa hal yang patut Anda ketahui, antara lain :
- Pengertian dasar algoritma seleksi.- Perbedaan dasar anatar flowchart dan pseudocode.- Operasi-operasi dengan algoritma seleksi (IF, IF-ELSE,
SWITCH, CASE)
17
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT II . PENGENALAN GCC II
Pertanyaan :1. Sejauh yang saat ini Anda ketahui, apakah beda antara flowchart
dan pseudocode ?2. Lampirkan program yang anda buat dalam laporan sementara ini
!
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
............................................
.......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................ ......................................................................................
.............................................. ........................................................
............................................................................ ..........................
.......................................................................................................
... ...................................................................................................
.................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
18
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan :.................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................
19
Blue Print Modul Pemrograman Dasar
UNIT IIIALGORITMA I : SELECTION STRUCTURE
TUJUAN PRAKTIKUM1. Mengenal pola algoritma dasar, dengan menggunakan flowchart
dan menggunakan pseudocode2. Mengenal pola algoritma pengendalian kondisi (selection
structure) dan mampu mengimplementasikannya dalam program (coding).
DASAR TEORIAlgoritma adalah suatu urutan langkah – langkah pasti dan jelas
menurut logika dan memiliki batasan tertentu yang dilakukan untuk mencapai tujuan tertentu atau kondisi tertentu.
Algoritma harus memiliki syarat – syarat berikut: Komplit: setiap langkahnya harus didefinisikan secara
lengkap dan runtut. Tidak ambigu: langkah – langkahnya tidak boleh ambigu
(harus jelas). Deterministik: jika setiap langkah – langkahnya diikuti
maka akan mencapai hasil yang pasti atau tertentu. Finite: algoritma harus selesai ketika mencapai kondisi
tertentu atau hasil tertentu.
FlowchartFlowchart adalah suatu cara untuk menunjukkan urutan langkah
– langkah dalam algoritma. Flwochart digambarkan dalam bentuk box – box yang dihubungkan dengan tanda panah yang menunjukkan alur
20
TIDAK
Jumlahkan N data
Dibagi dengan N data
YA
Umur < 12
Bayar Rp.2000
Bayar Rp.50
00
Blue Print Modul Pemrograman Dasar
urutan langkah – langkah algoritma tersebut. Box – box tersebut memiliki bentuk yang berbeda – beda dan masing – masing bentuk memiliki arti sendiri – sendiri.
contoh:
HINTUntuk memudahkan menggambar flowchart, dapat digunakan fasilitas pada Microsoft Word, yaitu pada Insert > Picture > AutoShape. Kemudian pilih Flowchart. Pada Open Office mendisain flowchart bisa dilakukan dengan fasilitas drawing.
PseudocodePseudocode adalah salah satu cara untuk merepresentasikan
alur kontrol dalam algoritma. Pseudocode tidak dapat dicompile dan tidak memiliki format penulisan atau sintaksis tertentu. Dengan pseudocode maka programer dapat membuat gambaran sebuah program tanpa memperhatikan bahasa pemrograman tertentu.
Contoh 1 :Tukar(X,Y)
X nilai1Y nilai2Buff XX YY Buff
End Tukar
Contoh 2 :Maksimum
21
Blue Print Modul Pemrograman Dasar
If X > YMax X
ElseMax Y
End Maksimum
Pernyataan kontrol :
Pernyataan ifPernyataan if digunakan untuk pengambilan keputusan
berdasarkan suatu kondisi tertentu.Deklarasi :
if(kondisi)pernyataan;
Pernyataan if ..... elseApabila suatu kondisi yang ditentukan benar maka pernyataan
dalam kondisi tersebut akan diproses, jika kondisi yang ditentukan salah maka pernyataan lain akan diproses oleh program.
Deklarasi:if(kondisi)
pernyataan1;else
pernyataan2;
Pernyataan if bersarang if ..... else if ...... else if …… else if …..
Pernyataan if bersarang digunakan untuk menguji lebih dari satu kondisi. Jika suatu kondisi salah maka kondisi lain akan diuji, jika kondisi yang diuji tersebut salah maka kondisi yang lain lagi akan diuji dan seterusnya.
Deklarasi :if(kondisi1)
pernyataan1;
else if(kondisi2)
22
Blue Print Modul Pemrograman Dasar
pernyataan2;
else if(kondisi3)
pernyataan3;
else if(kondisi4)
pernyataan4;
else
pernyataanN;
HINTPernyataan if – else ini adalah salah satu fungsi kontrol yang penting. Hal ini dibuktikan dengan digunakan hampir pada semua bahasa pemrograman.
Pernyataan switch dan casePernyataan switch adalah pernyataan yang digunakan untuk
menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksi.
Deklarasi :switch(ungkapan){
case ungkapan1:pernyataan1;break;
case ungkapan2:pernyataan2;break;
case ungkapan3:pernyataan3;break;.......
default:pernyataanN;
}
23
Blue Print Modul Pemrograman Dasar
LANGKAH PERCOBAANKali ini Anda akan mencoba membuat sebuah program dari pseudocode yang sudah ada. Pseudocode ini berfungsi sebagai petunjuk untuk membuat program masukan nilai mahasiswa dan menentukan index nilai ujian dengan rentang A s.d. E. Namai program Anda dengan nama nilai.c
Pseudocode :
DEKLARASI nilai : real indeks : char
DESKRIPSI read(nilai) if (nilai>=80) then indeks <-- 'A'else if (nilai >=70) and (nilai < 80) then indeks <-- 'B' else if(nilai>=55)and(nilai<70) then indeks <-- 'C' else if(nilai>=40) and (nilai < 55) then indeks <-- 'D' else indeks <-- 'E' endif endif endif endif write(indeks)
24
Blue Print Modul Pemrograman Dasar
TUGASSetelah program yang Anda buat di atas bisa dijalankan dengan
sempurna, cobalah buat flowchart untuk program tersebut, berdasarkan pseudocode yang ada. Lampirkan hasil kerja Anda pada laporan resmi.
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT III. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://www.cs.cf.ac.uk/Dave/C/node5.html http://www.jchq.net/certkey/0201certkey.htm http://www.phim.unibe.ch/comp_doc/c_manual/C/
SYNTAX/if.html http://irc.essex.ac.uk/www.iota-six.co.uk/c/
d2_if_and_else_statements.asp http://www.cs.ntu.edu.au/sit/resources/cprogram/
c_028.htm http://cermics.enpc.fr/~ts/C/SYNTAX/switch.html
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan algoritma seleksi (pemilihan kondisi). Beberapa hal yang patut Anda ketahui, antara lain :
- Pengertian dasar algoritma repetisi.- Operasi-operasi dengan algoritma repetisi (WHILE, DO-WHILE,
FOR)
25
Blue Print Modul Pemrograman Dasar
26
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT III . ALGORITMA I : SELECTION STRUCTURE
Pertanyaan :1. Pada ungkapan switch-case, ada code ’break’. Menurut
Anda, apa fungsi dari perintah break tersebut ? (Anda diperbolehkan mencari jawabannya dari internet atau buku-buku referensi Anda).
2. Lampirkan program yang anda buat dalam laporan sementara ini !
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
............................................
.......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................ ......................................................................................
.............................................. ........................................................
............................................................................ ..........................
.......................................................................................................
... ...................................................................................................
.................................
27
Blue Print Modul Pemrograman Dasar
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) : Program berjalan. Catatan :.................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................
UNIT IVALGORITMA II : REPETITION STRUCTURE
TUJUAN PRAKTIKUM1. Memahami konsep dan kegunaan algoritma iteratif
(pengulangan) dalam pemrograman.2. Mampu menerapkan penggunaan algoritma iteratif dalam
bahasa C.
DASAR TEORIRepetition Structure atau Algoritma iteratif adalah suatu
algoritma yang digunakan untuk melakukan pengulangan (iterasi / repetisi) terhadap suatu pernyataan atau suatu blok pernyataan. Algoritma iteratif sangat berguna apabila terdapat blok pernyataan yang harus dikerjakan lebih dari satu kali, karena pemrogram cukup menulis blok pernyataan tersebut satu kali saja, dan program tersebut dengan sendirinya akan mengulangi pengerjaannya sesuai persyaratan yang ditentukan.
28
Blue Print Modul Pemrograman Dasar
Algoritma pengulangan dalam bahasa C dapat dilakukan dengan 3 pernyataan, yaitu pernyataan While, pernyataan Do…While, dan pernyataan For.
HINTPernyataan While dan Do...While, adalah pernyataan pengulangan yang mempunyai kemampuan untuk menyaring (filter) laju/jalannya eksekusi program (mirip dengan pernyataan if)
Pernyataan WhilePernyataan while merupakan pernyataan pengulangan di mana
pengulangan blok pernyataan akan dilakukan selama kondisi syaratnya dipenuhi. Adapun sintaks dari pernyataan while adalah sebagai berikut:
while(kondisi){
................ // blok pernyataan
................}
Pernyataan do...whilePernyataan do...while memiliki fungsi yang hampir sama dengan
perintah while, tetapi dalam pernyataan do...while ini, blok pernyataan dilakukan terlebih dahulu sebelum pengecekan kondisi syarat. Dengan demikian, blok pernyataan akan dikerjakan paling sedikit satu kali. Sintaks dari pernyataan do...while ditunjukkan di bawah ini:
do {
............ //blok pernyataan
............} while(kondisi)
Pernyataan forPernyataan for adalah pernyataan pengulangan yang meminta
pendeklarasian nilai awal variabel kondisi, kondisi yang dipenuhi, dan peningkatan (increments) dari variabel kondisi. Sintaks pernyataan for adalah sebagai berikut:
29
Blue Print Modul Pemrograman Dasar
for(inisialisasi; kondisi; pengatur variabel){
................ //blok pernyataan
................}
30
Blue Print Modul Pemrograman Dasar
LANGKAH PERCOBAANFlowchart di halaman selanjutnya adalah flowchart sebuah
program penghitung rata-rata dari beberapa nilai seorang mahasiswa. Rerata akan dihitung dari Jumlah Total Nilai dibagi Banyaknya Nilai (n). Setelah itu, program akan menampilkan nilai dalam bentuk huruf sebagai representasi dari rata-rata yang telah dihitung. Tugas Anda adalah membuat source code programnya saat ini dan membuat pseudocode-nya saat di rumah. Jangan lupa untuk melampirkan listing program pada laporan resmi Anda.Namai program yang sedang Anda buat dengan nama : rerata.c
31
Blue Print Modul Pemrograman Dasar
32
Blue Print Modul Pemrograman Dasar
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT IV. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://cplus.about.com/od/beginnerctutoria1/l/aa040402c.htm http://irc.essex.ac.uk/www.iota-six.co.uk/c/
d6_for_while_and_do_while_loops.asp http://c-faq.com/~scs/cclass/int/sx4bc.html
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan pointer dan array. Beberapa hal yang patut Anda ketahui, antara lain :
- Pendefinsian Pointer dan Array- Jenis – jenis penggunaan pointer- Merancang program dari flowchart dan pseudocode.
33
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT IV . ALGORITMA II : REPETITION STRUCTURE
Pertanyaan :1. Statemen do-while dan for sama-sama termasuk dalam struktur
pengulangan. Menurut Anda, apa yang membedakan keduanya ? 2. Lampirkan program yang anda buat dalam laporan sementara ini
!
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
............................................
.......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................ ......................................................................................
.............................................. ........................................................
............................................................................ ..........................
.......................................................................................................
... ...................................................................................................
.................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
34
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan :.................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................
UNIT VPOINTER & ARRAY
TUJUAN PRAKTIKUM1. Memahami konsep dan kegunaan dasar pointer dan array.2. Mampu menggunakan pointer dan array untuk membuat
program dalam bahasa C.
DASAR TEORIPointerPointer adalah suatu variabel khusus yang berisikan alamat
memori dari suatu data, tidak berisikan data itu sendiri. Pointer sangat sering digunakan dalam program-program bahasa C, karena dapat memberikan efisiensi dalam program.
Seperti variabel lainnya dalam C, pointer juga harus dideklarasikan dahulu sebelum dapat digunakan dalam program. Untuk mendeklarasikan sebuah pointer, sintaks nya adalah sebagai berikut:
[type data] *[nama pointer]
35
Blue Print Modul Pemrograman Dasar
Jadi, untuk mendeklarasikan sebuah pointer xp yang menunjuk ke alamat data integer, digunakan perintah sebagai berikut:
int *xp
HINTPointer adalah salah satu keunggulan bahasa pemrograman C dibanding dengan bahasa lainnya.
Terdapat dua buah operator unary yang digunakan untuk mengakses sebuah pointer, yaitu operator & dan operator * . Operator & digunakan untuk mengakses alamat data yang ditunjuk oleh pointer, sementara operator * digunakan untuk mengakses data yang alamatnya ditunjuk oleh pointer.
a = &x; // a berisi alamat yang ditunjuk pointer x b = *x; // a berisi data yang alamatnya ditunjuk x
ArraySecara sederhana, array atau larik adalah sekumpulan variabel-
variabel sejenis yang dinamakan elemen dari array tersebut. Elemen-elemen dalam suatu array, diorganisir sedemikian rupa dengan menggunakan indeks. Untuk mendeklarasikan sebuah array digunakan sintaks di bawah ini:
[tipe-data] [nama-array][[ukuran]]
Jadi, untuk mendeklarasikan sebuah array A yang terdiri dari 10 elemen bertipe integer, perintahnya adalah:
int A[10];
Untuk mengakses elemen dari suatu array, digunakan indeks dari elemen tersebut yang dimulai dari 0. Jadi array A di atas akan memuat 10 elemen, yaitu A[0] hingga A[9] .
x = A[0]; // x berisi elemen pertama dari array A y = A[5]; // y berisi elemen array A dengan indeks 5
36
Blue Print Modul Pemrograman Dasar
z = A[9]; // z berisi element terakhir dari array A
HINTProgrammer dapat mendeklarasikan array tanpa menuliskan ukuran dari array tersebut. Misal int B[ ]; Ukuran array tersebut akan tergantung pada jumlah integer yang dimasukkan ke dalam array ketika program dieksekusi.
37
Blue Print Modul Pemrograman Dasar
LANGKAH PERCOBAANBuatlah pseudocode dan program C untuk mendefinisikan 2 buah vektor 2-dimensi, a dan b, kemudian melakukan penghitungan untuk mencari vektor c = a + b , dan matriks M = abT , menggunakan array dan pointer. Konsep perhitungannya adalah sebagai berikut :
a = [ i ; j ] b = [ k ; l ] c = a + b
= [ i+k ; j+l ] M = abT
= [ ik il ; jk jl ]
Flowchartnya ditunjukkan di bawah ini:
START
read i,jread k,l
a[] = [i; j]
b[] = [k, l]
*c1 = a[0] + b[1]
*c2 = a[1] + b[1]
c = [ *c1 ; *c2 ]
STOP
*m11 = a[0] * b[0]
*m12 = a[0] * b[1]
*m21 = a[1] * b[0]
*m22 = a[1] * b[1]
M = [ *m11 *m12 ; *m12
*m22 ]
38
Blue Print Modul Pemrograman Dasar
TUGASBuatlah flowchart dari program yang dapat membalik frase
“praktikum pemrograman dasar” menjadi “rasad namargormep
mukitkarp” dan menampilkan hasilnya di layar, menggunakan array dan pointer. (Lampirkan flowchart yang anda buat dalam laporan resmi Anda ! ).
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT V. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://home.netcom.com/~tjensen/ptr/pointers.htm http://www.cs.cf.ac.uk/Dave/C/node10.html http://www.cs.cf.ac.uk/Dave/C/node12.html http://www.cs.cf.ac.uk/Dave/C/node7.html http://gd.tuwien.ac.at/languages/c/programming-bbrown/
c_034.htm
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan Fungsi Input/Output. Beberapa hal yang patut Anda ketahui, antara lain :
- Memahami beberapa fungsi dasar Input / Output (I/O) yang sering digunakan pada pemrograman bahasa C.
- Melakukan debugging atas source code yang mempunyai kesalahan (bug).
39
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT V . POINTER DAN ARRAY
Pertanyaan :1. Apakah beda antara array dan variabel biasa, ditinjau dari
kemampuannya untuk ”menyimpan” suatu nilai / elemen ?2. Variabel pointer harus dideklarasikan dengan tipe yang sesuai
dengan tipe data di memori yang ditunjuknya. Apakah yang terjadi jika suatu data di memori yang bertipe float (4 byte) ditunjuk oleh pointer yang bertipe integer (2 byte) ? Anda bisa mencobanya dengan program sederhana untuk menjawab pertanyaan ini.
2. Lampirkan program yang anda buat dalam laporan sementara ini !
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................2. .......................................................................................................
.......................................................................................................
..........................................................
.......................................................................................................
............................. .........................................................................
...........................................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
40
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan :.................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................UNIT VIFungsi Input/Output (I/O)
TUJUAN PRAKTIKUM1. Memahami fungsi I/O pada pemrograman bahasa C.2. Memahami penerapan kemampuan I/O tersebut.3. Mampu men-debug sebuah program dengan bantuan GCC
sebagai compiler.
DASAR TEORIOperasi-operasi pada file stream secara umum adalah :
Buka file (open)
fopen(nama_file,tipe_akses)
Fungsi fopen() akan menghasilkan sebuah pointer yang menunjuk pada file yang akan diolah. Selanjutnya operasi file akan diasosiasikan pada pointer ini. Penggunaan pointer ini adalah sebagai berikut :
infile = fopen("filename", "r");
41
Blue Print Modul Pemrograman Dasar
Macam-macam tipe akses antara lain :“r” Membuka dan membaca (read) file yang telah ada
“w” Membuat file baru yang belum ada (write)
“a” Membuka file yang telah ada kemudian menambahinya (append)
Tutup file (close)
fclose(pointer_ke_file)
Digunakan untuk menutup file setelah pengaksesan selesai. Penutupan file ini penting untuk dilakukan karena beberapa alasan,
Untuk menutup semua file yang masih terbuka sebelum program dihentikan
Menutup file yang sudah tidak dipergunakan lagi dalam program
Penghematan memoryContoh penggunaan fclose adalah :
int fclose(infile);
Jika file berhasil ditutup, maka nilai integer akan nol, sedangkan bila error nilai integer akan menjadi -1.
Operasi baca (read)
fread(variable_record, ukuran_record, jumlah_blok, pointer_ke_file)
Fungsi ini digunakan untuk melakukan pembacaan data file. Data yang dibaca adalah data yang sesuai dengan posisi pointer saat itu.
1. Operasi tulis (write)fwrite(nama_record, ukuran_record, jumlah_blok, pointer_ke_file)Fungsi fwrite digunakan untukmelakukan penulisan ke file dengan data berupa record-record.
42
Blue Print Modul Pemrograman Dasar
2. Pencarian (seek)fseek(pointer_ke_file, offset, titik_acuan)Fungsi ini digunakan untuk meletakkan pointer pada posisi yang diinginkan.
43
Blue Print Modul Pemrograman Dasar
Dan program-program yang banyak digunakan adalah : standar input (biasanya berupa keyboard) standar output (biasanya berupa layar monitor) standar error (biasanya berupa layar monitor)
Pada bahasa C, pengaksesan file dapat dilakukan pada berbagai tipe file, antara lain file biner, file teks atau sesuai dengan tipe data yang terdapat dalam C.
LANGKAH PERCOBAANDibawah ini adalah pseudo-code dan contoh program dalam
bahasa C yang masih mengandung “bug”. Tugas anda adalah membuat flowchart dari pseudocode tersebut dan men-debug program tersebut sehingga berfungsi sebagaimana mestinya.
HINTBahasa Pemrograman C bersifat case-sensitive, yang berartis huruf kecil berbeda dengan huruf besar. Misal : int A berbeda dengan int a
Source Code
#include<Stdio.h>#include<stdlib.h>main(){
FILE *penunjuk_file;int I,N;
if ((penunjuk_file=Fopen(“contoh.txt”,”W”)) == NULL) {
Printf(“file tidak ada !!! \n”);exit(1);
}
Printf(“Jumlah Dari Data ?”); Pcanf(“%d”,&N); Printf(“\n”);
for(I=1;I<=N;I++) {
44
Blue Print Modul Pemrograman Dasar
Printf(“Nama ke %d ?”,I); Flush(stdin); Scanf(“%[^\n]”,Nama); Fputs(Nama, penunjuk_file);
} Fclose(penunjuk_file);
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT VI. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://vergil.chemistry.gatech.edu/resources/programming/c- tutorial/io.html
http://www.gnu.org/software/libc/manual/html_node/I_002fO- on-Streams.html
http://en.wikibooks.org/wiki/Programming:C_File_I/O http://www.cprogramming.com/tutorial/cfileio.html
SEKILAS MATERI UNIT BERIKUTNYAMateri praktikum pemrograman dasar unit selanjutnya akan
lebih banyak membahas beberapa hal, terkait dengan modularitas dan fungsi. Beberapa hal yang patut Anda ketahui, antara lain :
- Memahami konsep modularitas dalam pemrograman bahasa C.
- Implementasi modularitas program dengan menggunakan fungsi.
- Debugging source code yang mempunyai bug.
45
Blue Print Modul Pemrograman Dasar
46
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT VI . FUNGSI INPUT / OUTPUT
Pertanyaan :1. Pada operasi fopen(), apabila operasi pengaktifan suatu file
gagal, apa yang terjadi ? Dapatkah kita mengetahui tanda-tanda gagalnya operasi? Bagaimanakah caranya ?
2. Lampirkan program yang anda buat dalam laporan sementara ini !
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................
.......................................................................................................
.......................................................................................................
..........................................................
.......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................ ......................................................................................
.............................................. ........................................................
............................................................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
47
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan : .................................................................................................................................... Program tidak berjalan. Alasan :.......................................................................................................
.............................
48
Blue Print Modul Pemrograman Dasar
UNIT VIIMODULARITAS
TUJUAN PRAKTIKUM1. Mampu memahami konsep modularitas dalam pemrograman
dasar.2. Mengimplementasikan konsep modularitas dengan
menggunakan Fungsi.3. Mampu melakukan bug tracking (debugging) source code yang
mempunyai bug-bug (kesalahan) untuk selanjutnya dibetulkan sehingga menjadi sebuah source code utuh yang benar
DASAR TEORIKonsep modularitas dalam pemrograman dikenal sebagai sebuah
metode untuk mempermudah penyusunan dan koreksi terhadap suatu program. Modularitas dapat berupa memisahkan atau memecah bagian-bagian tertentu dalam suatu program dan menyatukan / memanggil komponen program tersebut dalam satu program utama (main program). Salah satu implementasi dari konsep modularitas ini adalah penggunaan Fungsi. Fungsi banyak digunakan dengan dua alasan utama :
1. Fungsi menjadikan program yang ditulis dalam bahasa C mempunyai struktur yang jelas. Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi, maka fungsi utama ( fungsi main( ) ) akan menjadi lebih pendek, jelas dan mudah dimengerti. Hal seperti ini menunjukkan suatu struktur program yang baik.
49
Blue Print Modul Pemrograman Dasar
2. Fungsi-fungsi dapat digunakan untuk menghindari penulisan yang berulang-ulang. Langkah-langkah program yang sama dan sering digunakan berulang-berulang di program dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi. Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, tetapi cukup memanggil fungsi-fungsi tersebut.
HINTModularitas adalah salah satu konsep yang terkandung dalam pemrograman berorientasi obyek (Object Oriented Programming), yang akan dibahas lebih lanjut dalam mata kuliah dan praktikum PBO.
Pendefinisian FungsiSuatu fungsi secara umum terdiri dari dua buah komponen
utama, yaitu definisi fungsi dan tubuh fungsi. Bentuk umum dari definisi fungsi adalah sebagai berikut :
<tipe> <namafungsi> (argumen1,argumen2, ...) /*definisi fungsi */
{ ........................ // tubuh fungsi ........................}
Keterangan : Definisi fungsi ditulis sebelum tubuh fungsi tanpa diakhiri
dengan titik koma. Tipe pada fungsi tergantung dari tipe data hasil balik
(return type) yang akan diberikan oleh fungsi.Tipe keluaran fungsi dapat tidak ditulis jika keluaran bertipe int atau char. Jika suatu fungsi memberikan hasil balik, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh statemen return yang diikuti oleh nilai
50
Blue Print Modul Pemrograman Dasar
hasil baliknya yang ditulis dalam kurung. Jika fungsi tidak memberikan hasil balik, maka tipenya adalah void.
Contoh :int contohFungsi (A,B,C){ float A ;
int B ;char C;....................... // tubuh fungsi return (...); // hasil balik
}Selain itu, metode penulisan fungsi dapat pula ditulis dengan
cara lain yang lebih singkat sebagai berikut :
<tipe> <namafungsi> (<tipearg1> arg1,<tipearg2> arg2, ..) /*deklarasi fungsi */{
...................... // tubuh fungsi
.......................}
Pendeklarasian FungsiSuatu fungsi yang memberikan hasil balik selain bertipe int perlu
dideklarasikan sebelum digunakan. Dengan demikian jika suatu fungsi tidak dideklarasikan, maka akan dianggap fungsi tersebut memberikan hasil balik berupa nilai yang bertipe int. Untuk mempermudah dokumentasi dan debugging (mencari kesalahan pada source code program ) , sebaiknya semua fungsi yang akan digunakan dideklarasikan terlebih dahulu, termasuk yang bertipe int . Deklarasi fungsi umunya ditulis sebelum fungsi tersebut digunakan. Berikut ini adalah bentuk umum dari deklarasi fungsi :
<tipe> <namafungsi> ( ) ; /* titik koma harus ditulis */
Untuk deklarasi fungsi, argumen-argumen fungsi tidak perlu dituliskan. Tipe fungsi di atas (pada baris pendeklarasian) harus sesuai dengan tipe fungsi yang didefinisikan. Jika tipenya berbeda, gcc
51
Blue Print Modul Pemrograman Dasar
sebagai kompiler C akan mendeteksi bahwa tipe deklarasi tidak sesuai dan akan muncul peringatan dari kompiler.
LANGKAH PERCOBAANPercobaan 1 : Program di bawah ini adalah program untuk menghitung deret fibonacci. Penghitungan dengan program di bawah akan dilakukan dengan memanfaatkan konsep iterasi biasa.
1. Cobalah kompile program di bawah menggunakan gcc. 2. Bila terdapat kesalahan, cobalah perbaiki program tersebut. 3. Dalam laporan sementara, cantumkan program (yang telah
diperbaiki) dan hasil eksekusinya. Cantumkan dalam laporan resmi Anda pesan kesalahan dan sebabnya (pada bab analisa percobaan).
/* ------------------------------------------------------*//* File : fibonacci.c *//* Program untuk menghitung nilai suku tertentu untuk *//* deret fibonacci dengan mengimplementasikan fungsi. *//* ------------------------------------------------------*/
#include<stdio.h>
main(){
int N;printf(”Suku bilangan ke?”);scanf(”%d”,&N);printf(”Nilai suku ke %d adalah %d \n”,N,Fibbonaci());
}
/*---------- Fungsi deret Fibonacci---------------- */int Fibonacci(int N) /* definisi fungsi */{
int Fibo_Bawah,Fibo_Atas,X,I;if(N<2)return(N);Fibo_Bawah = 0;Fibo_Atas = 1;for(I=2;I<=N;I++) {X = Fibo_Bawah ;Fibo_Bawah = Fibo_Atas ;Fibo_Atas = X+Fibo_Bawah;}return();
52
Blue Print Modul Pemrograman Dasar
}
53
Blue Print Modul Pemrograman Dasar
Percobaan 2 : Program di bawah ini berfungsi untuk mengurutkan data dengan sebuah metode yang disebut dengan metode Quick Sort. Program di bawah ini mempunyai beberapa bug (kesalahan) yang harus diperbaiki. 1. Kompile, debug dan perbaikilah program di bawah sehingga
pesan kesalahan tidak muncul dan program berjalan dengan benar.
2. Dalam laporan sementara tulislah program yang telah diperbaiki dan hasil eksekusi setelah program terbebas dari bug. Pesan kesalahan dicantumkan dalam analisa percobaan pada laporan resmi.
/* ------------------------------------------------------*//* File : quicksort.c *//* Program untuk melakukan sorting input data *//* berupa angka dengan mengimplementasikan fungsi. *//* ------------------------------------------------------ */
#include <stdio.h>void Input_Data (float X[],int Jumlah) ;void Quick_Sort (float X[],int Atas, int Bawah);
void main (){
int N ;float Nilai[1000];
printf (“Jumlah Data ?”);scanf(“%d”,&n);printf(“\n”);
Input_Data(Nilai,N); Quick_Sort(Nilai,0,N-1) ;printf(“\n”);printf(“Hasil setelah urut : \n”);Tampil_Data(Nilai,N);
}/*----------- Fungsi untuk memasukkan data larik ---------- */void Input_Data (float X[]){
int I ;for (I=0 ; I<Jumlah ;I++){
printf(”Data ke %d ?”, I+1);scanf(”%f”, &X[I]);
}
54
Blue Print Modul Pemrograman Dasar
}
/*--------- Fungsi untuk mengurutkan elemen larik-----------*/
void Quick_Sort (float X[],int Bawah,int Atas){
int I,J,Kfloat Sementara;
while (Atas > Bawah){
I=Bawah ;J=Atas ;Sementara=X[Bawah];
/* memecah larik menjadi dua bagian */while (I<J) {
while(X[J]>Sementara){ --J ; X[I]=X[J] ;}while(I<J&&X[I]<=Sementara){ X[J]=X[I];}
}X[I]=Sementara ;
/*urutkan rekursi*/Quick_Sort(X,Bawah,I-1);Bawah = I+1 ;
}}
/*----------Fungsi untuk menampilkan data elemen-elemen larik----- */void Tampil_Data (float X[],int Jumlah){
int I;for (I=0;I<Jumlah;I++)printf(”%f\n”,X[I]);
}
55
Blue Print Modul Pemrograman Dasar
TUGAS Khusus untuk program yang ke-2, buatlah flowchart dan pseudo-
code dari program tersebut. Cantumkan dalam laporan resmi anda (dalam bab jawaban pertanyaan / tugas).
REFERENSI ONLINEDi bawah ini adalah referensi online dari UNIT VII. Apabila
mengalami kesulitan dalam memahami materi, silahkan buka referensi di bawah ini :
http://www.its.strath.ac.uk/courses/c/section3_9.html http://vergil.chemistry.gatech.edu/resources/programming/c-tutorial/
basic2.html http://en.wikibooks.org/wiki/
Programming:C_procedures_and_functions http://www.le.ac.uk/cc/tutorials/c/ccccfanp.html
SEKILAS MATERI UNIT BERIKUTNYAMateri terakhir dari pemrograman dasar adalah Project Akhir.
Anda diminta untuk melakukan pembuatan program dengan kriteria-kriteria yang telah ditentukan. Untuk membuat program, Anda memerlukan beberapa tahap berikut :
a. Memahami konsep dan cara kerja program.b. Menuangkan algoritma program yang akan Anda buat
dalam bentuk flowchart.c. Membuat pseudocode dari program (untuk memudahkan
Anda dalam melakukan coding).d. Melakukan coding dalam bahasa C.e. Melakukan testing dan review terhadap program Anda.f. Membahas program dalam laporan (cantumkan pula listing
program Anda sebagai lampiran)
56
Blue Print Modul Pemrograman Dasar
LAPORAN SEMENTARA PRAKTIKUM UNIT VII . MODULARITAS
Pertanyaan :1. Jelaskan apa yang anda ketahui tentang metode Quicksort ?
(Anda bisa mencari definisinya melalui internet atau buku-buku referensi lainnya).
2. Lampirkan program yang anda buat dalam laporan sementara ini !
Jawaban Pertanyaan :1. .......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................
.......................................................................................................
.......................................................................................................
..........................................................
.......................................................................................................
............................. .........................................................................
........................................................... ...........................................
......................................................................................... .............
.......................................................................................................
................ ......................................................................................
.............................................. ........................................................
............................................................................
Khusus Asisten (beri tanda √ pada kotak di bawah ini ) :
57
Blue Print Modul Pemrograman Dasar
Program berjalan. Catatan :.................................................................................................................................... Program tidak berjalan. Alasan :........................................................................................................
............................
58
Blue Print Modul Pemrograman Dasar
UNIT VIIITUGAS AKHIR
TUJUAN PRAKTIKUM1. Mengerti dan memahami pemrograman dengan bahasa C lebih
lanjut.2. Mampu menerapkan berbagai macam fungsi yang ada dalam
bahasa C untuk membuat suatu program.3. Mampu membuat algoritma sebagai pemecahan sutau masalah
dan mengubahnya menjadi program
DASAR TEORIUntuk dapat membuat program yang bagus kita harus dapat
memanfaatkan fungsi-fungsi dalam bahasa C sesuai dengan kebutuhan agar program dapat berjalan dengan baik. Fungsi-fungsi tersebut telah dijelaskan di bab-bab awal pada modul ini.
Tugas pada bab ini menggunakan metode Doolittle. Metode ini bertujuan untuk memecahkan suatu matriks menjadi bentuk L dan U.
A = L*U
HINTMetode Doolitle adalah sebuah metode yang cukup dikenal dalam perkalian dan manipulasi matriks. Metode Doolitle diajarkan juga pada mata kuliah Komputasi Dasar di Jurusan Teknik Elektro.
59
Blue Print Modul Pemrograman Dasar
LANGKAH PERCOBAAN 1. Buatlah flowchart dan algoritma pemrograman (pseudocode)
untuk menyelesaikan persamaan linear dengan n peubah. (Dengan n paling sedikit 3).
2. Berdasarkan flowchart dan pseudocode pada no.1, buatlah program lengkapnya.
3. Dalam laporan akhir cantumkan flowchart, pseudocode , dan listing program Anda. Dalam bab pembahasan, lakukan analisa terhadap program yang Anda buat (berdasarkan source code Anda).
HINTMerancang program bukan sekedar coding. Algoritma yang baik akan menghasilkan efektivitas penggunaan code-code program. Code program yang efektif memudahkan programmer untuk melakukan debugging dan pengembangan program.
------------ Not only coder , but also an Artist. Software is an art property --------------
60
top related