PEMROGRAMAN BAHASA C
NAMA : ALFAT SUGIARTO
KELAS : 1ID07
NPM : 30419462
MAPEL : DASAR KOMPUTER DAN PEMROGRAMAN 2A
DOSEN :
KURNIAWAN B.PRIANTO, S.KOM.SH.MM
1.PENGANTAR
PEMROGRAMAN C
SEJARAH
PERKEMBANGAN
Tahun 1978, Brian W. Kerninghan &
Dennis M. Ritchie dari AT & T Laboratories mengembangkan bahasa B menjadi
bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan
pengembangan dari bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan
oleh Martin Richard. Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T
Bell Laboratories mulai mengembangkan bahasa C dan sejak tahun itu bahasa C
banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan
BCPL. Dalam perkembangannya, bahasa C
menjadi
bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.
Tahun 1989, dunia pemrograman C mengalami
peristiwa penting dengan
dikeluarkannya
standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang
diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.
Sebelumnya pada tahun 1985, lahirlah secara resmi bahasa baru hasil
pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami
dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan
cfront. C++ versi kuno ini hanya
berupa
kompiler yang menterjemahkan C++ menjadi bahasa C.
Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.
Beberapa perbedaan antara C dengan C++ :
1.1 LANGKAH DALAM MEMBUAT BAHASA C
Silahkan buka aplikasi Code::Blocks, yang tampilan awalnya sebagai berikut:Tampilan Code::Blocks memang cukup “njelimet”, tapi anda tidak perlu paham semua menu yang ada. Kita hanya akan menggunakan beberapa menu yang penting-penting saja.
Untuk membuat sebuah file baru, klik menu File -> New -> Empty File, atau bisa juga dengan menekan kombinasi tombol CRTL + SHIFT + N.
Di bagian tengah Code::Blocks akan tampil sebuah file teks kosong. Disinilah kita akan menulis kode program bahasa C nantinya.
Agar bisa langsung praktek menulis sebuah file bahasa C, silahkan ketik kode program berikut ke dalam Code::Blocks:
1
2
3
4
5
6
|
#include <stdio.h>
int
main(void)
{
printf("Hello, World!\n");
return 0;
}
|
Pastikan anda mengetik kode program sama persis dengan yang saya tulis diatas. Salah satu huruf atau satu karakter saja yang kurang, kode program akan error. Untuk amannya silahkan copy paste kode tersebut ke dalam editor Code::Block.
Menyimpan File Kode Program Bahasa C
Selanjutnya siapkan sebuah folder tempat file kode program C akan disimpan. Untuk memudahkan, saya membuat sebuah folder “belajar_c” di Drive D. Anda bisa saja menyimpan file bahasa C ini dimana saja, tidak harus di folder D:\belajar_c seperti yang saya gunakan.
Kembali ke Code::Blocks, save file yang sudah kita tulis tadi dengan cara menekan kombinasi tombol CTRL + S atau klik menu FILE -> Save file.
Sesaat kemudian akan tampil jendela Save file. Anda bebas ingin menyimpan file ini di mana saja. Karena saya sudah menyiapkan folder D:\belajar_c, maka saya akan menyimpannya di folder ini.
Save file tersebut sebagai hello_world.c. Khusus untuk bahasa pemrograman C, nama file tersebut harus disimpan dengan akhiran *.c. Tentu saja anda juga boleh menggunakan nama lain, sepanjang berakhiran *.c seperti duniailkom.c, andi.c, atau punyaku.c
Ketika file sudah di save dan tampilan kembali ke editor Code::Blocks, kode program yang sudah kita tulis sebelumnya akan berwarna. Inilah fitur syntax highlighting dari Code::Blocks.
IDE Code::Blocks akan memberi warna berbeda untuk setiap kode program bahasa C. Dengan demikian, jika terdapat salah ketik (atau salah tulis kode program), warna teks yang dihasilkan juga akan berbeda.
Untuk memastikan, anda bisa membuka Windows Explorer dan cari apakah file hello_world.c sudah ada di folder D:\belajar_c
Membuka File Kode Program Bahasa C
Sebagai latihan tambahan, mari coba membuka file hello_world.c jika aplikasi Code::Blocks sudah ditutup.
Silahkan tutup aplikasi Code::Blocks, kemudian buka kembali. Kode program yang baru saja kita ketik sudah tidak tampil. Untuk membukanya, silahkan klik menu File -> Open, atau bisa juga diakses dengan menekan tombol CRTL+O.
Di jendela yang tampil, cari file hello_world.c, kemudian klik tombol Open.
Sekarang, file kode program bahasa C sudah kembali terbuka.
Sampai disini kita telah membuat sebuah file kode program dalam bahasa C
1.2 STRUKTUR BAHASA C
1.Tidak ada perbedaan antara prosedur dengan fungsi.
2.Setiap program C mempunyai satu fungsi utama dengan naman "main"(program utama).
3.Program akan di eksekusi dimulai dari statement pertama pada fungsi "main" tsb.
4.Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive)
5.Setiap statement diakhiri dengan semi-colon (titik koma(;)).
6.Bahasa C terdiri dari fungsi-fungsi.
7.Fungsi bisa diletakkan diatas atau dibawah fungsi "main".
8.Fungsi yang tidak mengembalikan nilai,tipe(return-type)nya adalah "void".
9.Komentar dibatasi oleh pasangan /* dan */.
1.3 CONTOH
BAHASA C
Untuk menulis sebuah
program dalam Bahasa C, yang perlu dilakukan ialah membuka text editor yang
anda miliki, dan kemudian, anda dapat memulai menuliskan beberapa perintah,
seperti contohnya:
Seperti yang dapat dilihat, baris pertama pada kode diatas
menunjukkan bahwa kode ini memasukkan sebuah file yang disebut <stdio.h>.
File stdio memiliki arti Standard Input/Output, dimana hal ini berarti file tersebut
memiliki fungsi untuk meminta inputtan atau mengeluarkan data; seperti halnya
membaca nilai dari keyboard dan kemudian hasil dari inputtan tersebut
ditampilkan ke layar.
Selanjutnya, baris ke-2 dalam kode diatas dimaksudkan sebagai
fungsi awal untuk memulai sebuah program (int main()). Fungsi ini merupakan
fungsi yang paling penting karena proses eksekusi dari pemrograman bahasa C dimulai
dari fungsi main. Fungsi main ini juga merupakan bagian dari semua pemrograman
Bahasa C (semua Bahasa pemrograman C pasti menggunakan fungsi main).
Kemudian pada baris ke 3
dan 6 dimana terdapat tanda { dan } dimaksudkan untuk mengelompokkan seluruh
perintah yang berada pada fungsi main. Pada baris ke-4, terdapat fungsi yang
digunakan untuk mencetak kata pada layar (printf). Kata yang akan ditampilkan
ke layar harus dituliskan menggunakan tanda petik dua dan berada di dalam
kurung. Setiap perintah yang ada pada fungsi main perlu diakhiri dengan titik
koma (; ).
Setelah semua perintah telah dijalankan, kalimat terakhir dari
program akan mengembalikan sebuah nilai integer (bilangan bulat) kepada sistem
operasi. Nilai 0 memberikan indikasi bahwa tidak terjadi kesalahan (error) selama
menjalankan program.
Apabila kode diatas
dijalankan, maka hasilnya ialah sebagai berikut:
2. KOMPONEN
BAHASA C
Bahasa
C merupakan bahasa pemrograman terstruktur, yang membagi program kedalam bentuk
sebuah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan
program. Program yang ditulis dengan bahasa C mudah sekali untuk dipindahkan
dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya
standarisasi bahasa C yaitu berupa standar ANSI (American National Standards
Institute) yang dijadikan
acuan
oleh para pembuat kompiler C.
Dalam
bahasa C, terdapat beberapa komponen, antara lain :
2.1
CHARACTER SET
Dalam bahasa C, character set (set karakter, atau disebut
juga dengan rangkaian karakter) adalah kombinasi dari 4 jenis karakter, dimana
karakter - karakter yang ada di set karakter ini memainkan peran yang berbeda
dalam cara yang berbeda dalam C ++ compiler.
4 kategori karakter yang dimaksud adalah :
1.
Huruf
Huruf diwakili oleh Upper Case A-Z atau Lower Case a-z.
Bahasa C adalah bahasa yang sensitif sehingga dibutuhkan arti yang berbeda
untuk huruf kecil dan atas. Dengan menggunakan set karakter C, pernyataan dan
konstanta karakter dapat ditulis dengan sangat mudah. Ada Total 26 huruf yang
digunakan dalam C-pemrograman.
2.
Digit
Digit diwakili oleh 0-9 atau dengan kombinasi angka
tersebut. Dengan menggunakan
konstanta numerik digit dapat ditulis dengan mudah. Ada
Total 10 digit yang digunakan
dalam C-pemrograman.
3.
Simbol
Khusus
Semua tombol keyboard kecuali alfabet, angka dan spasi
adalah simbol khusus. beberapa tanda baca dan beberapa simbol khusus digunakan
untuk tujuan khusus. Ada Total 30 simbol khusus yang digunakan dalam
C-pemrograman. Simbol-simbol khusus digunakan
untuk C-pernyataan seperti membuat pernyataan aritmatika
+, -, * dll, untuk membuat pernyataan relasional <,>, <=,> =, ==
dll, untuk membuat pernyataan penugasan =, untuk menciptakan pernyataan logis
&&, II dll yang diperlukan.
Selain karakter tersebut, C ++ juga menggunakan kombinasi
karakter untuk mewakili kondisi khusus. Sebagai contoh. kombinasi karakter
seperti '\ nt,' \ b 'dan' \ t 'digunakan untuk mewakili baris baru, backspace
dan tab horisontal masing-masing.
4.
White
spaces (spasi) tidak dipedulikan oleh kompiler kecuali spasi ini bagian dari
suatu string. White Spaces (spasi), terdiri dari :
§
Blank
Space
§
Horizontal
Tab
§
New
Line
2.2
IDENTIFIER
Identifier adalah
suatu pengenal atau pengidentifikasi yang kita (programmer)
deklarasikan agar
kompiler dapat mengenalinya. Identifier sendiri dapat berupa nama variabel,
konstanta, fungsi,
kelas, dan nama program. Untuk membuat nama identifier perlu
memperhatikan
hal-hal berikut :
1.
Membedakan
huruf besar dan huruf kecil (case sensitive).
2.
Nama
identifier bisa terdiri dari satu atau beberapa karakter yang terdiri dari
angka (0 – 9), huruf (A – Z, a – z), dollar ($), garis-bawah/underscore(_).
3.
Penamaan
identifier harus dimulai dengan huruf, underscore(_), atau karakter dollar ($).
Tidak boleh dimulai dengan angka.
4.
Simbol-simbol
operator seperti (*), (+), (/), (-) tidak boleh digunakan.
5.
Dalam
penamaan identifier tidak boleh menggunakan spasi.
6.
Tidak
diperbolehkan menggunakan kata-kata keyword (kata-kata yang telah memiliki arti
khusus dalam bahasa C) dalam bahasa pemrograman (misalnya: public, class,
static, dsb).
7.
Panjang
maksimal nama pengenal pada C++ tergantung oleh kompiler yang digunakan,
misalnya Borland C++ memperkenankan nama pengenal hingga 32 karakter, jika
lebih otomatis sistem hanya tetap mengenal 32 karakter. sedangkan Turbo C++
menjamin nama yang signifikan hingga 31 karakter. Berikut ini beberapa contoh penamaan
identifier yang benar :
·
Nama
·
$Nama
·
NamaSiswa
·
NomorInduk
·
namaSiswa
·
nomorInduk
·
nama_siswa
·
nomor_induk
Berikut ini beberapa contoh penamaan identifier yang salah :
·
1Nama
·
/NomorInduk
·
Nama
Siswa
2.3
KEYWORD
Keyword adalah kata
kunci yang digunakan dalam pemrograman untuk fungsi-fungsi tertentu. Dalam
pemrograman c++ keyword dikenali oleh compiler dengan cara mendeklarasikan file
headernya, tetapi ada juga keyword yang tidak perlu untuk mendeklarasikan file
header. Keyword merupakan pernyataan singkat dan mempunyai fungsi tertentu
sehingga sangat fleksibel dan mudah dalam penggunaan dalam pemrograman. Bahasa C
mempunyai sedikit kata kunci yaitu 32 kata kunci :
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
dDefault goto sizeof volatile
do if static while
1. Auto : keyword “auto” digunakan untuk mmbuat variabel lokal. Namun demikian keyword ini jarang dipakai.
2. Break : Keyword "break" digunakan untuk keluar dari do, for atau loop while dengan melewati kondisi loop yang normal.. Keyword ini juga digunakan untuk keluar dari perintah "switch".
3. Switch : Perintah "switch" adalah bagian dari beberapa perintah yang ada pada C. Perintah ini igunakan untuk pembuatan rute satu dengan beberapa cara yang berbeda. Berikut ini dalah bentuk yang biasa dibentuk dipakai pada perintah "switch". Tiap keberhasilan perintah dapat berasal dari satu perintah sampai beberapa perintah, panjang porsi default" dapat dipakai. "switch" akan bekerja dengan pengontrolan "control-var" terhadap konstanta. Jika telah diketemukan suatu keserasian, maka pelaksanaan perintah tersebut akan berhasil. Jika urutan perintah yang berhubungan dengan "case" yang sesuai dengan nilai dari "control-var" yang tidak berisi "break", maka suatu eksekusi perintah akan berlanjut pada "case" berikutnya. Letakkan secara berbeda, mulai dari tempat yang sesuai, maka eksekusi akan terus berjalan sampai perintah "break" ditemukan, atau "switch" berakhir. Jika tidak ditemukan keserasian "case default" maka perintah tidak akan berhasil dilaksanakan. Hal ini akan menyebabkan tidak ada aksi yang berlangsung.
4. Case : Lihat pada "switch".
5. Char : Keyword "char" adalah tipe data yang digunakan untuk membuat karakter variasi.
6. Const : Coonst berasal dari kata “constant” Modifier "const" akan mengatakan pada compiler ahwa variabel yang mengikuti tidak dapat dimodifikasi. Namun demikian saat ideklarasikan variabe "const" dapat diberi nilai awal.
7. Continue : Keyword "continue" digunakan untuk menyediakan porsi code pada suatu loop dan memaksa "conditional test" untuk ditampilkan.
8. Default : keyword "default" digunakan pada perintah "switch" yang memberi tanda default block ari code yang akan dibuat jika tidak ada kecocokan pada "switch".
9. Do : Loop "do" adalah salah satu dari tiga konstruksi loop yang ada pada C. Jika hanya satu perintah yang diulang, maka tanda kurung tidak diperlukan. Tanda kurung disini hanya memperjelas suatu perintah. Loop "do" adalah satu-satunya loop dalam C yang selalu minimal satu iterasi, sebab suatu kondisi akan diuji pada bagian bawah loop. Loop "do", biasanya dipakai untuk membaca file disk.
10. Double : "double" adalah suatu penentu tipe data yang digunakan untuk membuat "double- precision" variabel "floating-point".
11. If : Adalah suatu fungsi yang mendeklarasikan sebuah persyaratan. Jika persyaratan itu tidak terpenuhi maka perintah tidak akan dijalankan atau menjalankan perintah “else”
12. Else : Adalah suatu fungsi yang digunakan sebagai alternatif dalam fungsi “if”.
13. Enum : Secifier tipe "enum" digunakan untuk membuat tipe enumerasi (enumera-tion). Enumerasi adalah suatu daftar yang sederhana dari konstanta integer yang diberi nama. Oleh sebab itu, tipe enumerasi ini menentukan apa yang dibandingkan dalam daftar tersebut.
14. Extern : "extern" adalah tipe data modifier yang digunakan untuk memberitahu compiler bahwa suatu variabel telah dibuat di lain tempat di dalam program. Tipe ini sering digunakan pada kata penghubung dengan susunan file terpisah yang memperlakukan data global yang sama serta digabungkan bersama. Pada dasarnya, "extern" ini memberitahu compiler tentang tipe variabel tanpa harus membuat variabel itu sendiri.
15. Float : “float" adalah tipe data specifier yang digunakan untuk membuat variabel floating-point.
16. For : Loop "for" memungkinkan pemberian huruf awal dan kenaikan secara otomatis dari variabel counter.
17. Goto : Keyword "goto" akan menyebabkan pembuatan program "melompat" pada label yang ditentukan dengan perintah "goto".
18. Int : "int" adalah tipe specifier yang digunakan untuk membuat variabel integer.
19. Long : "long" adalah tipe data modifier yang digunakan untuk membuat variabel integer menjadi "double-length".
20. Register : "register" adalah modifier tempat penyimpanan yang digunakan untuk meminta agar suatu pemasukan pada variabel dioptimalkan kecepatannya. Secara tradisional, "register" hanya dapat digunakan pada variabel integer dan karakter, "register" tersebut menyebabkan variabel-variabel tersebut disimpan dalam register CPU sebagai pengganti dari ditempatkannya pada memori. Standar ANSIC telah diperluas definisinya agar dapat memasukkan semua tipe data. Namun demikian data selain integer dan karakter, biasanya tak dapat disimpan dalam CPU register. Untuk tipe data yang lain, baik berupa cache memory (atau semacam jenis peng-optimal-an scheme) akan dipakai yang kemudian meminta "register" untuk disimpan. "register"hanya dapat digunakan pada variabel lokal.
21. Return : Perintah "return" akan memaksa suatu pengembalian dari fungsi dan dapat digunakan untuk mentransfer kembali suatu angka pada rutin pemanggilan.
22. Short : "short" adalah modifier tipe data yang digunakan untuk mendeklarasikan integer pendek.
23. Signed : Tipe modifier "signed" digunakan untuk menentukan suatu tipe data "signec char".
24. Sizeof : Operator pengaturan waktu "sizeof' akan mengembalikan panjang variabeL tipe yang mendahuluinya. Jika yang mendahului adalah suatu variabel maka tanda kurung bersifat optional (boleh dipakai).
25. Static : Type data modifier "static" digunakan untuk menyuruh compiler agar membuat tempat penyimpanan yang permanen untuk variabel lokal yang mendahuluinya. Hal ini memungkinkan suatu variabel yang telah ditentukan mempertahankan nilainya antara panggilan fungsi.
26. Struct : Keyword "struct" digunakan untuk membuat variabel komplek atau konglomerat, yang disebut "structure", yang terbuat dari satu elemen atau lebih.
27. Typedef : keyword typedef berguna untuk membuat alias dari suatu tipe data.
28. Union : Union digunakan untuk menunjukkan dua variabel atau lebih pada lokasi memori yang sama.
29. Unsigned : "unsigned" adalah tipe data modifier yang memerintahkan compiler untul< menghapus tanda bit dari suatu integer dan menggunakan seluruh bit untuk keperluar arithmetic. Hal semacam ini menyebabkan ukuran integer terbesar menjadi dobel tapi hanya terbatas pada angka-angka positif saja.
30. Void : Tipe specifier "void" pada pokoknya digunakan untuk secara jelas mendeklarasikan fungsi yang tidak mengembalikan suatu nilai (dalam arti penuh), tipe ini juga digunakan untuk membuat pointer "void" (pointer pada "void"), yaitu pointer generic yang dapat menunjukkan beberapa tipe object.
31. Volatile : Modifier "volatile" digunakan untuk memberitahu Compiler bahwa suatu variabel mungkin telah mempunyai suatu isi yang telah dipilih dengan cara yang tidak ditentukan oleh suatu program. Contoh, variabel-variabel yang diubah dengan hardware seperti "realtime clock", 'Interrupt" atau input-input yang lain, harus dinyatakan sebagai volatile.
32. While : Adalah suatu loop. Jika suatu perintah tunggal adalah object dari "while",maka tanda kurung dapat dihilangkan, "while" akan menguji kondisinya pada bagian atas suatu loop. Oleh sebab itu jika kondisinya salah untuk memulai,maka loop tidak akan berjalan, meskipun hanya sekali. Kondisi tersebut mungkin dapat berupa suatu ekspresi.
1. Auto : keyword “auto” digunakan untuk mmbuat variabel lokal. Namun demikian keyword ini jarang dipakai.
2. Break : Keyword "break" digunakan untuk keluar dari do, for atau loop while dengan melewati kondisi loop yang normal.. Keyword ini juga digunakan untuk keluar dari perintah "switch".
3. Switch : Perintah "switch" adalah bagian dari beberapa perintah yang ada pada C. Perintah ini igunakan untuk pembuatan rute satu dengan beberapa cara yang berbeda. Berikut ini dalah bentuk yang biasa dibentuk dipakai pada perintah "switch". Tiap keberhasilan perintah dapat berasal dari satu perintah sampai beberapa perintah, panjang porsi default" dapat dipakai. "switch" akan bekerja dengan pengontrolan "control-var" terhadap konstanta. Jika telah diketemukan suatu keserasian, maka pelaksanaan perintah tersebut akan berhasil. Jika urutan perintah yang berhubungan dengan "case" yang sesuai dengan nilai dari "control-var" yang tidak berisi "break", maka suatu eksekusi perintah akan berlanjut pada "case" berikutnya. Letakkan secara berbeda, mulai dari tempat yang sesuai, maka eksekusi akan terus berjalan sampai perintah "break" ditemukan, atau "switch" berakhir. Jika tidak ditemukan keserasian "case default" maka perintah tidak akan berhasil dilaksanakan. Hal ini akan menyebabkan tidak ada aksi yang berlangsung.
4. Case : Lihat pada "switch".
5. Char : Keyword "char" adalah tipe data yang digunakan untuk membuat karakter variasi.
6. Const : Coonst berasal dari kata “constant” Modifier "const" akan mengatakan pada compiler ahwa variabel yang mengikuti tidak dapat dimodifikasi. Namun demikian saat ideklarasikan variabe "const" dapat diberi nilai awal.
7. Continue : Keyword "continue" digunakan untuk menyediakan porsi code pada suatu loop dan memaksa "conditional test" untuk ditampilkan.
8. Default : keyword "default" digunakan pada perintah "switch" yang memberi tanda default block ari code yang akan dibuat jika tidak ada kecocokan pada "switch".
9. Do : Loop "do" adalah salah satu dari tiga konstruksi loop yang ada pada C. Jika hanya satu perintah yang diulang, maka tanda kurung tidak diperlukan. Tanda kurung disini hanya memperjelas suatu perintah. Loop "do" adalah satu-satunya loop dalam C yang selalu minimal satu iterasi, sebab suatu kondisi akan diuji pada bagian bawah loop. Loop "do", biasanya dipakai untuk membaca file disk.
10. Double : "double" adalah suatu penentu tipe data yang digunakan untuk membuat "double- precision" variabel "floating-point".
11. If : Adalah suatu fungsi yang mendeklarasikan sebuah persyaratan. Jika persyaratan itu tidak terpenuhi maka perintah tidak akan dijalankan atau menjalankan perintah “else”
12. Else : Adalah suatu fungsi yang digunakan sebagai alternatif dalam fungsi “if”.
13. Enum : Secifier tipe "enum" digunakan untuk membuat tipe enumerasi (enumera-tion). Enumerasi adalah suatu daftar yang sederhana dari konstanta integer yang diberi nama. Oleh sebab itu, tipe enumerasi ini menentukan apa yang dibandingkan dalam daftar tersebut.
14. Extern : "extern" adalah tipe data modifier yang digunakan untuk memberitahu compiler bahwa suatu variabel telah dibuat di lain tempat di dalam program. Tipe ini sering digunakan pada kata penghubung dengan susunan file terpisah yang memperlakukan data global yang sama serta digabungkan bersama. Pada dasarnya, "extern" ini memberitahu compiler tentang tipe variabel tanpa harus membuat variabel itu sendiri.
15. Float : “float" adalah tipe data specifier yang digunakan untuk membuat variabel floating-point.
16. For : Loop "for" memungkinkan pemberian huruf awal dan kenaikan secara otomatis dari variabel counter.
17. Goto : Keyword "goto" akan menyebabkan pembuatan program "melompat" pada label yang ditentukan dengan perintah "goto".
18. Int : "int" adalah tipe specifier yang digunakan untuk membuat variabel integer.
19. Long : "long" adalah tipe data modifier yang digunakan untuk membuat variabel integer menjadi "double-length".
20. Register : "register" adalah modifier tempat penyimpanan yang digunakan untuk meminta agar suatu pemasukan pada variabel dioptimalkan kecepatannya. Secara tradisional, "register" hanya dapat digunakan pada variabel integer dan karakter, "register" tersebut menyebabkan variabel-variabel tersebut disimpan dalam register CPU sebagai pengganti dari ditempatkannya pada memori. Standar ANSIC telah diperluas definisinya agar dapat memasukkan semua tipe data. Namun demikian data selain integer dan karakter, biasanya tak dapat disimpan dalam CPU register. Untuk tipe data yang lain, baik berupa cache memory (atau semacam jenis peng-optimal-an scheme) akan dipakai yang kemudian meminta "register" untuk disimpan. "register"hanya dapat digunakan pada variabel lokal.
21. Return : Perintah "return" akan memaksa suatu pengembalian dari fungsi dan dapat digunakan untuk mentransfer kembali suatu angka pada rutin pemanggilan.
22. Short : "short" adalah modifier tipe data yang digunakan untuk mendeklarasikan integer pendek.
23. Signed : Tipe modifier "signed" digunakan untuk menentukan suatu tipe data "signec char".
24. Sizeof : Operator pengaturan waktu "sizeof' akan mengembalikan panjang variabeL tipe yang mendahuluinya. Jika yang mendahului adalah suatu variabel maka tanda kurung bersifat optional (boleh dipakai).
25. Static : Type data modifier "static" digunakan untuk menyuruh compiler agar membuat tempat penyimpanan yang permanen untuk variabel lokal yang mendahuluinya. Hal ini memungkinkan suatu variabel yang telah ditentukan mempertahankan nilainya antara panggilan fungsi.
26. Struct : Keyword "struct" digunakan untuk membuat variabel komplek atau konglomerat, yang disebut "structure", yang terbuat dari satu elemen atau lebih.
27. Typedef : keyword typedef berguna untuk membuat alias dari suatu tipe data.
28. Union : Union digunakan untuk menunjukkan dua variabel atau lebih pada lokasi memori yang sama.
29. Unsigned : "unsigned" adalah tipe data modifier yang memerintahkan compiler untul< menghapus tanda bit dari suatu integer dan menggunakan seluruh bit untuk keperluar arithmetic. Hal semacam ini menyebabkan ukuran integer terbesar menjadi dobel tapi hanya terbatas pada angka-angka positif saja.
30. Void : Tipe specifier "void" pada pokoknya digunakan untuk secara jelas mendeklarasikan fungsi yang tidak mengembalikan suatu nilai (dalam arti penuh), tipe ini juga digunakan untuk membuat pointer "void" (pointer pada "void"), yaitu pointer generic yang dapat menunjukkan beberapa tipe object.
31. Volatile : Modifier "volatile" digunakan untuk memberitahu Compiler bahwa suatu variabel mungkin telah mempunyai suatu isi yang telah dipilih dengan cara yang tidak ditentukan oleh suatu program. Contoh, variabel-variabel yang diubah dengan hardware seperti "realtime clock", 'Interrupt" atau input-input yang lain, harus dinyatakan sebagai volatile.
32. While : Adalah suatu loop. Jika suatu perintah tunggal adalah object dari "while",maka tanda kurung dapat dihilangkan, "while" akan menguji kondisinya pada bagian atas suatu loop. Oleh sebab itu jika kondisinya salah untuk memulai,maka loop tidak akan berjalan, meskipun hanya sekali. Kondisi tersebut mungkin dapat berupa suatu ekspresi.
2.4
TYPE DATA
Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke dalam 4 kelompok besar: tipe data dasar, tipe data turunan, tipe data bentukan, dan tipe data void.
1. Tipe Data Dasar
Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:
2. Tipe Data Turunan
Tipe data turunan berasal dari tipe data dasar yang dikelompokkan atau di modifikasi. Terdapat 3 tipe data turunan di dalam bahasa pemrograman C:
3. Tipe Data Bentukan (enum)
Sesuai dengan namanya, tipe data bentukan adalah tipe data yang dibuat sendiri oleh kita (programmer). Isinya berupa data-data yang sudah ditentukan. Tipe data bentukan ini dikenal juga sebagai Enumerated Data Type atau disingkat sebagai enum.
4. Tipe Data Void
Tipe data void adalah tipe data khusus yang menyatakan tidak ada data. Penggunaannya khusus untuk beberapa situasi seperti function yang tidak mengembalikan nilai (return void), atau mengisi argumen function dengan nilai kosong.
Tanpa pengelompokan, berikut ke-8 tipe data dalam bahasa pemrograman C:
1. Char
2. Integer
3. Float
4. Array
5. Structure
6. Pointer
7. Enum
8. Void
Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke dalam 4 kelompok besar: tipe data dasar, tipe data turunan, tipe data bentukan, dan tipe data void.
1. Tipe Data Dasar
Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:
- Char: tipe data yang berisi 1 huruf atau 1 karakter.
- Integer: tipe data untuk menampung angka bulat.
- Float: tipe data untuk menampung angka pecahan.
2. Tipe Data Turunan
Tipe data turunan berasal dari tipe data dasar yang dikelompokkan atau di modifikasi. Terdapat 3 tipe data turunan di dalam bahasa pemrograman C:
- Array: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data tersebut harus 1 jenis.
- Structure: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data tersebut bisa lebih dari 1 jenis.
- Pointer: Tipe data untuk mengakses alamat memory secara langsung.
3. Tipe Data Bentukan (enum)
Sesuai dengan namanya, tipe data bentukan adalah tipe data yang dibuat sendiri oleh kita (programmer). Isinya berupa data-data yang sudah ditentukan. Tipe data bentukan ini dikenal juga sebagai Enumerated Data Type atau disingkat sebagai enum.
4. Tipe Data Void
Tipe data void adalah tipe data khusus yang menyatakan tidak ada data. Penggunaannya khusus untuk beberapa situasi seperti function yang tidak mengembalikan nilai (return void), atau mengisi argumen function dengan nilai kosong.
Tanpa pengelompokan, berikut ke-8 tipe data dalam bahasa pemrograman C:
1. Char
2. Integer
3. Float
4. Array
5. Structure
6. Pointer
7. Enum
8. Void
2.5
KONSTANTA
Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain :
- \a : untuk bunyi bell (alert)
- \b : mundur satu spasi (backspace)
- \n : ganti baris baru (new line)
- \r : ke kolom pertama, baris yang sama (carriage return)
- \t : tabulasi vertical
- \’ : karakter petik tunggal
- \” : karakter petik ganda
- \\ : karakter garis miring
#include
"stdio.h"
main(){
printf("\a"); //bunyi bip
printf("\n\n"); //turun kebawah 2 kali
printf("\tPenggunaan Tab"); //penggunaan tab
printf("\n\"SAYA BELAJAR C\""); //penggunaan tanda petik
printf("\nTulisan Tertimpa Dengan Tulisan Berikutnya");
printf("\rMulai dari awal");//tulisan ini mulai dari awal
}
2.6
VARIABLE DAN ARRAY
VARIABEL DALAM BAHASA C
Variabel adalah ‘penanda’ identitas yang digunakan untuk menampung suatu nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel merujuk kepada suatu alamat di memory komputer. Setiap variabel memiliki nama yang sebagai identitas untuk variabel tersebut.
Sebagai contoh, jika saya membuat program menghitung luas lingkaran, saya bisa membuat variabel ‘jari2‘ dan mengisinya dengan nilai ‘7’, kemudian di dalam kode program, saya bisa mengubah nilainya menjadi ‘8’, ’10’ atau ‘1000’. Sedangkan jika ‘jari2‘ ini dibuat sebagai konstanta, maka nilainya akan tetap ‘7’ sepanjang program dijalankan.
ATURAN PENAMAAN VARIABEL DALAM BAHASA C
Penamaan variabel merujuk ke aturan identifier yang pernah kita bahas beberapa tutorial sebelumnya. Berikut aturan penamaan variabel di dalam bahasa pemrograman C:
- Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis bawah ( _ ).
- Karakter pertama dari variabel hanya boleh berupa huruf dan underscore ( _ ), tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak menggunakan karakter underscore sebagai awal dari variabel karena bisa bentrok dengan beberapa variabel settingan program.
- Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa memakai kata int sebagai nama variabel, karena int merupakan keyword untuk menandakan tipe data integer.
- Beberapa compiler bahasa C ada yang membatasi panjang variabel maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama variabel yang lebih dari 31 karakter.
CARA PENULISAN VARIABEL DI DALAM BAHASA C
Ketika akan menulis variabel, dalam hampir semua bahasa pemrograman terdapat 2 proses: deklarasi dan inisialisasi.
Deklarasi adalah proses untuk memberitahukan compiler bahasa C bahwa kita akan membuat sebuah variabel. Bahasa C termasuk bahasa pemrograman yang menggunakan konsep strongly typed programming language, yang artinya untuk setiap variabel harus ditulis akan berisi tipe data apa. Apakah itu angka bulat (integer), angka pecahan (float), huruf (char), atau yang lain.
Ketika kita ingin membuat variabel, harus ditentukan dulu apa tipe data dari variabel tersebut. Pembahasan mengenai tipe data di dalam bahasa C akan kita bahas dalam tutorial tersendiri, namun berikut tipe data yang sering dipakai:
- Tipe data integer, yakni tipe data angka bulat seperti 1, 5 atau 1000. Tipe data integer ditulis dengan keyword int.
- Tipe data float, yakni tipe data angka pecahan seperti 1.33, 5.90 atau 1000.99. Tipe data float ditulis dengan keyword float.
- Tipe data character, yakni tipe data huruf seperti ‘A’, ‘a’, atau ‘Z’. Tipe data character ditulis dengan keyword char.
STRUKTUR VARIABEL
PENGERTIAN TIPE DATA STRUCT
Dalam bahasa C, struct adalah tipe data bentukan yang terdiri dari kumpulan tipe data lain. Struct mirip seperti array, tapi struct bisa menampung lebih dari 1 jenis tipe data. Jika sebelumnya anda pernah belajar bahasa pemrograman Pascal, struct dalam bahasa C sangat mirip seperti record di Pascal.
Tipe data struct cocok dipakai untuk menampung data berkelompok. Misalnya saya ingin membuat biodata siswa. Setiap siswa memiliki data nama, nama sekolah serta jumlah uang saku. Menggunakan cara biasa, semua data ini bisa ditampung ke dalam 3 variabel berikut:
- char nama_siswa01[50] = "Andi Permana Nugroho";
- char nama_sekolah_siswa01[50] = "SMA 1 Lumut Ijo";
- unsigned int uang_saku_siswa01 = 10000;
Cara ini tidak salah, namun setiap variabel seolah-olah terpisah satu sama lain. Satu-satunya yang menghubungkan ketika variabel hanya dari penamaan saja. Kita juga tidak bisa menggunakan array karena 3 data di atas memiliki tipe data yang berbeda. Dalam kasus seperti inilah tipe data struct cocok digunakan.
1. Membuat program yang menampilkan hari esok setelah tanggal yang di inputkann dengan keyboard.
#include<stdio.h>
#include<conio.h>
struct tanggal { /*definisi global dari tipe tanggal */
int tgl;
int bln;
int thn;
};
void cetak_tgl(struct tanggal now)
{
static char *bulan[]={
“Kode bulan salah”,
“Januari”,
“Februari”,
“Maret”,
“April”,
“Mei”,
“Juni”,
“Juli”,
“Agustus”,
“September”,
“Oktober”,
“November”,
“Desember”
};
printf(“\nBesok Tanggal adalah : “);
if(now.tgl==0)
printf(“%d %s %d\n”,now.tgl+1,bulan[now.bln+1],now.thn);
else
printf(“%d %s %d\n”,now.tgl+1,bulan[now.bln],now.thn);
}
void main()
{
struct tanggal skr;
printf(“Masukkan tanggal hari ini (tgl/bln/thn): “);
scanf(“%d/%d/%d”,&skr.tgl,&skr.bln,&skr.thn);
if(skr.tgl==31)
skr.tgl=0;
cetak_tgl(skr);
getch();
}
ARRAY
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan kita untuk menyimpan data dalam jumlah banyak dan terindeks. Bisa dianalogikan dalam kehidupan array itu seperti lemari sepatu yang mempunyai banyak loker. Setiap loker dipergunakan untuk menyimpan sepatu (data) dan tidak mungkin menyimpan nasi goreng (wajib tipe data sama). Setiap loker juga mempunyai nomor loker yang digunakan untuk mengakses/mengambil sepatu yang diinginkan (index array).
Dalam bahasa C, array bisa digunakan juga untuk membuat string atau array of char. Seperti yang dijelaskan diatas, array merupakan data yang bertipe data sama. Jika kumpulan huruf-huruf dijadikan ke sebuah array, maka bisa disebut juga string.
Setiap array value dapat diakses menggunakan index. Index dalam array selalu dimulai dari 0. Sebagai contoh saya mempunyai array char kata[20]={‘m’,’a’,’h’,’i’,’r’,’ ‘,’k’,’o’,’d’,’i’,’n’,’g’}; maka untuk mencetak huruf h dapat dilakukan dengan mengakses index array kata[2]; dan huruf o di index [7]; (spasi termasuk index array).
Array sendiri ada yang disebut array 1 dimensi dan array 2 dimensi . Dari namanya saja sepertinya sudah bisa kita tebak maksud dan perbedaan keduanya.
Array 1 Dimensi
Jika dianalogikan seperti lemari sepatu tadi, maka lemari sepatu tersebut bisa juga disebut array 1 dimensi karena hanya mempunyai sebuah lemari rak sepatu yang mempunyai banyak loker.
Contoh deklarasi : angka[x];
#include <stdio.h>
int main(){
int n;
//deklarasi angka
int angka[100];
//meminta banyaknya angka
printf("Masukkan banyaknya bilangan yang diinginkan : "); scanf("%d", &n); fflush(stdin);
//meminta inputan angka
for(int i=0; i<n; i++){
printf("Masukkan angka ke %d : ", i+1); scanf("%d", &angka[i]); fflush(stdin);
}
//mencetak angka
for(int i=0; i<n; i++){
printf("Angka ke %d : %d\n", i+1, angka[i]);
}
getchar();
return 0;
}
Array 2 Dimensi
Sama seperti array 1 dimensi, hanya saja kamu mempunyai lemari sepatunya lebih dari satu.
Contoh deklarasi : nama[x][y];
#include <stdio.h>
int main(){
int n;
//deklarasi array 2 dimensi untuk nama
int nama[100][100];
//meminta inputan banyaknya nama yang diinginkan
printf("Masukkan banyaknya nama yang diinginkan : "); scanf("%d", &n); fflush(stdin);
//meminta inputan nama
for(int i=0; i<n; i++){
printf("Masukkan nama ke %d : ", i+1); scanf("%[^\n]", &nama[i]); fflush(stdin);
}
//mencetak nama
for(int i=0; i<n; i++){
printf("Nama ke %d : %s\n", i+1, nama[i]);
}
getchar();
return 0;
}
2.7
DECLARASI
Deklarasi (Declare) sangat diperlukan oleh kita jika kita ingin menggunakan pengenal atau biasa disebut identifier dalam sebuah kode program yang akan kita buat.
Deklarasi di bagi jadi 3 yaitu :
1. Deklarasi variabel
Deklarasi (Declare) sangat diperlukan oleh kita jika kita ingin menggunakan pengenal atau biasa disebut identifier dalam sebuah kode program yang akan kita buat.
Deklarasi di bagi jadi 3 yaitu :
1. Deklarasi variabel
Bentuk umum sebuah pendeklarasian suatu variable adalah :
#define PHI 3.14
#define nom “141206”
#define nama “hakkun”
#define kelas “MM-3”
3.Deklarasi Fungsi
Fungsi adalah bagian yang terpisah dari sebuah program yang kita buat dan dapat diaktifkan atau dipanggil di manapun di dalam program. Fungsi dalam sebuah bahasa pemrograman C ada yang sudah disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh kita. Bentuk umum deklarasi sebuah fungsi adalah :
Tipe_fungsi nama_fungsi(parameter_fungsi);
Contohnya :
float luas_lingkaran(int jari);
void tampil();
int tambah(int x, int y);
Symbolic Constant adalah suatu nama dimana digunakan untuk menggantikan suatu nilai tertentu , sehingga akan lebih mudah dalam pembacaan suatu program, contohnya #define PI 3,14. PI ditulis huruf besar untuk membedakan dengan variabel lain.3x2
Ada beberapa operator dalam bahasa C dan berikut contoh penggunaannya :
2. Deklarasi Konstanta
Di dalam penggunaan konstanta di bahasa pemrograman C dideklarasikan menggunakan preprocessor #define. Contohnya:#define PHI 3.14
#define nom “141206”
#define nama “hakkun”
#define kelas “MM-3”
3.Deklarasi Fungsi
Fungsi adalah bagian yang terpisah dari sebuah program yang kita buat dan dapat diaktifkan atau dipanggil di manapun di dalam program. Fungsi dalam sebuah bahasa pemrograman C ada yang sudah disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh kita. Bentuk umum deklarasi sebuah fungsi adalah :
Tipe_fungsi nama_fungsi(parameter_fungsi);
Contohnya :
float luas_lingkaran(int jari);
void tampil();
int tambah(int x, int y);
2.8 EXPRESSION
Expression statement adalah suatu expression yang diikuti dengan tanda titik koma (;). Compound statement adalah adalah dua atau lebih statement yang dikelompokkan menjadi satu dengan cara memberi batas tanda kurung awal dan tanda kurung akhir, sehingga tidak perlu diakhiri dengan tanda titik koma pada akhir dari compound. Control statement adalah statement yang mengendalikan langkah-langkah program, contohnya for loop, while loop, dan if-else.2.9 STATEMENT
Statement adalah unsur dasar pembentuk program. Suatu program terdiri dari beberapa statement dimana komputer akan melakukan tugas tertentu sesuai dengan urutan statement. Statement ada tiga jenis, yaitu : expression statement, compound statement, control statement.2.10 SYMBOLIC CONSTANT
Symbolic Constant adalah suatu nama dimana digunakan untuk menggantikan suatu nilai tertentu , sehingga akan lebih mudah dalam pembacaan suatu program, contohnya #define PI 3,14. PI ditulis huruf besar untuk membedakan dengan variabel lain.3x2
2.11 OPERATOR
Operator dan Operand dalam Bahasa C merupakan sebuah istilah yang tidak asing lagi dalam pemrograman. Operator adalah simbol atau karakter yang digunakan oleh program untuk melakukan sebuah operasi dalam sebuah proses program seperti operasi bilangan dan operasi string. Bahasa C mengenal penggunaan beberapa operator dengan fungsi yang berbeda-beda. Setiap operator memiliki kedudukan atau hirarki saat penanganan program. Operator dengan hirarki lebih tinggi akan dikerjakan lebih dahulu dibandingkan operator dengan hirarki lebih rendah.Ada beberapa operator dalam bahasa C dan berikut contoh penggunaannya :
- Operator Aritmatika
Operator | Nama | Contoh | Hasil |
---|---|---|---|
+ | Pemjumlahan | a = b + c | b ditambah dengan c |
– | Pengurangan | a = b – c | b dikurang dengan c |
* | Perkalian | a = b * c | b dikali dengan c |
/ | Pembagian | a = b / c | b dibagi dengan c |
% | Modulus | a = b % c | sisa dari b dibagi c |
++ | Increament | a++ | a = a + 1 |
— | Decreament | a– | a = a – 1 |
- Operator Bitwise
Operator | Nama | Contoh | Biner | Hasil Biner | Hasil Decimal |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
- Operator Penugasan
Operator | Penugasan | Sama dengan | Deskripsi |
---|---|---|---|
= | x = y | x = y | variabel x memperoleh nilai dari variabel y |
+= | x += y | x = x + y | variabel x memperoleh nilai dari x + y |
-= | x -= y | x = x – y | variabel x memperoleh nilai dari x – y |
*= | x *= y | x = x * y | variabel x memperoleh nilai dari x * y |
/= | x /= y | x = x / y | variabel x memperoleh nilai dari x / y |
%= | x %= y | x = x % y | variabel x memperoleh nilai dari x % y |
<<= | x <<= y | x = x << y | variabel x memperoleh nilai dari x << y |
>>= | x >>= y | x = x >> y | variabel x memperoleh nilai dari x >> y |
&= | x &= y | x = x & y | variabel x memperoleh nilai dari x & y |
|= | x |= y | x = x | y | variabel x memperoleh nilai dari x | y |
^= | x ^= y | x = x ^ y | variabel x memperoleh nilai dari x ^ y |
- Operator Perbandingan
Operator | Nama | Contoh | Hasil |
---|---|---|---|
== | Sama dengan | a == b | benar jika a sama dengan b |
!= | Tidak sama dengan | a != b | benar jika a berbeda dengan b |
> | Lebih besar | a > b | benar jika a lebih besar dari b |
< | Lebih kecil | a < b | benar jika a lebih kecil dari b |
>= | Lebih besar atau sama dengan | a >= b | benar jika a lebih besar atau sama dengan b |
<= | Lebih kecil atau sama dengan | a <= b | benar jika a lebih kecil atau sama dengan b |
- Operator Logika
Operator | Nama | Contoh | Hasil |
---|---|---|---|
&& | And | a && b | benar jika a and b bernilai benar |
|| | Or | a || b | benar jika salah satu a atau b bernilai benar |
! | Not | !a | benar jika a tidak benar |
3. INPUT DAN OUTPUT DASAR
3.1FUNGSI KARAKTER
Fungsi-fungsi pustaka untuk opersai karakter berada pada file judul ctype.h.a. Menyeleksi Status Karakter
Fungsi-fungsi pustaka atau mako yang dapat digunakan adalah :
Makro-makro ini akan menghasilkan nilai benar (True) jika nilai karakter yang diseleksi termasuk dalam status kelompoknya.
contoh1 :
#include<stdio.h>
#include<conio.h> //file header untuk fungsi getche()
#include<ctype.h> //file header untuk fungsi isspace(c)
#define lagi 1
main() {
int karakter;
do { karakter = getche(); // menerima input data karakter tanpa enter
if(isspace(karakter)) break; } /*bila yg diinput berupa spasi, backspace, tab atau enter maka keluar dari proses looping*/
while(lagi); /*looping dilakukan selama menerima input*/ }
Contoh2 :
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
main() { int input;
input = getche(); //input tanpa penekanan enter
if(isalpha(input)) printf(“ adalah huruf\n”);
else printf(“ bukan huruf\n”);
}
output :
d adalah huruf
1 bukan huruf
ket : if(isalpha(input)) printf(“adalah huruf\n”); artinya bila input benar berisi karakter huruf maka akan dicetak adalah huruf dan bila tidak akan mencetak bukan huruf.
b. Mengkonversi Nilai Karakter
fungsi :
tolower() : merubah karakter huruf besar menjadi huruf kecil
toupper() : merubah karakter huruf kecil menjadi besar
Contoh :
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
main() { char kata = „A‟,jawab;
do { printf(“%c %c\n”, tolower(kata),toupper(„b‟));
printf(“Mau coba lagi : “);
jawab = getchar(); }
while(toupper(jawab) = = „Y‟ ); }
Ouput :
a B
Mau coba lagi : y
a B
Mau coba lagi : t
Ket : program diatas akan mencetak A menjadi huruf kecil dan B menjadi huruf besar. Perintah while(toupper(jawab) ==‟Y‟) berarti looping akan dilakukan selama jawab = „Y‟ atau „y‟ karena toupper(„y‟) = „Y‟.
3.2 FUNGSI PRINT F DAN SCAN F
1. Fungsi printf()
Fungsi printf() merupakan fungsi untuk menampilkan output ke layar komputer. Fungsi ini terdapat pada library stdio.h.
Oleh sebab itu, ketika kita diharuskan untuk menuliskan #include <stdio.h> di bagian atas program agar bisa menggunakan fungsi ini.
Berikut ini struktur dasar fungsi printf():
Perhatikan:
"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi sebuah variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada teks "format".
Mari kita lihat contohnya:
Buatlah sebuah program C bernama output.c, lalu isi dengan kode berikut.
#include <stdio.h>
int main(){
printf("Hello, ini adalah teks output\n");
printf("Nama saya %s\n", "Dian");
printf("Usia saya %d\n", 20);
return 0;
}
Ada beberapa hal yang perlu di perhatikan…
Pada fungsi printf() kita menggunakan simbol %s, %d, dan \n untuk format teks.
Mari kita bahas arti dari simbol tersebut:
- %s adalah simbol untuk menampilkan nilai string;
- %d adalah simbol untuk menampilkan nilai angka atau bilangan desimal;
- \n adalah simbol untuk membuat baris baru.
Simbol |
Arti atau Fungsi
|
%c
|
untuk menampilkan karakter
|
%s
|
untuk menampilkan teks (string)
|
%d, %i
|
untuk menampilkan bilangan desimal
|
%f
|
untuk menampilkan bilangan pecahan
|
%o
|
untuk menampilkan bilangan oktal
|
%x
|
untuk menampilkan bilangan
heksadesimal
|
\t
|
untuk membuat tabs
|
Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki format seperti fungsi printf().
Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.
Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.
Mari kita lihat contohnya:
Hasilnya:
Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah menjadi dua seperti ini:
Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.
Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.
Mari kita lihat contohnya:
#include
<stdio.h>
int
main
() {
// membuat variabel
char
name[
20
], web_address[
30
];
printf(
"Nama: "
);
scanf(
"%s"
,
&
name);
printf(
"Alamat web: "
);
scanf(
"%s"
,
&
web_address);
printf(
"\n------------------------------\n"
);
printf(
"Nama yang diinputkan: %s\n"
, name);
printf(
"Alamat Web yang diinputkan: %s\n"
, web_address);
return
0
;
}
Hasilnya:
printf(
"Nama: "
);
scanf(
"%[^\n]s"
, name);
Maka fungsi scanf() akan menerima spasi.
Dalam menggunakan scanf(), kita dianjurkan menggunakan simbol & sebelum nama variabel.
Contoh:
#include
<stdio.h>
void
main
(){
int
a, b, c;
printf(
"Inputkan nilai a: "
);
scanf(
"%i"
,
&
a);
printf(
"Inputkan nilai b: "
);
scanf(
"%i"
,
&
b);
c
=
a
+
b;
printf(
"Hasil a + b: %i"
, c);
}
Simbol & berfungsi untuk mengambil alamat memori dari sebuah variabel.
Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang akan diinputkan.
Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan alamat memori yang akan digunakan oleh scanf().
3.3 FUNGSI STRING
Suatu string merupakan array dari karakter. Nilai suatu string ditulis dengan tanda petik dua. Suatu nilai string disimpan di memory dengan diakhiri oleh nilai „\0‟ (null). “ABC” disimpan menjadi A B C „\0‟
Inisialisasi
String : char kota[ ] = {„C‟,‟o‟,‟r‟,‟v‟,‟a‟,‟l‟,‟l‟,‟i‟,‟s‟,‟\0‟};
char kota[10] = “Corvallis” ;
char kota[ ] = “Corvallis” ;
Konstanta string, sebagaimana halnya nama array, diperlakukan oleh kompiler sebagai sebuah pointer. Maka pernyataan berikut sama dengan inisialisasi di atas.
char *kota = “CORVALLIS”;
perintah : printf(“%s, %c%c”, kota, kota[1],kota[2]); Output : CORVALIS, OR
%s kode format untuk kota berarti mencetak CORVALLIS. %c, kota[1] berarti mencetak elemen array ke-1 dari kota yaitu „O‟, %c,kota[2] berarti mencetak elemen array ke-2 dari kota yaitu „R‟.
Seperti halnya Array, String bila tidak diberi nilai awal maka ukuran karakter harus ditulis, Misal : char Nama[20];
Atau boleh ditulis sebagai pointer :
char *Nama ;
Fungsi2 standar string terdapat pada file judul string.h
1. Menyalin string
Fungsi : strcpy()
Bentuk : srtcpy(string1,string2). Nilai string2 akan dicopy ke string1.
Contoh : strcpy(kota, “satu”) maka string satu akan dicopy ke variable kota.
2. Menghitung panjang string
Fungsi : strlen()
Contoh : strlen(“Corvallis”) maka akan dihasilkan nilai 9
3. menggabungkan string
fungsi : strcat(string1,string2). Nilai string1 akan digabung dengan string2 dan disimpan didalam string1.
Contoh :
char kota[]=”satu”;
strcat(kota, “dua”) maka kota[ ] = “satudua”
4. Mencari Nilai karakter di string
Fungsi : strchr()
Contoh :
char String[ ] =”Abcde”; char *hasil ;
Hasil = strch(String, „B‟); printf(“%s”, hasil);
Maka Hasil akan bernilai “Bcde”
5. Membandingkan dua nilai string
Fungsi : strcmp()
Membandingkan dua nilai string akan menghasilkan nilai integer berupa :
- > 0 bila sring pertama lebih kecil daripada string kedua
- 0 bila string pertama = string kedua
- < 0 bila string pertama lebih besar dari string kedua
Contoh program :
#include <stdio.h>
#include “string.h”
int main( ) {
char kata1[ ] = “Ibu Kota”, *kata2 = “ Jakarta”, data1[ ] ={„A‟,‟B‟,‟c‟,‟d‟,‟\0‟};
char data2[ ] = “ABCD”,*baru ; int hasil;
printf(“panjang string kata1 : %d \n”,strlen(kata1); //menghitung panjang “Ibu Kota”
strcat(kata1,kata2); //mengabung kata1&kata2 disimpan di kata1
printf(“nilai string kata1 setelah operasi : %s \n”,kata1);
strcpy(kata2,data1); //mencopy string data1 disimpan di kata2
printf(“nilai string kata2 setelah operasi : %s \n”,kata2);
hasil = strcmp(data1,data2); //membandingkan data1 dan data2
if (hasil = = 0) printf(“Data1 sama dengan data2”)
else if(hasil< 0) printf(“Data1 lebih kecil dari data2”);
else printf(“Data1 lebih besar dari data2”);
baru = strchr(data2,’C’); //mencari karakter‟C‟ pada data2, hasil disimpan di baru
printf(“\nHasil mencari karakter C : %s”, baru);
return 0; //nilai balik ke fungsi main
}
Output :
panjang string kata1 : 8
Nilai string kata1 setelah operasi : Ibu Kota Jakarta
Nilai string kata2 setelah operasi : ABcd
Data1 lebih besar dari data2
Hasil mencari karakter C : CD
Nilai yang tersimpan pada tiap variabl setelah operasi :
kata1= “Ibu Kota Jakarta” karena menyimpan hasil operasi strcat(kata1,kata2).
kata2 = “Abcd” karena menyimpan hasil opersi strcpy(kata2,data1)
data1 = “Abcd”
data2 = “ABCD”
hasil = lebih besar dari nol karena karakter „c‟ lebih besar dari „C‟
baru = “CD”
3.4 COUNTINUATION
CHARACTER
Karakter lanjutan yang valid adalah tanda plus (+) dan tanda minus (-). Gunakan
mereka untuk melanjutkan pernyataan kontrol dan komentar yang tidak sesuai pada
satu baris input. Karakter lanjutan harus karakter nonblank terakhir. Gunakan karakter
lanjutan sebagai berikut :
·
Gunakan
tanda tambah (tanpa spasi sebelum) untuk melanjutkan nilai kata kunci tunggal
ke baris kedua atau berikutnya. Tanda plus akan menghapus pemisah utama dari
garis lanjutan
·
Gunakan
tanda minus (dengan spasi di depannya) untuk melanjutkan daftar kata kunci untuk
satu perintah. Tanda minus tidak meneghapus pemisah utama dari baris lanjutan. Jika
garis yang ingin anda lanjutkan terlampir dalam apostrof. Anda harus
menggunakan tanda minus sebagai karakter lanjutan.
DAFTAR PUSTAKA :
Komentar
Posting Komentar