• Tidak ada hasil yang ditemukan

Ringkasan input. output. array, dan function

N/A
N/A
Protected

Academic year: 2018

Membagikan "Ringkasan input. output. array, dan function"

Copied!
14
0
0

Teks penuh

(1)

PENGGUNAAN PRINTF()

Interaksi program dengan user biasanya melalui input dan output (Phisical - C Handbook 2011). Printf() digunakan untuk menampilkan karakter di layar monitor.

printf("Hello world");

Kode di atas adalah untuk menampilkan tulisa “Hello world” di layar monitor. Tetapi printf() tidak sekedar menampilkan teks. Perhatikan contoh berikut: printf("Totalnya adalah %d\n", sum);

Ketika program dijalankan kita akan mendapatkan bahwa %d digantikan dengan isi dari variable sum.

printf() selalu memerlukan suatu format string sebagai argument (atau parameter input) pertama dan diikuti oleh satu atau lebih argument berikutnya yang berupa variable, konstanta, atau expression (persamaan) yang akan kita format dan cetak di layar.

Format string dapat terdiri dari tiga jenis text:

1. Karakter biasa yang dicetak seperti apa adanya

2. escape sequences untuk karakter khusus seperti `\n' untuk ganti baris;

3. conversion specifications, yaitu teks yang dimulai dengan `%' dan diakhiri dengan conversion character seperti `d'.

Ada banyak escape sequences yang didefinisikan di C , sebagian contohnya adalah:

Escape Sequence Character represented

\n newline

printf("\t\"My name is \'%s\'\"\n", "Slim Shady"); hasilnya:

"My name is 'Slim Shady'"

Teks konversi seperti ``%d'' akan menyuruh printf() untuk menyisipkan nilai integer dari argument berikutnya. ``%d'' berarti nilai yang ditampilkan ditulis dalam bentuk bilangan desimal. Contoh:

int a=4; double x=2.5;

(2)

printf("and here is a double: %f\n", x);

Lihat bahwa kita gunakan %f untuk type double atau float. Kode konversi harus disesuaikan dengan tipe variable yang digunakan dan format yang diinginkan. Hati-hati menggunaan kode konversi ini.

Output kode di atas adalah

Here is an integer: 4 and here is a double: 2.500000

Seperti yang kita lihat, kita mendapatkan tab setelah karakter 4, tapi kiga mendapatkan nilai x yang dicetak sepanjang 6 digit di belakang koma. Hal ini diakibatkan bahwa “%f” selalu menuliskan bilangan float atau double dengan sepanjang 6 digit di belakang koma.

Jika kita tidak ingin menampilkan 6 digit di belakang koma, misalnya kita ingin menampilkan hanya dua digit di belakang koma, kita dapat tuliskan format teksnya menggunakan %.2f .

Contoh:

printf("Here is an integer: %d\t", a); printf("and here is a double: %.2f\n", x);

--- Here is an integer: 4 and here is a double: 2.50

Selain menetapkan panjang digit setelah koma (nilai presisi) dapat pula ditetapkan sebuah field-width; yaitu panjang karakter minimum yang akan ditampilkan oleh satu kode konversi. Jika karakter yang ditampilkan lebih pendek, biasanya akan ditambahkan spasi secara otomatis. Contoh:

int a=1;

double x=-0.004;

printf("%3d\t%8.2f\n", a, x);

a=10; x=-40.009;

printf("%3d\t%8.2f\n", a, x);

a=100; x=-4001;

printf("%3d\t%8.2f\n", a, x); --- 1 -0.00

(3)

Di bawah ini beberapa kode konversi yang umum digunakan:

%e,%E double Alternatif untuk %f yang diformat dengan menggunakannotasi eksponensial. Contoh 3.652560e+02, atau 3.652560E+02

%g,%G double Kombinasi %f dan %e

%s string String

%% Karakter %

Tidak ada type String sederhana di C; Sampai saat ini yang penting kita tahu, cara unutk menampilkan string adalah dengan %s pada printf().

