Tampilkan postingan dengan label Metode Komputasi Geofisika. Tampilkan semua postingan
Tampilkan postingan dengan label Metode Komputasi Geofisika. Tampilkan semua postingan

OPERASI INPUT OUTPUT

Diposting oleh Selamat datang di blog on Rabu, 25 Juli 2012

Di ANSI C, operasi input dan output dilakukan dengan menggunakan fungsi-fungsi yang ada di header file stdio.h. contohnya untuk input dan output ke layer monitor digunakan perintah seperti printf, scanf, putch, dan sebagainya.

Untuk input dan output ke file digunakan perintah seperti fread, fwrite, fputc, dan sebagainya.

C++ mempunyai teknik input dan output yang baru, yaitu menggunakan stream. Header file untuk input dan output stream adalah iostream.h dan beberapa file lain, seperti strstrea.h, fstream.h, dan constrea.h.

Stream adalah suatu logika device (peralatan logika) yang menghasilkan dan menerima informasi atau suatu wadah yang digunakan untuk menampung keluaran dan menampung aliran data. Stream adalah nama umum untuk menampung aliran data (contoh : file, keyboard, mouse), maupun untuk keluaran (contoh : layer, printer).

Dalam C++ input berarti membaca dari stream dan output berarti menulis ke stream.

Bentuk Umum Output operator :

Cout << ekspresi ;

Bentuk umum Input operator :

Cin >> variable ;

Dalam C++, menggunakan escape sequences untuk merepresentasikan suatu karakter yang tidak terdapat dalam tradisional symbol. Beberapa diantaranya :

\ n : linefeed / baris baru

\ b : back space

\ “ : petik ganda

· Memasukkan Data

Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa fungsi pustaka yang telah tersedia. Beberapa fungsi pustaka yang bisa digunakan adalah :
scanf()

  • Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat.
  • Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :
    1. Fungsi scanf() memakai penentu format
    2. Fungsi scanf() memberi pergantian baris secara otomatis
    3. Fungsi scanf() tidak memerlukan penentu lebar field
    4. Variabelnya harus menggunakan operator alamat &

Kode penentu format :

  • %c : Membaca sebuah karakter
  • %s : Membaca sebuah string
  • %i, %d : Membaca sebuah bilangan bulat (integer)
  • %f, %e : Membaca sebuah bilangan pecahan (real)
  • %o : membaca sebuah bilangan octal
  • %x : Membaca sebuah bilangan heksadesimal
  • %u : Membaca sebuah bilangan tak bertanda

Contoh Program :
/* Program memasukan inputan dengan beberapa tipe data */
#include
#include
void main()
{
int jumlah;
char huruf, nim[10];
float nilai;
clrscr();
printf(“Masukkan sebuah bilangan bulat : “);
scanf(“%d”, &jumlah ); /* membaca sebuah bilangan bulat */
printf(“Masukkan sebuah karakter : “);
scanf(“%c”, &huruf ); /* membaca sebuah karakter */
printf(“Masukkan nim Anda : “);
scanf(“%s”, &nim ); /* membaca sebuah string */
printf(“Masukkan sebuah bilangan pecahan : “);
scanf(“%f”, &nilai ); /* membaca sebuah bilangan float */
printf(“\nNilai variable yang Anda masukkan adalah :\n”);
printf(“jumlah = %d\n”, jumlah );
printf(“huruf = %c\n”, huruf );
printf(“nim = %s\n”, nim );
printf(“nilai = %f\n”, nilai );
getch();
}

gets()

  • Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik.
  • Harus diakhiri dengan penekanan tombol enter.
  • Cursor secara otomatis akan pindah baris.
  • Tidak memerlukan penentu format.

Contoh Program :
/* Program inputan tipe data karakter/string */
#include “stdio.h”
#include “conio.h”
void main()
{
char nama[20];
clrscr();
printf(“Masukkan nama Anda : “);
gets(nama);
printf(“Hello, Nama Anda adalah %s”, nama);
getch();
}

getchar()

  • Fungsi getchar() digunakan untuk membaca data yang bertipe karakter.
  • Harus diakhiri dengan penekanan tombol enter.
  • Karakter yang dimasukkan terlihat pada layar.
  • Pergantian baris secara otomatis.

