Selasa, 10 Desember 2013

Menyimpan Rumus di Kalkulator

sebenarnya kurang pas jika menyimpan rumus. yang saya lakukan adalah menggunakan variabel yang bisa dimasukkan ke kalkulator. Variabel yang ada di kalkulator berikut adalah A,B,C,D,E,F,X,Y, dan M.







jika ada soal               x1=9+x2-2x3-3x4
maka akan ditulis    9 + A - 2B - 3C =
bagaimana cara menulisnya di kalkulator?
     9 + [alpha][A] - 2 [alpha][B] - 3 [alpha][C] = 

untuk lebih mudah mengingatnya, untuk mengakses yang berwarna merah kita gunakan [alpha] / sama dengan warnanya. dan untuk mengakses yang kuning kita gunakan [shift] terlebih dulu.

Jika kita tulis contoh diatas di kalkulator,kemungkinan besar jawabannya adalah 9 atau bisa saja yang lainnya jika variabel A,B, C sudah diisi.

bagaimana mengisi sebuah angka pada variabel tersebut?
untuk mengisinya kita gunakan [sto] yang singkatan dari STORE.
seandainya kita ingin memasukkan angka 5 ke variabel A, maka kita tulis di kalkulator:
     5 [shift][sto] A    //tidak perlu menggunakan [alpha]
     maka akan muncul 5A




bagaimana untuk melihat isi dari variabel?
untuk melihatnya, kita gunakan [rcl] yang berasal dari RECALL.
jika kita ingin melihat isi variabel C, maka
     [rcl] C             //sekali lagi, tidak menggunakan [alpha]

setelah itu bagaimana kita akan melihat fungsi yang telah ditulis tadi, dan sekalian jawabannya?
kita gunakan tombol arah atas untuk melihat history yang telah kita masukkan (history akan hilang jika ditekan tombol [ON]). kita cari fungsi yang tadi diinputkan dan kemudian tekan [=].
tada... maka keluarlah hasilnya. akan berbeda hasilnya dari yang pertama  tadi.

sekian penjelasan singkat dari saya,
jika kurang jelas bisa tanya saya. jika kurang lengkap bisa tanya kitabnya.

Sabtu, 20 Juli 2013

Belajar Dasar Bahasa Pemrograman


Kita akan belajar menulis program dengan menggunakan bahasa C. Artikel ini tidak membahas secara detail bahasa C, tidak dijelaskan bagaimana cara menjalankan program tersebut. Dan dimungkinkan dapat digunakan dengan menggunakan bahasa pemrograman yang lain.
Baiklah, mari kita mulai saja belajar kali ini.


Seperti biasanya, program pertama yang akan dibuat adalah mencetak kalimat
hello, world

Penulisan program dalam C sebagai berikut:
# include <stdio.h>
main()
{
  printf("hello, world\n");
}

Sekarang penjelasan dari program tersebut. Program C, berapapun ukurannya, pasti dan harus mempunyai fungsi. Didalam contoh tersebut terdapat fingsi bernama main. Kita bebas memberi nama sebuah fungsi, tetapi main adalah spesial - program memulai eksekusi dari main. yang berarti setiap program harus mempunyai main.
Baris pertama pada program,
    # include <stdio.h>
memberitahu compiler untuk mengikut sertakan standard input/output library.
Statemen dari sebuah fungsi berada didalam tanda kurung kurawal { }. Fungsi main hanya berisi satu statement,
    printf("hello, world\n");
fungsi main memanggil fungsi lainnya yang bernama printf yang diikuti daftar argument didalam kurung, yang didalam contoh berisi "hello, world\n"printf adalah fungsi dari library yang mencetak output, dalam hal ini adalah karakter string yang ada didalam tanda petik. setiap satu statement akan diakhiri oleh tanda ;.