Angka 65 muncul karena isi variable c ditampilkan sebagai bilangan desimal kode ascii dari ‘A’.

double x=365.256;

(4)

PENGGUNAAN SCANF()

scanf() digunakan untuk menerima data input. Cara kerja lebih mirip kebalikan dari printf(). Seperti juga printf(), scanf() juga memerlukan format string sebagai argument atau parameter pertamannya, kemudian diikuti beberapa parameter yang merupakan variabel-variabel yang akan diisi dengan suatu nilai.

Format string untuk scanf() secara umum sama dengan yang ada pada printf(). Dua perbedaannya adalah:

1. Spasi pada format string harus sesuai dengan jumlah spasi dan tab pada input

2. Conversion specier untuk float dan double tidak sama: floats tetap menggunakan %f, tetapi double harus menggunakan %lf {Catatan: l adalah huruf “el” bukan angka 1; lf=long float :) }

Disamping menuliskan nama variabel yang akan menampung nilai input, kita harus memberikan awalan & untuk mengarahkan ke lokasi memori yang digunakan variabel.

Contoh scanf yang menggabungkan double dan int: Values input are:

Pengecualian adalah untuk string (misalnya array of char) yang tidak memerlukan & untuk menerima input. #include <stdio.h>

#include <stdlib.h>

(5)
(6)

ARRAY

DEFINISI

Array adalah sebuah tipe variable yang dapat menampung sekumpulan data yang bertipe sama. Data tersebut disimpan secara berurutan dan masing-masing data mempunyai nilai index yang identik sebagai nomor urut data. Untuk array sepanjang N elemen, urutan data yang pertama mempunyai index 0, urutan data terkahir mempunyai index N-1.

DEKLARASI

Variabel bertipe array dideklarasikan dengan cara yang sama seperti variabel biasa, dimulai type data diikuti dengan nama variable, tetapi khusus untuk array setelah nama variable harus diikuti dengan tanda kurung kotak (square bracket) yang berisi angka yang menetapkan berapa panjang array. Angka ini harus selalu integer dalam bentuk konstanta atau pun variabel. Perhatikan contoh berikut:

char cc[10],c; /* mendeklarasikan variable cc dengan type array of 10 * char dan sebuah variable c dengan type char biasa */

int xx[4];

int i, j=3, readings[200];

double y[25], sum, voltage[j]; //nilai j=3, lihat baris sebelumnya.

A

RRAY ELEMENTS

Begitu kita deklarasikan array, kita dapat menggunakannya setiap data sebagai sebuah elemen seperti penggunaan variable biasa. Element atau item suatu array dapat dipanggil dengan menggunakan nama variabel diiikuti dengan nilai index di dalam kurung kotak. Contoh:

harga[2] = 6.5;

i = i * harga[2];

printf(“Masukkan harga item ke 1/n”); scanf(“%f”,&harga[0]);

Seringkali array diproses secara identik dan masal yang biasanya diterapkan dalam loop. Contoh: sum=0.0;

for (i=0; i<4; i++) sum += xx[i]*yy[i];

I

NISIALISASI

Berikut ini contoh melakukan inisialisasi nilai pada sebuah array pada C: int a[5] = { 5, 10, 15, 20, 25 };

/* contoh di atas akan sama dengan */

(7)

a[0]=5; a[1]=10; a[2]=15; a[3]=20; a[4]=25;

Jika menggunakan inisialisasi seperti di atas, sebenarnya kita tidak perlu menetapkan panjang array. Compiler akan menghiung sendiri panjang array berdasarkan nilai inisialiasai. Perhatikan contoh berikut, didalam kurang kotak [] tidak ada angkanya: (Deitel and Deitel 2008)

int a[] = {5, 10, 15, 20, 25, 30, 35 }; /* Secara otomatis compiler akan tahu dan membuat deklarasi int a[7] */

Contoh:

#include <stdio.h>