getch() dan getche()

  • Fungsi getch() dan getche() digunakan untuk membaca data karakter.
  • Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.
  • Tidak memberikan efek pergantian baris secara otomatis.
  • Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada layer sehingga sering digunakan untuk meminta inputan berupa password.
  • Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar.

Contoh Program :
#include “stdio.h”
#include “conio.h”
void main()
{
char huruf1, huruf2;
printf(“Masukkan sebuah karakter : “);
huruf1 = getche(); // karakter yang dimasukkan akan terlihat di layar
printf(“\nKarakter yang Anda masukkan adalah %c\n”, huruf1);
printf(“\nMasukkan sebuah karakter lagi : “);
huruf2 = getch(); // karakter yang dimasukkan tidak terlihat di layar
printf(“\nKarakter yang Anda masukkan adalah : %c, huruf2);
getch();
}

CATATAN :
Jika terdapat beberapa proses input (memasukkan data) sekaligus, maka sebaiknya ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi fflush(stdin) berfungsi menghapus buffer di dalam alat I/O.

· Menampilkan Data

Menampilkan data ke layer monitor

1. Menggunakan fungsi printf(), puts(), dan putchar().

2. Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter).

3. Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhiri dengan perpindahan baris.

4. Fungsi putchar() digunakan untuk menampilkan sebuah karakter.

Mengatur tampilan bilangan pecahan (float).
Bentuk umum :
printf(“%m.nf”, argument);

a. m : menyatakan panjang range.

b. n : menyatakan jumlah digit di belakang koma.

c. argument : nilai atau variable yang akan ditampilkan.

Contoh :
printf(“%5.2f”, nilai);
artinya variable nilai akan ditampilkan sebanyak 5 digit dengan 2 digit di belakang koma.

Contoh Program 1;
/* Program untuk menampilkan data berupa bilangan pecahan */
#include “stdio.h”
#include “conio.h”
void main()
{
float nilai;
clrscr();
puts(“Masukkan nilai Anda : ); scanf(“%f”, &nilai);
printf(“Anda memperoleh nilai %5.2f”, nilai);
printf(“Apakah Anda telah puas mendapat nilai %6.4f ?”, nilai);
getch();
}

Menampilkan data ke printer

· Untuk menampilkan data ke printer dapat menggunakan fungsi fprintf(), fputs() dan fputc().

· Fungsi fprintf() digunakan untuk mencetak semua jenis tipe data ke printer dan secara otomatis memberikan efek erpindahan baris.

· Fungsi fputs() digunakan untuk mencetak tipe data string ke printer.

· Fungsi fputc() digunakan untuk mencetak tipe data karakter ke printer.

Contoh program :
#include “stdio.h”
#include “conio.h”
void main()
{
fprintf(stdprn, “Hallo, Saya akan tercetak di printer”);
fputs(stdprn, “Saya juga akan tercetak di printer”);
}

More about → OPERASI INPUT OUTPUT

BAHASA C

Diposting oleh Selamat datang di blog on Senin, 23 Januari 2012


