Minggu, 10 November 2013

Metode Modeling 3D

ada beberapa metode yang digunakan untuk pemodelan 3D. Ada jenis metode pemodelan obyek yang disesuaikan dengan kebutuhannya seperti dengan nurbs dan polygon ataupun subdivision. 

Modeling polygon  

merupakan bentuk segitiga dan segiempat yang menentukan area dari permukaan sebuah karakter. setiap polygon menentukan sebuah bidang datar dengan meletakan sebuah jajaran polygon sehingga kita bisa menciptakan bentuk-bentuk permukaan. Utuk mendapatkan permukaan yang halus, dibutuhkan banyak bidang polygon,maka object yang didapat akan terbagi sejumlah pecahan polygon.

Modeling NURBS (Non-Uniform Rational Bezier Spline) 

merupakan metode paling populer untuk membangun sebuah model organik.Kurva pada Nurbs dapat dibentuk dengan hanya tiga titik saja. dibandingkan dengan kurva polygon yang membutuhkan banyak titik CV (Control Verteks) dapat mengendalikan satu area utnuk proses tekstur.




Sabtu, 09 November 2013

Motion Capture


Motion capturemotion tracking, atau mocap adalah terminologi yang digunakan untuk mendeskripsikan proses dari perekaman gerakan dan pengartian gerakan tersebut menjadi model digital. Ini digunakan di militer, hiburan, olahraga, aplikasi medis, dan untuk calidasi cisi computer dan robot. Di dalam pembuatan film, mocap berarti merekam aksi dari actor manusia dan menggunakan informasi tersebut untuk menganimasi karakter digital ke model animasi computer dua dimensi atau tiga dimensi. Ketika itu termasuk wajah dan jari-jari atau penangkapan ekspresi yang halus, kegiatan ini biasa dikatakan sebagai performance capture.

Dalam sesi motion capture, gerakan-gerakan dari satu atau lebih aktor diambil sampelnya berkali-kali per detik, meskipun dengan teknik-teknik kebanyakan( perkembangan terbaru dari Weta menggunakan gambar untuk motion capture dua dimensi dan proyek menjadi tiga dimensi), motion capture hanya merekam gerakan-gerakan dari aktor, bukan merekam penampilan visualnya. Data animasi ini dipetakan menjadi model tiga dimensi agar model tersebut menunjukkan aksi yang sama seperti aktor. Ini bisa dibandingkan dengan teknik yang lebih tua yaitu rotoscope, seperti film animasi The Lord of the Rings, dimana penampilan visual dari gerakan seorang aktor difilmkan, lalu film itu digunakan sebagai gerakan frame-per-frame dari karakter animasi yang digambar tangan.

Gerakan kamera juga dapat di-motion capture sehingga kamera virtual dalam sebuah skema dapat berjalan, miring, atau dikerek mengelilingi panggung dikendalikan oleh operator kamera ketika aktor sedang melakukan pertunjukan, dan sistem motion capture bisa mendapatkan kamera dan properti sebaik pertunjukan dari aktor tersebut. Hal ini membuat karakter komputer, gambar, dan set memiliki perspektif yang sama dengan gambar video dari kamera. Sebuah komputer memproses data dan tampilan dari gerakan aktor, memberikan posisi kamera yang diinginkan dalam terminology objek dalam set. Secara surut mendapatkan data gerakan kamera dari tampilan yang diambil biasa diketahui sebagai match moving atau camera tracking.

Keunggulan Motion Capture

Motion capture menawarkan beberapa keuntungan dibandingkan animasi komputer tradisional dari model tiga dimensi:
  • Lebih cepat, bahkan hasil secara real time bisa didapatkan. Dalam aplikasi hiburan, hal ini dapat mengurangi biaya dari animasi berbasis keyframe. Contohnya: Hand Over.
  • Jumlah kerja tidak berubah dengan kompleksitas atau panjang pertunjukan dalam tingkatan yang sama ketika menggunakan teknik tradisional. Hal ini membuat banyak tes diselesaikan dengan gaya dan penyampaian yang berbeda.
  • Gerakan kompleks dan interaksi fisik yang realistis seperti gerakan sekunder, berat, dan pertukaran tekanan dapat dengan mudah dibuat kembali dalam cara akurat secara fisik.
  • Jumlah data animasi yang bisa diproduksi dalam waktu yang diberikan sangatlah besar saat dibandingkan dengan teknik animasi tradisional. Hal ini berkontribusi dalam keefektifan biaya dan mencapai deadline produksi.
  • Potensi software gratis dan solusi dari pihak luar dapat mengurangi biaya yang dikeluarkan.
