Tuesday 11 March 2014

Input Parameter & Variable: The Way Of Programming

Yoh! Ketemu lagi dengan saya masih di acara Dunia Lain tentang pemrograman. Sesuai janji saya di sini, berikutnya saya akan ngejelasin tentang input parameter dan variable.

Pertama, tentang arti parameter itu sendiri apa sih? Hmm gimana ya.. banyak sih definisinya. Misalnya kalo kamu main galge atau Winning Eleven (eh, sekarang pada maen Pro Evolution Soccer yak ), ada tuh meteran kemampuan. Entah itu kemampuan lari, kekuatan tendangan, kepintaran, dsb. Meteran itu namanya parameter juga. Terus apa artinya sama kaya di pemrograman? Jawabannya: BEDA
Terus arti parameter di pemrograman apa? Kamu googling aja deh soal begituan

Kalo bicara soal arti sih gue, eh salah kebiasaan , saya kurang tau secara tepatnya apa. Tapi berdasarkan pemahaman saya, parameter itu nama alias dari tipe inputan datamu. Misalnya kamu mau ngasih nama total untuk total harga di program penjualan di mini market. Nah, itulah parameter untuk inputan total harga. Bingung? Sama. 

Hmm gini aja deh, bayangin kamu lagi masak mie. Saya pake mie buat permisalan karena mie dan mahasiswa sangat akrab hubungannya, bagaikan sohib semenjak lahir Terus udah mateng tuh. Kamu butuh mangkok kan? Nah si mangkok ini bertugas sebagai wadah buat mie yang kamu masak tadi (mie dimasukin ke mangkok). Jadi mie itu inputnya, sedangkan mangkok parameternya. Ok sip? Mantap!!

Parameter bisa dipanggil dengan 2 cara, yaitu call by value dan call by reference. Bedanya apa? Call by value sesuai namanya, yaitu pemanggilan parameter berdasarkan nilainya yang akan digunakan untuk metode/rumus kelanjutannya. Call by reference yaitu pemanggilan parameter berdasarkan alamat dimana si isi di simpan di dalam memory komputer.
Terus tentang variable. Yah,, variable di pemrograman sama aja kaya variable di pelajaran eksak yang ada x y z a b c bla bla bla itulah artinya. Saya ga akan jelasin panjang lebar tentang ini. Males juga kalo harus nerangin teori
Kalo kamu mau tau lebih lengkap tentang teorinya silahkan baca ini atau googling. Inget, internet fungsinya bukan cuma buat download bokep doang!
n.b: maaf kalo ada kesalahan atau informasi yang ketuker di penjelasan di atas

Parameter ama variable ini penting untuk seterusnya di dalam pemrograman. Karena di sini letak logika dari sang pembuat program. Misalnya aja di C++ ama java, tiap inputan kamu harus simpen isinya di variable. Saat mau dipanggil (di-summon) untuk output, panggilnya berdasarkan pemanggilan variable/parameter. Tapi liat2 juga tipe datanya sebelum membuat parameter. Tipe data ada banyak, tapi yang sering kepake bahkan di program sederhana sekalipun yaitu char dan int. Char adalah tipe data huruf atau kalimat. Sedangkan int adalah tipe data untuk angka, tapi khusus bilangan bulat tanpa berkoma-koma. Tipe data untuk angka berkoma pakenya float. Untuk keterangan lebih lanjut buka aja kotak spoiler di bawah.
Spoiler for Tipe data dasar dalam bahasa C:
  • Character: untuk tipe data huruf. Contoh: char huruf; huruf='d';
  • Integer: untuk tipe data angka bulat. Contoh: int angka; angka=28;
  • Floating point: untuk tipe data angka desimal. Contoh: float phi; phi=3.14;
  • Double Floating Point: untuk tipe data angka desimal yang punya banyak angka di belakang koma. Contoh: double phi; phi=3.142857142857143;
  • Void: untuk menjelaskan bahwa tidak ada nilai yang tersedia untuk sebuah method. Contoh: int blackhole(void);

Kalo mau tau lebih banyak lagi silahkan kunjungi ini, ini, dan ini atau googling.

Kedua, tentang praktek. Yosh! Ini dia yang ditunggu. Sok lah langsung aja kita koding. Siapkan visual studiomu!! (program compiler lain juga boleh, yang penting tau syntaxnya)
3.. 2.. 1.. Ngoeeeenggg terbang!!!!
Enaknya kita latihan bikin program apa ya? Hmm... Yosh, langsung aja program penjualan di indomaret lah biar greget!

