-->
BERITIPS
royganteng
HOMEWEB DEVELOPMENTBLOGGERGOOGLE ADSENSEINTERNETMACBOOKIPHONE
Monday, September 7, 2015

Input dan Output berdasarkan Tipe Data dalam Pemrograman Bahasa C

Jika sebelumnya kita pernah membahas sedikit mengenai Tipe data.
Mungkin masih ada yang belum tau apa kegunaan Control String dari masing masing tipe data tersebut, dan bagaimana cara menggunakannya untuk Input dan Output.

int 

Pertama kita mulai dari integer.
Code:
#include <stdio.h>

int main()
{
    int Angka_Favorit;

    printf("Masukkan Angka yang anda Sukai: ");
    scanf("%d", &Angka_Favorit);

    printf("Angka yang anda Sukai: %d\n", Angka_Favorit);

    return 0;
}
Perhatikan pada bagian fungsi scanf();
    scanf("%d", &Angka_Favorit);
kita sudah tau bahwa variabel Angka_Favorit tersebut bertipe int (integer)
maka untuk control string, kita gunakan %d atau bisa juga %i.

ingat, untuk fungsi scanf() kita menggunakan simbol & didepan nama variabel.
ini berarti seolah olah saat kita menginputkan suatu nilai berupa apa saja (tergantung control string) maka nilai tersebut akan di masukkan ke dalam alamat suatu variabel.
nb: Saat belajar pointer nanti, anda akan tau bahwa &variabel berfungsi untuk menampilkan alamat variabel tersebut.
    printf("Angka yang anda Sukai: %d\n", Angka_Favorit);
Lalu, pada bagian fungsi printf() tentu saja kita tidak menggunakan & sebab kita ingin menampilkan Nilai dari variabel tersebut.
nb: \n digunakan untuk new line
      \t digunakan untuk tab

Bagaimana jika kita mempunyai dua buah variabel yang ingin ditampilkan bersamaan Tentu boros jika kita menggunakan fungsi printf() dua kali.
Maka caranya begini.

Code:
#include <stdio.h>

int main()
{
    int Tanggal, Bulan, Tahun;

    printf("Masukkan Tanggal Lahir anda: ");
    scanf("%d", &Tanggal);
    printf("Masukkan Bulan Lahir anda: ");
    scanf("%d", &Bulan);
    printf("Masukkan Tahun Lahir anda: ");
    scanf("%d", &Tahun);

    printf("Tanggal Lahir Anda : %d - %d - %d\n", Tanggal, Bulan, Tahun);

    return 0;
}

    printf("Tanggal Lahir Anda : %d - %d - %d\n", Tanggal, Bulan, Tahun);
Pada baris diatas, ditunjukkan
%d pertama untuk menampilkan nilai variabel Tanggal
%d Kedua untuk menampilkan nilai variabel Bulan
%d Ketiga untuk menampilkan nilai variabel Tahun

float

Jika di tipe data int, kita menggunakan %d/ %i maka sesuai namanya "FLOAT" kita menggunakan %f untuk Control String
Code:
#include <stdio.h>

int main()
{
    float a, b, hasil;

    printf("Masukkan sembarang angka berkoma (2 kali)\n");
    scanf("%f %f", &a, &b);
    hasil = a + b;

    printf("Hasil dari Penjumlahan antara %.2f dan %.2f adalah %.2f\n", a, b, hasil);

    return 0;
}
    scanf("%f %f", &a, &b);
Mungkin sedikit berbeda dengan contoh pada bagian int tadi
1. untuk integer kita menggunakan %d/ %i, untuk tipe data float kita menggunakan %f
2. Nah mungkin sedikit agak ditekankan.
Kenapa %f nya ada 2 ?
dalam bahasa C kita bisa melakukan input 2 kali dalam 1 baris, tentunya diakhiri dengan enter.
Jadi saat kita input trus kita enter, itu berarti kita selesai memasukkan nilai pertama, dst.

sama seperti saat kita menampilkan, kita bisa menampilkan 3 nilai dari variabel sekaligus, dalam input juga begitu, kita bisa input 2 nilai sekaligus, bisa juga lebih.
    scanf("%f %f", &a, &b);
Baris diatas sama saja seperti:
    scanf("%f", &a);
    scanf("%f", &b);
Dari pada repot buat 2 baris, mending kita gabung aja jadi 1 :v

    printf("Hasil dari Penjumlahan antara %.2f dan %.2f adalah %.2f\n", a, b, hasil);
Loh kok %.2f ? kenapa tidak %f ?
Karna ini bilangan berkoma, tentu gk enak kalo kita liat 4.6000000 :v
maka di Bahasa C, kita dapat mengatur untuk menampilkan berapa angka sebelum koma (sebelah kanan).
%.2f = menampilkan 2 angka belakang koma
%.3f = menampilkan 3 angka belakang koma, dst.


char

char ? tentu saja character / huruf. Control String = %c
Code:
#include <stdio.h>

int main()
{
    char HurufDepan;
    printf("Huruf depan dari Nama Anda : ");
    scanf("%c", &HurufDepan);

    printf("Huruf Depan : %c\n", HurufDepan);

    return 0;
}
Sepertinya setelah melihat beberapa contoh diatas, saya tidak perlu lagi menjelaskan maksud dari kode tersebut, karna anda pasti sudah memahaminya.
Jika char hanya untuk satu huruf, lalu bagaimana jika kita menginputkan nama ?
Coba saat disuruh input tadi anda masukkan nama anda apa yg keluar ?

Gimana caranya biar kita bisa masukkin Nama ?
Karna bahasa C tidak mempunyai tipe data string, maka kita gunakan array of char
Array of char, apa itu ?
Jika materi mengenai Array masih cukup jauh dari pembahasan.
NB: Array = sekumpulan data yang bertipe sama.

Jadi untuk string ini, berarti kita membuat suatu variabel yang dapat menyimpan kumpulan huruf. Itulah kenapa dinamakan array of char
Menggunakan control string = %s

Code:
#include <stdio.h>

int main()
{
    char nama[50]; // kita anggap bahwa nama akan berisi sekitar 0 ~ 50 huruf
    printf("Masukkan Nama Anda: ");
    scanf("%[^\n]s", &nama);

    printf("Nama Anda: %s\n", nama);

    return 0;
}
    scanf("%[^\n]s", &nama);
Apa maksud kode diatas ?

Begini, jika kita hanya menggunakan control string %s, fungsi scanf() akan otomatis membaca bahwa sebuah SPASI itu bernilai NULL.
Jadi kalo misalnya ente buat kalimat trus ada spasinya, yang dia masukkin hanya Kata pertama.. Kenapa ? karna setelah kata pertama ada spasi, fungsi scanf() otomatis baca kalo itu akhir.

tetapi dengan %[^\n]s
fungsi scanf() dapat terus membaca, seberapa panjang kalimat itu, dan seberapa banyak spasi tersebut. Sebab dia akan berakhir saat kita pencet Enter.

kenapa gak pake fungsi gets() untuk input ?
berdasarkan pengalaman saya sendiri, kadang terjadi buffer overflow saat kita menggunakannya, artinya fungsi gets() tersebut kadang terlewatkan, seperti gk kebaca gitu.

Untuk nampilinnya ?
ya pakek %s aja :)

Terima Kasih telah membaca.
Ada baiknya jika anda mencoba kodenya :)
BAGIKAN:

Google +1

Blogging, Tips, Trik, Free Software
 
Copyright © 2015 - 2016. Beritips