Bahasa pemrograman berkembang sangat pesat dewasa ini. Hal ini terbukti dari semakin banyaknya bahasa pemrograman hadir seiring perkembangan teknologi informasi. Bahasa pemrograman dibuat dengan tujuan membantu manusia dalam membuat program menggunakan editor tertentu. Untuk dapat dijalankan di komputer tertentu, kode program harus dikomplikasi atau diinterpretasi terlebih dahulu. Kini bahasa pemrograman tidak hanya dibuat untuk satu platform saja, melainkan bisa antar platform, yaitu platform desktop, web dan mobile. Bahkan kini bahasa pemrograman juga dapat dijalakan pada mesin komputer dan sistem operasi yang berbeda (Rahmat, 2010).
Sebelum melangkah lebih jauh, perlu diketahui terlebih dahulu sejarah perkembangan bahasa pemrograman ditinjau dari generasinya:
1.      Bahasa Pemrograman Generasi Kesatu (Bahasa Mesin)
Bahasa pemrograman generasi kesatu merupakan bahasa pemrograman yang sangat dasar dan kuno. Kini bahasa pemrograman ini sudah hampir tidak lagi digunakan oleh para programmer karena sangat sulit untuk menggunakannya. Bahasa generasi pertama ini sering disebut dengan istilah bahasa mesin (machine code) yang berarti bahasa biner: kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer berarsitektur tertentu. Kumpulan kode dalam bahasa mesin itu dapat digabungkan, disebut sebagai microcode.
Kelebihan : Eksekusi cepat
Kelemahan : Sulit dipelajari manusia
2.      Bahasa Pemrograman Generasi Kedua (Bahasa Assembly)
Bahasa pemrograman generasi kedua ini juga sudah mulai ditinggalkan oleh para programmer yang tidak langsung berhubungan dengan perangkat keras. Bahasa pemrograman ini dikenal dengan istilah bahasa assembly (assembly language) dan banyak digunakan pada pemrograman perangkat keras seperti robotika. Pada dasarnya bahasa ini merupakan bahasa mesin yang disimbolkan dengan bahasa Inggris sederhana sehingga memudahkan programmer. Beberapa operator, misalnya MUL untuk perkalian, SUB untuk perkurangan, ADD untuk penjumlahan, DIV untuk pembagian, dan lain – lain. Dengan menggunakan bahasa ini, programmer dapat membuat standar yang cukup baku untuk arsitektur komputer yang beraneka ragam sehingga dapat dibuat instruksi-instruksi bahasa assembly yang generik untuk semua arsitektur komputer.
Kelebihan : Eksekusi cepat, lebih mudah dipelajari dibanding bahasa mesin, file kecil.
Kelemahan : Sulit dipelajari, program sangat panjang.
3.      Bahasa Pemrograman Generasi Ketiga
Bahasa pemrograman generasi ketiga sampai saat ini masih sering digunakan oleh para programmer untuk membuat berbagai aplikasi aras tinggi maupun rendah. Bahasa pemrograman ini dibuat dengan maksud untuk mengatasi kelemahan bahasa assembly, sehingga ditulis dengan bahasa yang dapat dimengerti oleh manusia, yaitu bahasa Inggris. Pada bahasa pemrograman generasi ini mulai dikenal istilah sintaks (syntax). Bahasa pemrograman ini menyediakan banyak kemudahan dalam pembuatan program, seperti variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur, dan lain-lain. Contoh bahasa pemrograman generasi ketiga ini adalah C, Basic, Fortan, dan Pascal.
Kelebihan : Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek.
Kelemahan : Eksekusi lambat.
4.      Bahasa Pemrograman Generasi Keempat
Bahasa pemrograman generasi keempat dibuat untuk menyelesaikan berbagai persoalan pemrograman yang kompleks dan spesifik. Bahasa pemrograman ini dikenal sebagai specific problem oriented. Bahasa pemrograman generasi ini ada yang bersifat visual, memiliki tool builder yang canggih, dapat berkomunikasi dengan peralatan lain yang spesifik, misalnya basis data. Contoh bahasa pemrograman generasi ini adalah SQL, HTML, Visual Basic, Delphi dan Fox Pro.
Ada beberapa jenis bahasa pemrograman generasi keempat ini, yaitu:
a.       Report Generators, yaitu bahasa pemrograman yang dipakai untuk membuat laporan tercetak atau dalam bentuk kode HTML maupun file PDF, dengan format yang dapat diatur sesuai kebutuhan. Contoh : Oracle Reports dan Crystal Reports.
b.      Forms Generators, yaitu bahasa yang dipakai untuk membuat antarmuka (form) yang dipakai untuk komunikasi antara manusia dan komputer. Bahasa pemrograman ini sering disebut bahasa pemrograman antar muka (GUI Creator). Contoh : Visual Basic, Form Builder, Visual Foxpro, Borland Delphi dan Visual Studio.NET.
c.       Computer Aided Software Engineering (CASE), yaitu bahasa yang dibuat dengan mendefenisikan suatu spesifikasi di atas layar (semacam diagram) dan menspesifikasikan suatu proses tertentu. Contoh : Relational Rose, Oracle Designer, Poseidon dan sebagainya.
d.      Database Query Language, yaitu bahasa yang dipakai untuk berkomunikasi dengan mesin database, yang berupa pendefenisian data (DDL), manipulasi data (DML), kontrol data (DCL), dan sebagainya. Contoh : SQL, Oracle SQL*Plus, Progress 4GL dan sebagainya.
Kelebihan : Berorientasi pada masalah secara langsung.
Kelemahan : Sangat spesifik sehingga hanya bisa berfungsi untuk suatu hal tertentu saja.
5.      Bahasa Pemrograman Generasi Kelima
Bahasa pemrograman ini berbasis pada pemecahan masalah dengan batasan-batasan (constraints) yang diberikan pada sebuah program, tidak menggunakan algoritma tertentu. Bahasa pemrograman ini dipakai agar komputer dapat menyelesaikan suatu masalah berdasarkan constraint yang diberikan. Pemrograman cukup mendefenisikan masalah yang akan diselesaikan beserta kondisinya tanpa perlu memikirkan cara mengimplementasikan program atau algoritma pemecahannya. Bahasa program ini pada umunya digunakan pada penelitian kecerdasan buatan. Pada tahun 1990 bahasa pemrograman generasi kelima ini diprediksi akan menjadi bahasa pemrograman masa depan, bahkan ada yang memprediksi bahwa bahasa pemrograman ini akan menyingkirkan bahasa-bahasa pemrograman lain, terutama untuk pengembangan sistem, kecuali bahasa pemrograman aras rendah. Contoh : Prolog, OPSS, dan sebagainya.
Kelebihan : Sangat sesuai untuk pemecahan masalah sistem cerdas.
Kekurangan : Membutuhkan pengetahuan lebih untuk membuat program dengan bahasa level ini (Rahmat, 2010).
Bahasa C merupakan bahasa pemrograman tingkat menengah. Pada tahun 1972 bahasa C pertama kali dirancang oleh Dennis M. Ritchie di Bell Laboratories. Pada tahun 1978 Dennis dan Brian W. Kernighan mempublikasikan bahasa C melalui The C Programming Language sehingga bahasa C dikenal banyak orang. Pada tahun 1989 akhirnya bahasa C distandarisasi ANSI (American National Standard Institute) sehingga menjadi bahasa pemrograman standar hingga saat ini. Kompilernya dapat dibuat pada beberapa platform berbeda (Rahmat, 2010).
Bahasa C disebut sebagai bahasa pemrograman terstruktur, fungsional karena strukturnya menggunakan fungsi–fungsi sebagai program bagian (subroutine/module). Fungsi selain fungsi utama disebut subroutine/module dan ditulis setelah fungsi utama (main) atau diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file pustaka dan akan dipakai pada suatu program, maka nama file header-nya harus dilibatkan dalam program menggunakan preprocessor derictive #include. Suatu program C minimal harus memiliki fungsi main(). Tanpa fungsi itu maka program C tidak akan dapat dieksekusi, walau dapat dikomplikasi (Rahmat, 2010).
Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca (Sangdedi, 2009).