Ayo kita buat dalam bahasa C dulu.

Udah tau kan pertama kita harus ngapain? Yup, bener banget. Kita buat headernya dulu. Header yang kita pake adalah #include <stdio.h>.  Terus berhubung kita masih buat yang sederhana dulu (belom pake sistem scan barcode, itu lebih ribet lagi nanti ), kita suruh user menginput apa aja yang udah dia beli beserta harganya. Untuk latihan ini, kita buat permisalan si user beli 3 barang.
Cara masukin inputan user masih inget kan gimana? Iya betul, pake scanf("%flag", nama_variable);. Flag adalah huruf perwakilan tipe data. Silahkan buka kotak spoiler untuk jenis2nya.
Spoiler for Tipe flag:
  • d atau i: untuk signed decimal.
  • 0: untuk unsigned octal.
  • u: untuk unsigned decimal.
  • x: untuk unsigned unsigned hexadecimal
  • f: untuk angka decimal (floating point)
  • e: untuk angka decimal (floating point exponent)
  • c: untuk single character (1 huruf)
  • s: untuk kalimat (string)
  • p: untuk pointer


Setelah bikin header, kita buat scope utama/main function program. Itu tuh si void main(){}. O iya ada yang nanya begini: kenapa ko ada orang yang bikinnya pakai syntax int main(){} untuk main function?
Sebenernya penulisan main function itu sendiri ada 4:
Spoiler for Cara penulisan main function:
  1. main()
    {
    statements;
    }
  2. void main()
    {
    statements;
    }
  3. main()
    {
    statements;
    return (0); }
  4. int main()
    {
    statements;
    return (0);
    }
Catatan: - Statements adalah area kamu menuliskan semua syntax dan method yang diperlukan. - return (0) akan berguna agar mengembalikan semua value dalam program ke posisi 0 (false) untuk menandakan berakhirnya program. Ini ga terlalu penting sih, jadi boleh dipake boleh ga. - terserah mau pake cara penulisan yang mana aja sama..

Setelah kita buat main function, selanjutnya kita deklarasikan tipe data apa aja yang akan dipakai dalam program. Kan kita mau berhubungan sama nama barang dan harga nih, jadi kita pakenya tipe data huruf ama bilangan bulat.

Selanjutnya, kita buat syntax penerima input. Kemudian keluarkan inputan yang udah disimpan dalam variable. Selesai deh. Sipp kuis dapet nilai 100 ini sih

Yak itu semua inti dari cara2 pembuatannya. Gimana? Gampang kan? Kodingannya bikin sendiri yak
Spoiler for Contekan:
Jadi kodingannya kira2 akan seperti ini:
#include <stdio.h>

void main()
{
char barang1[30], barang2[30], barang3[30];
int harga1, harga2, harga3, total, bayar, kembalian;

printf("+==========================+\n");
printf("Selamat datang di Indomaret\n");
printf("+==========================+\n");

printf("\nSilahkan masukkan nama barang pertama yang anda beli [maksimal 30 karakter]:\n");
scanf("%[^\n]", &barang1);fflush(stdin);
printf("\nSilahkan masukkan nama barang kedua yang anda beli [maksimal 30 karakter]:\n");
scanf("%[^\n]", &barang2);fflush(stdin);
printf("\nSilahkan masukkan nama barang ketiga yang anda beli [maksimal 30 karakter]:\n");
scanf("%[^\n]", &barang3);fflush(stdin);

printf("\n\nMasukkan harga barang pertama: Rp. ");
scanf("%d", &harga1);fflush(stdin);
printf("\nMasukkan harga barang kedua: Rp. ");
scanf("%d", &harga2);fflush(stdin);
printf("\nMasukkan harga barang ketiga: Rp. ");
scanf("%d", &harga3);fflush(stdin);

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");//ini berfungssi agar berganti halaman baru

total=harga1+harga2+harga3;
printf("Barang yang anda beli adalah %s, %s, dan %s\n", barang1, barang2, barang3);
printf("Dengan total harga sebesar %d\n", total);
printf("Silahkan masukkan jumlah uang yang akan anda bayarkan: Rp. ");
scanf("%d", &bayar);fflush(stdin);

kembalian = bayar-total;
printf("\n\nKembalian anda hari ini adalah sebesar Rp. %d\n", kembalian);

printf("Terima kasih sudah berbelanja di Indomaret\n");

getchar();
}
Spoiler for Keterangan algoritma:
  1. Deklarasi tipe data si barang ditulis char barang1[30] artinya input yang bisa diterima tipe data si barang hanya sebatas maksimal 30 karakter. Spasi juga dihitung karakter. Banyaknya maksimal karakter bisa kamu tentukan, ga mutlak harus 30 karakter.
  2. Deklarasi tipe data yang sebaris bisa dibuat jadi beberapa baris, itu sama saja. Asalkan setiap deklarasi harus diawali jenis tipe datanya dan diakhiri tanda titik koma.
  3. Input kalimat yang ditulis %[^\n] maksudnya adalah input apapun dari user akan diterima sampai si user menekan tombol enter.
  4. Setelah input dimasukkan, maka akan disimpan ke dalam alamat memory si variable. Untuk memasukkannya ke alamat memory harus memakai tanda & lalu diikuti syntax fflush(stdin); yang merupakan standard untuk input di bahasa C.
  5. Untuk membuat komentar atau catatan di dalam koding buatanmu, gunakan tanda double slash //isikomentar untuk komentar sebaris dan tanda /*isi komentar*/ untuk komentar yang lebih dari sebaris.
  6. Untuk membuat rumus ke dalam variable seperti halnya rumus total dan kembalian, harus dideklarasikan sebelum pemanggilan variable rumus.
  7. Gunakan \n untuk berpindah baris.