Kekurangan Motion Capture
  • Hardware yang spesifik dan program yang special dibutuhkan untuk mendapatkan dan memproses data.
  • Biaya software, perlengkapan, dan personel yang dibutuhkan dapat berpotensi menjadi penghalang bagi produksi-produksi kecil.
  • Sistem pengambilan gerakan mungkin memiliki kebutuhan yang spesifik untuk ruangan operasi, tergantung dari pandangan kamera atau distorsi magnetik.
  • Ketika masalah terjadi, lebih mudah untuk mengambil ulang skema daripada mencoba untuk memanipulasi data. Hanya beberapa sistem yang memungkinkan penampilan data yang real time untuk memilih apakah gambar yang diambil butuh diambil ulang.
  • Hasil yang penting itu terbatas untuk apa yang bisa ditunjukkan dalam volume pengambilan tanpa editing tambahan dari data tersebut.
  • Gerakan yang tidak mengikuti hokum fisika secara umum tidak bisa diambil.
  • Teknik animasi tradisional, seperti menambahkan tekanan dari antisipasi dan kelanjutannya, gerakan kedua atau memanipulasi bentuk dari karakter, seperti dengan melumatkan dan memperpanjang teknik animasi, harus ditambahkan nanti.
  • Jika model komputer memiliki proporsoi yang berbeda dari subjek yang diambil, artifak mungkin terjadi. Contohnya, jika seorang karakter kartun mempunyai tangan yang berukuran terlalu besar, hal ini dapat memotong badan karakter jika orang yang melakukaknnya tidak berhati-hati dengan gerakan fisiknya.
Metode dan Sistem

Penanda reflektif ditancapkan pada kulit untuk mengidentifikasi letak tulang dan gerakan tiga dimensi dari tubuh. Motion Capture dimulasi sebagai alat analisis photogrammetric dalam penelitian biomechanics pada tahun 1970-an dan 1980-an, serta meluas ke ranah edukasi, latihan, olahraga, dan baru saja ke ranah animasi komputer untuk televise, sinema, dan video games seiring dengan dewasanya teknologi ini. Seorang yang dipilih menggunakan penanda di dekat setiap sendi tulang untuk mengidentifikasi gerakan dari posisi atau sudut antar penanda tersebut.

Selasa, 16 April 2013

Web Science


A. Definisi Web Science

Web Science merupakan salah satu penjabaran dari dua arti yang berbeda, yaitu web dan science. Website atau situs diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink).
Science adalah segala sesuatu yang berhubungan dengan sumber ilmu pengetahuan yang memberikan manfaat bagi kehidupan manusia dan seluruh isinya. Dengan kata lain, science itu sendiri merupakan kumpulan ilmu pasti yang memberikan makna tersendiri bagi yang mempelajarinya.
Web Science dapat disimpulkan yaitu segala sesuatu yang berkaitan dengan ilmu pengetahuan yang diperoleh dari sumer yang akurat dan dapat di unduh dari dunia maya tanpa kita harus menuju ke sumber informasi yang ada di informasi yang ingin kita cari, sehingga memudahkan kita untuk memperoleh informasi.

B. Sejarah Web

Penemu situs web adalah Sir Timothy John ¨Tim¨ Berners-Lee, sedangkan situs web yang tersambung dengan jaringan pertamakali muncul pada tahun 1991. Maksud dari Tim ketika merancang situs web adalah untuk memudahkan tukar menukar dan memperbarui informasi pada sesama peneliti di tempat ia bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim bekerja) mengumumkan bahwa WWW dapat digunakan secara gratis oleh publik.
Sebuah situs web bisa berupa hasil kerja dari perorangan atau individu, atau menunjukkan kepemilikan dari suatu organisasi, perusahaan. biasanya pembahasan dalam sebuah situs web merujuk pada sebuah ataupun beberapa topik khusus, atau kepentingan tertentu. Sebuah situs web bisa berisi pranala yang menghubungkan ke situs web lain, demikian pula dengan situs web lainnya. Hal ini terkadang membuat perbedaan antara situs web yang dibuat oleh individu ataupun perseorangan dengan situs web yang dibuat oleh organisasi bisnis menjadi tidak begitu jelas.
Situs web biasanya ditempatkan pada server web. Sebuah server web umumnya telah dilengkapi dengan perangkat-perangkat lunak khusus untuk menangani pengaturan nama ranah, serta menangani layanan atas protokol HTTP yang disebut sebagai Server HTTP (bahasa Inggris: HTTP Server) seperti Apache HTTP Server, atau Internet Information Services (IIS).