int main(){

//Contoh deklarasi array tunggal

float nilai[5];

//Contoh deklarasi dan inisialisasi

char kode[5]={'a','b','c','d','e'}; char t;

int idx;

//mengambil isi item dengan index tertentu dari suatu aray

idx=kode[3];

//mengisi nilai item array menggunakan looping

for (idx=0; idx<5; idx++){

//menampilkan atau mengambil isi dari suatu array pada looping

(8)

A

RRAY

2

D

IMENSI

Struktur:

<tipedata> <arrayID>[<brs>][<klm>];

<tipedata> <arrayID>[<brs>][<klm>] =

{{<E11>, <E12>, ..., <E1klm>},

{<E21>, <E22>, ..., <E2klm>},

...

{<Ebrs1>, <Ebrs2>, ..., <Ebrsklm>}};

Contoh:

DEKLARASI DAN INISIALISASI:

int A[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int B[2][3] = {{1,2,3}, {4,5,6}};

PENGGUNAAN

(9)

Contoh:

//Menampilkan matrik B hanya untuk baris ke-1

for(i=0;i<3;i++){

printf("matrik_B[1][%d] %d \n", i,matrik_B[1][i]); }

//matrik_A diisi seperti matrik_B

(10)

FUNCTION/ FUNGSI

PENGERTIAN

Fungsi adalah suatu bagian program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya.

Ada dua jenis fungsi di dalam bahasa C

1. Fungsi yang mempunyai nilai kembalian

Seperti kita ketika menulis fungsi matematika y=f(x), kita mempunyai sebuah fungsi dengan nama x yang memproses x untuk menghasilkan suatu nilai yang isinya akan disimpan oleh y. Ketika dipanggil fungsi jenis ini akan memberikan suatu hasil kembalian.

2. Fungsi yang tidak mempunya nilai kembalian.

Sering disebut sebagai prosedur. Berisi urutan proses yang tidak memberikan suatu ouput yang dapat ditangkap oleh suatu variable.

Struktur umum:

Tipe_kembalian nama_fungsi ( argumen1, argumen2, ... ) {

statement – statement; return value;

}

Suatu fungsi yang memberikan hasil balik (return value) selain integer perlu dideklarasikan sebelum digunakan. Deklarasi fungsi ditulis sebelum fungsi tersebut digunakan. Akan tetapi sebaiknya setiap fungsi dideklarasikan terlebih dahulu.

Deklarasi Fungsi:

tipe nama_fungsi( argumen1, argumen2, ... ); // (Tanpa ada badan fungsi atau statement)

Jika suatu fungsi memberikan kembalian suatu nilai, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh statement return yang diikuti oleh nilai hasil baliknya yang ditulis tanda kurung. Contoh : return(F);

SIFAT - SIFAT DAN MANFAAT FUNGSI

1. Menghindari penulisan program yang berulang

2. Fungsi akan membagi program menjadi modul - modul yang lebih kecil (modular design) , sehingga jika terjadi kesalahan dalam program akan lebih mudah dilacak.

3. Setiap fungsi memiliki tingkatan yang sama dan berdiri sendiri. Dengan demikian fungsi - fungsi ini dapat dipanggil dari sembarang fungsi yang lain dengan mudah. Dalam C tidak diperkenankan sebuah fungsi ada dalam fungsi yang lain (nested function)

(11)

R

UANG

L

INGKUP

V

ARIABEL

Jenis-jenis variable berdasarkan ruang lingkup pengaksesannya adalah sebagai berikut: 1. Variabel local

variabel yang namanya dan nilainya hanya dikenal di suatu blok statement tertentu saja atau didalam suatu fungsi. Variabel ini tidak dapat diakses dari luar fungsi atau blok statement.

2. Variabel global

variabel yang dikenal di semua bagian dari program dan dapat diakses dari semua fungsi. 3. Variabel statik

variabel yang tidak berubah nilai akhirnya bila suatu proses telah keluar dari suatu blok ( fungsi ) yang mendeklarasikannya dan kemudian masuk kembali ke blok ( fungsi ) tersebut.

Contoh:

#include <stdio.h>

int a; //deklarasi variable global a float c; //deklarasi variable global c

float absolut(float angka);//deklarasi prototype fungsi

int main(){

char b; //variable lokal, hanya dikenali di function main()

}

void suatuFungsi(float angka){

float hasil;//variable lokal, hanya dikenali di function suatuFungsi()

char b;//variable lokal, hanya dikenali di function suatuFungsi()

return hasil ; }

P

ENGIRIMAN

P

ARAMETER

Ada dua cara pengiriman parameter ke sebuah fugnsi 1. Pengiriman parameter secara nilai (by value):.

- Yang dikirim adalah nilai dari datanya, bukan alamat memori letak datanya.

- Perubahan nilai di fungsi tidak akan merubah nilai asli di bagian program yang memanggil fungsi walaupun keduanya menggunakan nama variabel yang sama.

- Merupakan pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.

2. Pengiriman parameter secara acuan (by refference).

- Yang dikirim adalah alamat memori letak datanya, bukan nilai dari datanya.

(12)

- Merupakan pengiriman dua arah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil dan sebaliknya.

Contoh program :

#include <stdio.h >

double absolut (double X ); /* prototype fungsi Absolut */

main() //main function. Sudah tahu kan apa ini?

{

double nilai, hasil; nilai = -123.45; hasil=absolut(nilai);

//nilai kembalian dari fungsi absolut() diisikan ke hasil

printf("Nilai Mutlaknya adalah %.2lf \n",hasil);

//dapat pula langsung digunakan di printf

printf("Nilai Mutlaknya adalah %.2lf \n",absolut(nilai)); system("pause");

}

/* --- Fungsi untuk membuat nilai mutlak --- */

double absolut ( double X ) /* definisi fungsi */

Rekursif adalah suatu proses dari fungsi yang memanggil dirinya sendiri secara berulang – ulang.

(13)

return(fak); }

}

(14)

BIBLIOGRAPHY

Deitel, Paul, and Harvey Deitel. "C How To Program Sixth Edition." In C How To Program Sixth Edition, by Paul Deitel, & Harvey Deitel. Deitel, 2008.

Phisical - C Handbook. 2011. http://www-teaching.physics.ox.ac.uk/computing/handbook_c/handbook_C.html

Referensi

Dokumen terkait

Dalam mengevaluasi pentingnya variabel-variabel tersebut, manajemen harus mengetahui apakah variabel-variabel tersebut merupakan faktor strategis internal (strategic

Untuk menjawab rumusan masalah tentang Perbedaan faktor – faktor yang mempengaruhi produktifitas industri batu gamping di Desa Puger Kulon dan Desa Kasiyan Kecamatan

Rumah tangga merupakan salah satu tempat penggunaan produk produk industri, sehingga perlu dilakukan langkah langkah praktis untuk pencegahan terjadinya keracunan, disamping itu

Hampir semua wilayah pesisir di gorontalo utara memiliki topografi yang tidak rata atau bergelombang, dan akibatnya pengelolaan yang didarat yang menghilangkan daerah penyangga

Analisis tulang ikan (juga dikenal sebagai diagram sebab-akibat), merupakan alat analisis, antara lain untuk mengkategorikan berbagai sebab potensial dari suatu masalah dan

Manajemen harus berusaha untuk mengidentifikasi risiko yang dapat mempengaruhi keberhasilan perusahaan. Proses identifikasi resiko memerlukan pembelajaran

Jadi, seseorang dianggap cacat mental jika ditandai: 1) tidak berkemampuan secara social dan tidak mampu mengelola dirinya sendiri sampai tingkat usia dewasa, 2) mental

(3) Rencana tindak untuk Pelampauan BMPK sebagaimana dimaksud pada ayat (1) yang disebabkan karena hal-hal sebagaimana dimaksud dalam Pasal 11 huruf a dan huruf