Spoiler for Screenshot hasil program:




Selanjutnya ayo kita buat dalam bahasa C++

Langkah2 pembuatannya sama kaya di bahasa C, cuma beda syntax aja. O iya di C++ ga usah pake flag dan tanda & untuk masukin inputnya ke dalam memory. Jadi untuk input tinggal masukin aja ke variable. Untuk input kalimat yang pakai spasi pakai syntax getline(cin, nama_variable); diikuti dengan cin.sync();cin.clear(); yang berfungsi sama seperti fflush(stdin); di dalam bahasa C. Input kalimat yang pakai syntax getline(cin, nama_variable); harus pakai header #include <string> dan saat deklarasi di atasnya pakai tipe data string, bukan char.
Mau tau kaya gimana buatnya? Klik kotak spoiler di bawah:
Spoiler for Kodingan C++:
#include <iostream>
#include <string>

using namespace std;

int main()
{
string barang1, barang2, barang3;
int harga1, harga2, harga3, total, bayar, kembalian;

cout<<"+==========================+"<<endl;
cout<<"Selamat datang di Indomaret"<<endl;
cout<<"+==========================+"<<endl;

cout<<endl<<"Silahkan masukkan nama barang pertama yang anda beli:"<<endl;
getline(cin, barang1);cin.sync();cin.clear();
cout<<endl<<"Silahkan masukkan nama barang kedua yang anda beli:"<<endl;
getline(cin, barang2);cin.sync();cin.clear();
cout<<endl<<"Silahkan masukkan nama barang ketiga yang anda beli:"<<endl;
getline(cin, barang3);cin.sync();cin.clear();

cout<<endl<<endl<<"Masukkan harga barang pertama: Rp. ";
cin>>harga1;
cout<<endl<<"Masukkan harga barang kedua: Rp. ";
cin>>harga2;
cout<<endl<<"Masukkan harga barang ketiga: Rp. ";
cin>>harga3;

cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";

total=harga1+harga2+harga3;
cout<<"Barang yang anda beli adalah "<<barang1<<", "<< barang2<<", dan "<<barang3<<endl;
cout<<"Dengan total harga sebesar "<< total<<endl;
cout<<"Silahkan masukkan jumlah uang yang akan anda bayarkan: Rp. ";
cin>>bayar;

kembalian = bayar-total;
cout<<endl<<endl<<"Kembalian anda hari ini adalah sebesar Rp. "<< kembalian<<endl;

cout<<"Terima kasih sudah berbelanja di Indomaret"<<endl;

cin.get();
return(0);
}

Spoiler for Screenshot hasil jadi:



Yak selesai!! Selamat! Sekarang kamu udah naik pangkat jadi sersan mayor jadi programmer indomaret!! Horee!!!
Kalo ada yang mau ditanyain tulis aja di kotak komentar di bawah, okeh?
Mission Possible: Kalau kamu mau lebih keren lagi, coba validasikan input nama barangnya ga boleh pake angka!
Selamat bereksperimen! Saya mau kabur ke dunia mimpi dulu yaa~ Dadaahh~ 

No comments:

Post a Comment