Web 1.0
Web 1.0 merupakan teknologi awal dari website, dimana pembuat sebagai pemberi informasi dan pengguna hanya sebagai pembaca (seperti membaca koran lewat computer, aktifitasnya hanya searching saja). Bahasa yang digunakan pada web ini masih berupa HTML saja.

Web 2.0
Web 2.0 muncul sekitar tahun 2003 atau 2004, dimana para pengguna website-pun dapat berkomunikasi 2 arah dan memiliki berbagai kelebihan lainnya.

Kelebihan dari web ini adalah sebagai berikut :

  • The Web as Platform (Pengerjaan suatu aplikasi/tulisan dapat langsung dikerjakan di media internet tanpa harus mengerjakannya terlebih dahulu di windows desktop)
  • Harnessing Collective Intelligence (Web 2.0 memiliki kinerja untuk memanfaatkan tulisan orang lain untuk mengisi konten web secara kolektif (tidak hanya webmaster yang mengisi konten sendiri), contohnya seperti youtube)
  • Data is the Next Intel Inside (merupakan suatu garansi kepercayaan dari para pemberi data kepada pemilik website bahwa pada era web 2.0 data sangatlah penting dan harus di update setiap waktu)
  • End of the Software Release Cycle (pada web 2.0 aplikasi software dapat langsung digunakan lewat internet/internet menjadi platform menjalankan program)
  • Lightweight Programming Models (pembuatan web 2.0 menggunakan bahasa yang ringan dan mendukung pengembagan program)

Web 3.0
Web ini diperkirakan akan berkembang pada tahun 2010-2020 dan saat ini masih dalam tahap pengembangan. Karakteristik dari web 3.0 adalah :
  • Semantic Web (web dengan kemampuan membaca situs semudah manusia membacanya sehingga informasi dapat disajikan dengan cepat dan tepat)
  • The 3D Web (web dengan kemampuan visual 3D dan interaksi secara realtime)
  • The Media-Centric Web (Photo, audio, dan video akan menjadi cara lain untuk mencari informasi yang kita inginkan selain keyword)
  • The Pervasive Web (Web yang mudah diakses dengan berbagai cara dan alat berbeda kapan saja dan dimana saja)
C. Pertumbuhan Sosial dan Ekonomi

Dengan berkembangnya teknologi secara pesat juga berpengaruh pada pertumbuhan kehidupan sosial dan ekonomi. Adapun dampak yang ditimbulkan dari pesatnya perkembangan teknologi adalah sebagai berikut :

Efek Positif
  • Pertumbuhan ekonomi  yang semakin tinggi
  • Produktifitas dunia industri semakin meningkat
  • Terjadinya industrialisasi
  • Meningkatnya rasa percaya diri. Kemajuan ekonomi di negara-negara Asia melahirkan fenomena yang menarik. Perkembangan dan kemajuan ekonomi telah meningkatkan rasa percaya diri dan ketahanan diri sebagai suatu bangsa akan semakin kokoh. Bangsa-bangsa Barat tidak lagi dapat melecehkan bangsa-bangsa Asia.
Efek Negatif
  • Berkurangnya sosialisasi karena kurang proses tatap muka atau face to face karena pesatnya perkembangan alat komunikasi, hal ini dapat menyebabkan komunikasi menjadi hampa
  • Terjadinya pengangguran bagi tenaga kerja yang tidak mempunyai kualifikasi yang sesuai dengan yang dibutuhkan
  • Kemajuan TIK juga pasti akan semakin memperparah kesenjangan sosial yang terjadi di masyarakat antara orang kaya dan orang miskin
  • Adanya aksi tipu menipu dalam proses jual beli online yang dapat merugikan beberapa pihak

D. Web Science & Metodologi Web Science