Tipe Data
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Tabel 1. Tipe data dasar (Sangdedi, 2009)
No
Tipe Data
Ukuran
Range (Jangkauan)
Format
Keterangan
1
char
1 byte
128 s/d 127
%c
Karakter/string
2
int
2 byte
32768 s/d 32767
%i , %d
Integer/bilangan bulat
3
float
4 byte
3.4E-38 s/d 3.4E+38
%f
Float/pecahan
4
double
8 byte
1.7E-308 s/d 1.7+308
%lf
Pecahan presisi ganda
5
void
0 byte
-
-
Tidak bertipe

Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program
berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14; 4.50005; ‘A’; ‘Bahasa C’. 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)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\v : tabulasi vertical
\0 : nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring

Variable
Variabel adalah suatu nama yang menyatakan tempat dalam memori komputer yang digunakan untuk menyimpan suatu nilai dan nilainya dapat diubah sewaktu-waktu ketika program sedang dieksekusi (Kadir, 2005).

Deklarasi Variable
Pendeklarasian variabel digunakan untuk memesan lokasi dalam memori komputer dan menentukan tipe dari data yang dapat disimpan dalam variabel. Bentuk pendeklarasiannya adalah sebagai berikut:
            tipe_data nama variabel;
Tabel 2. Contoh deklarasi Variabel (Kadir, 2005)
Deklarasi
Keterangan
Int n;
Variabel n bertipe int (untuk menyimpan bilangan bulat)
Char ch;
Variabel ch bertipe char (dipakai untuk menyimpan sebuah karakter)
Long int jum_penduduk;
Variabel jum_penduduk bertipe long int (dipakai untuk menyimpan bilangan bulat dengan nilai mencapai sekitar 2 milyar)
Double jarak;
Variabel jarak bertipe double (dipakai untuk menyimpan sebuah bilangan real dengan kepresisian tinggi
Jika ada beberapa variabel dengan tipe yang sama, pendeklarasian dapat dilakukan dengan menggunakan sebuah pernyataan (Kadir, 2005).
Di dalam melakukan pemrograman tentu saja programmer akan melakukan input dan output program. Input berarti programmer memasukkan data ke dalam program atau melakukan inisialisasi, sedangkan output berarti program akan menghasilkan keluaran berupa data yang ditampilkan ke layar, tercetak di printer, keluar di speaker, dan keluaran lainnya. Suatu program yang dibuat pasti menghasilkan ouput. Di dalam bahasa C sudah terdapat fungsi-fungsi bawaan (standard function) yang berkaitan dan mengatur input dan output sehingga programmer hanya perlu menggunakan saja (Rahmat, 2010).
Dalam input tak terformat, programmer tidak bisa memasukkan data dengan bentuk tertentu, misalnya dalam bentuk desimal dengan ketelitian 2 angka di belakang koma. Input tak berformat pada bahas C merupakan struktur input yang paling sederhana dan mudah dilakukan. Pemasukan data dilakukan dengan menggunakan fungsi-fungsi pustaka dari file header stdio.h, yaitu
1.      scanf()
Jika kita ingin memasukkan data dari keyboard, kita dapat menggunakan fungsi scanf ini. Data selanjutnya akan didefenisikan sebagai data variabel. Jika fungsi scanf ini digunakan untuk membaca data dengan tipe array, karakter yang selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan membaca data sampai ditemukan blank. Dengan demikian nilai setelah blank dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut. Fungsi scanf lebih cocok digunakan untuk data-data numerik. Fungi scanf jika digunakan maka harus disertai operator penanda alamat & didepan nama variabel yang digunakan untuk menyimpan data tersebut. Jika tidak mempergunakan operator alamat & ini maka ketika data diinputkan akan muncul pesan error Segmentation fault. Sedangkan untuk data string tidak perlu menggunakan operator ini. Tetapi jika digunakan tidak menjadi masalah. Fungsi scanf biasanya digunakan bersama-sama dengan fungsi printf (Maing, 2008).
2.      gets()
Jika kita menggunakan fungsi scanf untuk membaca data yang bertipe string, maka data tersebut hanya akan dibaca sampai ditemukan spasi. Misalnya nama “naufal rasendriya” hanya kata “naufal” yang akan dibaca oleh program, sedangkan kata “resendriya” tidak terbaca karena sebelum kata tersebut program telah menemukan spasi yang mengakibatkan data ke varibel yang menyimpan nama dianggap selesai (Maing, 2008).
Penulisan data pula dapat dilakukan dengan  menggunakan fungsi-fungsi pustaka dari file header conio.h, yaitu getche(), getchar() dan getch(). Dalam struktur input terformat, programmer dapat memasukkan data ke dalam program dalam bentuk tertentu yang telah didefenisikan oleh bahasa C. Dengan menggunakan bentuk ini, maka programmer dapat memasukkan data yang lebih baik, rapi dan tertib. Struktur input terformat sedikit lebih kompleks dibanding struktur input tidak terformat. Memasukkan data terformat berarti data yang diterima akan diatur bentuk dan lebarnya dengan kode-kode format menggunakan fungsi scanf(). Fungsi scanf() menggunakan pengiriman nilai secara acuan, yang dalam bahasa C dilakukan dengan pointer. Oleh karena itu variabel-variabel yang dipakai harus berupa variabel pointer  yaitu diawali dengan “&” (Rahmat, 2010).
More about → BAHASA C