Sebelum melanjutkan, kita akan belajar tentang bagaimana program ditulis agar mudah dibaca oleh orang lain, bahkan penulisnya.
Kita akan menggunakan baris comment dan indentasi. Baris comment dihiraukan oleh compiler tetapi digunakan untuk catatan bagi programmer, apa yang dikerjakan oleh program tersebut, logika yang ada didalam program, sehingga akan menjadi pengingat jika sewaktu-waktu lupa apa yang dikerjakan program daripada membaca baris demi baris program sehingga dibuat catatan ringkasannya. Dalam C, comment diawali dengan /* dan diakhiri dengan */. Bentuk lain comment diawali dengan menggunakan tanda // sampai akhir line.
Indentasi digunakan untuk membuat logika blok atau kondisional. Lebih mudahnya, setiap statement yang berada didalam fungsi atau kondisoinal diberi indentasi sendiri-sendiri.
Untuk lebih jelasnya lihat contoh disini.

Oke, mari kita lanjutkan. Jika kita ingin mencetak kalimat yang lain, tinggal mengganti karakter string didalam tanda petik. Didalam contoh diatas ada karakter \n yang hanya menghasilkan satu karakter, yaitu baris baru. Escape sequence seperti \n adalah untuk membuat karakter yang sulit di ketik atau karakter yang tidak terlihat. Yang lainnya adalah \t untuk tab, \b untuk backspace, \" untuk tanda petik, \\ untuk backslash itu sendiri. Untuk lebih lengkapnya silahkan ke www.google.com.

Kemudian kita akan melakukan penghitungan dalam program kita. Maka harus ditulis didalam kurung kurawal perhitungannya tersebut.

# include <stdio.h>
main()
{
    int a;
    a = 5*6;
    printf("Hasilnya adalah: %d", a);
}




bersambung... =================================================================
Sekian untuk kali ini, kita akan lanjutkan lain waktu.
Terima kasih.



Untuk yang ingin lebih lengkap, The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie

Minggu, 02 Juni 2013

[C++] Pencarian Akar Fungsi dengan Metode Bagi Dua

Program mencari akar dari persamaan kuadrat tanpa menggunakan fungsi sqrt() dengan menggunakan Metode Bagi Dua.
Metode berikut saya temukan dari http://en.wikipedia.org/wiki/Bisection_method.

Jangan cuma di copas aja. Coba dipelajari gimana kerjanya..



/*======================================================================
PSEUDOCODE

INPUT: Function f, endpoint values a, b, tolerance TOL, maximum iterations NMAX
CONDITIONS: a < b, either f(a) < 0 and f(b) > 0 or f(a) > 0 and f(b) < 0
OUTPUT: value which differs from a root of f(x)=0 by less than TOL

N ← 1
While N ≤ NMAX { limit iterations to prevent infinite loop
  c ← (a + b)/2 new midpoint
  If (f(c) = 0 or (b – a)/2 < TOL then { solution found
    Output(c)
    Stop
  }
  N ← N + 1 increment step counter
  If sign(f(c)) = sign(f(a)) then a ← c else b ← c new interval
}
Output("Method failed.") max number of steps exceeded
=======================================================================*/


#include <stdio.h>
#include <conio.h>

void main()
{
int a, b, c ;
float ats, bwh, x;          //batas atas, batas bawah, nilai tengah
int n, nMax;                //untuk looping
float tol, y, z;            //toleransi, y = f(x), z = f(bwh)

printf("ax^2 + bx + c = 0\n");
printf("Masukkan 'a', 'b', 'c': ");scanf("%d %d %d", &a, &b, &c);
printf("Masukkan batas atas & batas bawah kira-kira x berada: ");scanf("%f %f", &bwh, &ats);

n=1;                          //inisialisasi untuk looping
nMax=25;
tol=0.0001;                   //batas akurasi yang diterima

while (n<=nMax) {                                //mencegah looping terus menerus
x = (bwh+ats)/2;                             //mencari nilai tengah
y=a*x*x + b*x + c;                           //nilai f(x)
  z=a*bwh*bwh + b*bwh + c;

if ((y ==0) || ((ats - bwh)/2)<tol) {
    printf("hasilnya adalah %.3f", x);        //cetak 3 angka dibelakang koma
    break;                                    //berhenti looping
  }
  n++;
                 //menentukan batas atas atau batas bawah yang pindah ke tengah
   if (y>0) {
     if (z>0) {
         bwh=x;}
      else {
         ats=x;}
   }
   else {
      if (z>0) {
         ats=x;}
      else {
         bwh=x;}
   }
}
printf("\nselesai");
getch();
}