Web Science merupakan kajian sains dari Web. Ketika Web telah bergerak ke ranah ilmu, maka pertanyaan mendasar adalah bagaimana keilmuan ini melakukan metodologi. Bagaimana peneliti atau engineer melakukan pendekatan terhadap Web untuk pemahaman dan relasinya dengan domain sosial secara luas dan inovasi apa yang dapat dilakukan.
Berbagai penelitian yang berlangsung saat ini melakukan pengembangan pada metodologi pemetaan (mapping) dan graph pada struktur Web dengan sampling sebagai kunci utamanya [Leung, 2001]. Sebagai contoh laporan riset [Fetterly, 2004] menyatakan bahwa 27% dari web di Jerman (.de) melakukan perubahan setiap minggu. Model lain adalah metodologi model analisis yang mengkombinasikan data empiris yang digunakan untuk melakukan determinasi probabilitas. Metodologi pada Web Science akan dipengaruhi oleh perekayasaan yang berlatar belakang industri maupun peneliti akademisi.

Sumber : 




Minggu, 27 Januari 2013

Array Pada C

Array (Larik) adalah kumpulan nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan elemen larik yang letak urutannya ditunjukkan oleh suatu subscript atau suatu index yang dimulai dengan index nol.
Larik dapat berdimensi satu (one dimensional array) yang mewakili suatu vektor, larik berdimensi dua (two dimensional array) mewakili bentuk suatu matrik atau tabel, larik berdimensi tiga (three dimensional array) mewakili suatu bentuk ruang atau berdimensi lebih dari tiga.
 
Array Dimensi 1
Suatu larik dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang dituliskan diantara tanda ‘[ ]’. 
Contoh :
                        Int X[5];

Contoh array berdimensi Satu :
#include
main()
{
    float X[3] = {5,3,7}, Total = 0;
    int I;
    for(I=0;I<=2;I++) Total = Total + X[I];
        printf(‘Total = %f \n”,Total);
}

Output :
Total = 15.000000

Array Dimensi 2
Pendeklarasian array dimensi dua :
       int X[3][4];  -->  berarti akan membentuk matrik dengan ukuran 3 baris X 4 kolom
       int X[2][3]={1,2,3,4,5,6} --> matrik 2X3
       atau array tidak berukuran seperti :
             int X[ ][4] ={1,2,3,4,5,6,7,8} --> matrik 2X4

Contoh array dimensi dua :
#include
#include
int main(){
    int I,J;
    float X[3][4] = { 12.34, 34.56, 56.78, 78.90, 23.45, 45.67, 67.89, 

                            89.01, 34.56, 56.78, 78.90, 90.12};
    for(I=0;I<3 br="">        for(J=0;J<3 br="">            printf("%8.2f", X[I][J]);
    printf("\n");
    }
printf("\n");
return 0;
}

Output Program :









Array String
Hubungan antara nilai array string dengan nilai larik karakter







Contoh 1 :
#include
#include
int main(){
    int I,J;
    float X[3][4] = { 12.34, 34.56, 56.78, 78.90, 23.45, 45.67, 67.89, 89.01, 34.56, 56.78, 78.90, 90.12};
    clrscr();
    for(I=0;I<3 br="">    for(J=0;J<3 br="">    printf("%8.2f", X[I][J]);
    printf("\n");
    }
printf("\n");
return 0;
}

Output Program :













 
Contoh 2 :
#include
#include
main(){
    int I,J;
    char Hari[7][10] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum’at", "Sabtu" };
    clrscr();
    for(I=0;I<7 br="">    {
        printf("%s\n", Hari[I]);
    }
    getch();
    return 0;
}

Output Program :















Kamis, 24 Januari 2013

Perulangan Pada C

a. Statement for
    Sintaks :
                  for ( inisialisasi; terminasi; iterasi ) statement;

    inisialisasi adalah pemberian nilai awal variable untuk perulangan, terminasi adalah pemberian nilai akhir atau batas perulangan, iterasi adalah perubahan variable kontrol (counter). 
Contoh Program :
#include
#include
int main()
{
   int a;
   clrscr();
   for( a = 1; a<=10; a++)
    printf("%d ",a);
   getch();
   return 0;
}


Output :















b. Statement While
    Sintaks :
                   while (kondisi ) statement;
    Statement dapat berupa statement kosong, statement tunggal maupun blok statement. Proses perulangan akan terus dilaksanakan jika kondisi dalam while masih bernilai benar.
Contoh Program :
#include
#include
int main()
{
    int a=1;
    clrscr();
    while(a<=10)
    {
        printf("%d ",a);
        a++;
    }
    getch();
    return 0;

Output Program :















c. Statement Do..While
    Sintaks :
                   do
                            statement
                   while ( kondisi )
    Sedikitnya statement akan diproses sebanyak 1 kali karena seleksi kondisi dilaksanakan diakhir statement.
Contoh Program :
#include
#include
int main()
{
    int a=1;
    clrscr();
    do
    {
        printf("%d ",a);
        a++;
    }
    while(a<=10);
    getch();
    return 0;
}  

Output Program :















d. Statement continue
Statement continue akan menyebabkan proses perulangan kembali ke awal perulangan dengan mengabaikan statement setelah statement continue.
Contoh Program :
#include
#include
int main()
{
    int a;
    clrscr();
    for( a = 1; a<=10; a++)
    {
        if (a==5) continue;
        printf("%d ",a);
    }
    getch();
    return 0;

Output Program :















e. Statement break
Statement break akan menyebabkan proses keluar dari blok looping atau blok statement pada case.
Contoh Program :
#include
#include
int main()
{
    int a;
    clrscr();
    for( a = 1; a<=10; a++)
    {
        if (a==5) break;
        printf("%d ",a);
    }
    getch();
    return 0;
}  


Output :












f. Statement goto label
   Digunakan untuk melompat dari satu proses ke proses tertentu didalam program.
   Sintaks :
                    goto label;
   Proses lain yang ditunjuk sebagai lompatan akan ditulis
                    label :

Percabangan Pada C

1. Statement If
 
a. Bentuk If tunggal sederhana
    Sintaks :
                      if ( kondisi ) statement ;
    Bentuk ini menunjukkan jika kondisi bernilai benar, maka statement yang mngikutinya akan dieksekusi Jika tidak maka statement selanjutnya yang akan diproses. 
 
b. Bentuk If tunggal blok statement
    Sintaks :
                      if ( kondisi ) {
                          blok statement;
                          } 
    Perbedaan dengan bentuk sebelumnya statement yang akan dilaksanakan ada dalam satu blok kurung kurawal. 
 
c. Bentuk If..Else
    sintaks :
                     if ( kondisi )
                         statement1;
                     else
                         statement2;
 
Statement setelah kondisi atau statement sesudah else dapat berupa statement kosong, statement tunggal maupun blok statement. statement1 akan dijalankan jika kondisi benar, jika salah maka statement2 yang akan diproses. 
Contoh Program :
//Program menentukan ganjil atau genap
#include
int main()
{
  int Bilangan;
  char Lagi;
    printf("Mencari Bilangan Ganjil atau Genap\n\n");
    printf("Input Bilangan : ");
    scanf("%d", &Bilangan);
    if(Bilangan %2 == 1)
        printf("\n\nIni Bilangan Ganjil");
    else
        printf("\n\nIni Bilangan Genap");
    return 0; 
 
Output :     Mencari Bilangan Ganjil atau Genap
                 Input Bilangan : 15
                 Ini Bilangan Ganjil

d. Bentuk If..else if…else
    Sintaks :
                       if ( kondisi 1)
                           statement1;
                       else if ( kondisi 2 )
                           statement2;
                       else if ( kondisi 3)
                           statement3;
                           .
                       else
                           statement default;
Proses akan mulai dari penyeleksian kondisi 1, jika benar maka statement yang mengikutinya akan dieksekusi, jika salah maka akan masuk proses seleksi kondisi 2, begitu seterusnya. Jika semua kondisi tidak ada yang terpenuhi, maka program akan menjalankan statement default.
Contoh Program :
#include
int main()
{
    int Nilai; char Mutu;
    printf("Mencari Mutu Nilai\n\n");
    printf("Input Nilai Mahasiswa : ");
    scanf("%d", &Nilai);
    if (Nilai<50 font="" mutu="E">
    else if(Nilai<65 font="" mutu="D">
    else if(Nilai<75 font="" mutu="C" nbsp="">
    else if (Nilai<85 font="" mutu="B">
    else Mutu = 'A';
    printf("\n\nNilai Mahasiswa yang diinput = %d", Nilai);
    printf("\nMutu Nilai = %c", Mutu);
return 0; 

Output :    Mencari Mutu Nilai
                Input Nilai Mahasiswa : 78
                Nilai Mahasiswa yang diinput = 78
                Mutu Nilai = B

e. Bentuk If bersarang ( nested if )
    Sintaks :
                     if ( kondisi 1)
                          if ( kondisi 2)
                              .
                              .
                              if (kondisi n)
                                 statement;
                             else
                                 statement;
                               .
                               .
                             else
                                 statement
                           else statement;
Kondisi yang akan diseleksi pertama kali adalah kondisi yang paling luar (kondisi 1). Jika bernilai tidak benar maka statement setelah else yang terluar ( pasangan dari if yang bersangkutan ) yang akan diproses.

f. Bentuk If dengan kondisi berupa variable
   Contoh :
                    if ( D == 0 )
                        printf (“Nilai D sama dengan Nol \n”);
                   else
                        printf (“Nilai D tidak sama dengan Nol \n”);

g. Bentuk If dengan kondisi Jamak
    Beberapa kondisi dapat diseleksi sekaligus dalam statement if dengan menggunakan operator
    logika AND ( && ), OR ( || ), atau NOT ( ! )

h. Operator ?
    Dapat digunakan untuk menggantikan statement if..else..
    sintaks :
                    ( kondisi ) ? statement1 : statement2;
    jika benar statement1 akan diproses, jika salah statement2 yang akan diproses.
 
2. Statement Switch 
 
a. Statement Switch tunggal
    Sintaks :
                   switch ( kondisi ) {
                   case konstanta1 :
                           statement-statement;
                           break;
                   case konstanta2 :
                           statement-statement;
                           break;
                     .
                     .
                   default :
                           statement-statement;
                    } 
 
Contoh Program :
 
//Program dengan switch Case
#include
int main(){
int Pilih;
printf("----MENU BUAH----\n");
printf("\n1. APEL");
printf("\n2. MANGGA");
printf("\n3. JERUK");
printf("\n4. KELUAR");
printf("\n\nPilihan Anda [1-4] : ");
scanf("%d",&Pilih);
switch(Pilih){
   case 1 : printf("\n\nANDA PILIH APEL"); break;
   case 2 : printf("\n\nANDA PILIH MANGGA"); break;
   case 3 : printf("\n\nANDA PILIH JERUK"); break;
   case 4 : exit(0);
   default : printf("\n\nANDA SALAH INPUT...");
}
return 0; 
 
b. Statement nested switch 
    Yaitu statement switch yang berada didalam switch lainnya 
    Sintaks : 
                      switch ( kondisi ) {
                      case konstanta 1 :
                              statement-statement ;
                              switch ( kondisi x ) {
                              case konstanta 1a :
                                      statement-statement ;
                                      break;
                              case konstanta 1b :
                                      statement-statement ;
                                      break;
                              }
                              break;
                       case konstanta 2 :
                               statement-statement;
                               break;
                        } 

Senin, 03 Desember 2012

Input Dan Output Pada C

MEMASUKAN DATA

Fungsi-fungsi yang digunakan
Fungsi-fungsi pustaka yang digunakan untuk memasukkan data melalui keyboard, prototypenya ada di file judul stdio.h dan conio.h . Fungsi-fungsi yang menggunakan file judul stdio.h yaitu gets() dan scanf(). Sedangkan fungsi yang menggunakan file judul conio.h, yaitu getche(), getchar(), dan getch().
Untuk memasukkan nilai karakter tidak terformat digunakan getchar() getch(),dan getche(), tergantung dari karakteristik masing-masing.

getchar() Sintak: : int getchar(void):
Fungsi :
  • mengembalikan sebuah karakter (nilai ASCII) berikutnya dari buffer keyboard.
  • Karakter ditampilkan di layar monitor
  • Menunggu sampai ada ENTER
  • Header file ada di stdio.h
getch() Sintak: int getch(void):
Fungsi :
  • mengembalikan satu karakter dari buffer keyboard
  • karakter tidak ditampilkan di layar monitor (no echo)
  • Tidak menunggu sampai ada ENTER
  • Cocok untuk membuat password
  • Header file ada di conio.h
getche() Sintak : int getche(void)
Fungsi :
  • mengembalikan satu karakter dari keyboard
  • Karakter ditampilkan di layar (echo)
  • Tidak menunggu sampai ada ENTER
  • Header file ada di conio.h
gets() Sintak : char *gets(char *buffer)
Fungsi:   
  • membaca string dari keyboard sampai ketemu new-line dan disimpan pada buffer.
  • Kemudian new-line di replace dengan null character
  • Mengembalikan nilai NULL jika ada error dan mengembalikan argument-nya (buffer) jika
    sukses.
Untuk meg-input nilai data terformat digunakan perintah scanf(), Spesifikai format adalah : ”% type” dimana type bisa diganti dengan salah satu dari sebagai berikut :
Fungsi scanf mengembalikan tipe integer, dimana nilai nya menyatakan jumlah field yang sukses di assigned.
Contoh:
     int x,y,z,w;
     x=scanf("%d %d %d",&y,&z,&w);
maka :
  • Jika di input dari keyboard 3 buah nilai interger 6 7 8, maka nilai x = 3;
  • Jika di input dari keyboard 4 buah nilai interger 6 7 8 9 maka nilai x = 3 (karena 3 nilai yg sukses diassigned masing-masing ke variabel y, z dan w)
Karakter Space, tab, linefeed, carriage-return, formfeed, vertical-tab, dan newline disebut ”white-space characters” . Contoh :
        char ss[40];
        scanf(”%s”,ss);
Pada potongan program diatas, jika dimasukkan string ”Selamat Pagi Pak” dari keyboard maka yg dimasukkan ke variabel ss hanya “Selamat” saja.
Untuk mengambil string yang diakhiri karakter tertentu (misalnya ENTER), dengan scanf, menggunakan format
[^\n]. Menjadi :
        char ss[40];
        scanf(”%[^\n]”,ss);

MENAMPILKAN HASIL

Fungsi-fungsi umum yang digunakan
Prototype dari fungsi-fungsi untuk menampilkan hasil terdapat pada file judul stdio.h bersifat standar
yaitu putchar(), puts(), printf(), fprintf() dan conio.h bersifat tidak standar, dalam arti tidak semua kompiler C menyediakan yaitu clrscr(), gotoxy().
Untuk menampilkan hasil tidak terformat digunakan putchar() untuk menampilkan karakter tidak
terformat dan puts() untuk menampilkan string tidak terformat. Maksudnya tidak terformat adalah lebar dan bentuk tampilannya tidak dapat diatur.
Sedangkan untuk hasil terformat digunakan perintah printf dengan spesifikai format sbb: %[flags][width] [.precision] type;
width : menentukan jumlah kolom yang disediakan
precision : menentukan jumlah angka dibelakang koma (untuk bilangan pecahan)
flags dapat diganti sbb:
none : right justify (rata kanan)
-  : left justify (rata kiri)
+ : untuk bilangan dimulai dengan tanda – jika negatip atau + jika positip

contoh program :

putchar( ) Sintak: int putchar(int c)
Fungsi :
  • Menampilkan karakter ke layar monitor pada cursor, kemudian setelah ditampilkan cursor bergerak ke posisi berikutnya.
  • Mengembalikan EOF jika error, dan mengembalikan karakter yang ditampilkan jika sukses
  • Putchar adalah macro yang sama artinya dengan: putc(c, stdout )
  • Header File : stdio.h
putch( ) Sintak : int putch(int ch)
Fungsi :
  • menampilkan karakter ascii di ch di monitor tanpa memindahkan kursor ke posisi berikutnya
  • Header file : conio.h
  • Mengembalikan EOF jika error, dan mengembalikan karakter yang di tampilkan jika sukses.
puts( ) Sintak : int puts(const char *str);
Fungsi:
  • Menampilkan string str ke layar monitor dan memindahkan kursor ke baris baru.
  • Header file: stdio.h
  • Mengembalikan nilai non-negative jika sukses dan EOF jika ada error.
CONTOH :
       puts(”Selamat Datang”);
       puts(”Di GUNDAR”);
Tampilan di layar monitor:
       Selamat Datang
       Di GUNDAR
Penempatan kursor
  • Layar dapat dihapus dengan menggunakan fungsi: clrscr();
  • Kursor dapat dipindahkan ke posisi manapun di dalam layar monitor dengan menggunakan fungsi : gotoxy(col,row); dimana col = kolom dan row = baris
  • Sebagian dari baris, mulai posisi kursor hingga akhir baris (end of line), dapat dihapus dengan fungsi: clreol();
  • Function prototype untuk fungsi gotoxy(), clrscr(), clreol() pada bahasa C terdapat pada header file :