Search This Blog

Sunday 21 August 2016

input dari keyboard


Input, dalam bahasa pemrograman C merupakan cara mengisikan kedalam program agar dapat disimpan, dilihat dan atau diolah untuk menjadi data baru dan dapat ditampilkan ke layar monitor. Input dalam pemrograman C sendiri dapat dilakukan melalui keyboard dengan mengetikannya saat program dijalankan. Namun input tersebut hanya akan dapat dilakukan apabila program yang dijalankan menampilkan permintaan input, bukan justru asal mengetikannya saja dan lalu akan masuk sebagai inputan. Maka untuk melakukan inputan tersebut harus dilakukan pembuatan program dengan beberapa bantuan dari keyword maupun function yang tersedia dalam bahasa pemrograman C.

Banyak cara untuk membuat program inputan melalui pemrograman C, seperti contoh program berikut ini:

#include<stdio.h>
main()
{
int A;
printf("Masukan pin BB Anda: \t");
scanf("%i", &A);
printf("\nPin BB Anda adalah: \t%i",A);
}
Perhatikanlah program diatas, pertama kita melihat adanya tulisan "Masukan pin BB Anda:" dengan menggunakan printf. Jika program diatas dijalankan, akan terlihan disamping karakter titik dua setelah tulisan tersebut akan ada pointer berkedip yang menunjukan bahwa di lokasi tersebut meminta untuk melakukan inputan. Sekilas terlihat seakan printf tersebut meminta sebuah inputan dengan berdekatannya tulisan yang dicetak dengan inputan yang diminta. Namun harus diingat bahwa printf tetaplah menjadi fungsi untuk mencetak, bukan menginput. Setiap function memiliki tugas atau kegunaan masing-masing, tidak ada yang namanya dalam satu function dapat melakukan dua tugas seperti mencetak dan menginput. Lalu bagaimana program diatas dapat meminta inputan? Dan bagaimana bisa permintaan input tersebut bersebelahan dengan cetakan tuisan sebelumnya (tulisan yang memberi tahu bahwa disitu terdapat lokasi yang meminta inputan)?

Sebelum kita membahas soal inputan tersebut, mari kita pahami program tersebut perkata yang ada didalam fungsi main().
  • yang pertama ialah kurung kurawal buka yang berarti sebagai pembuka pintu dimana statement akan dimasukan.
  • yang kedua ialah int A; yang berarti menyiapkan sebuah variable dengan nama A yang bertipe integer.
  • yang ketiga ialah printf yang berisi dengan tulisan untuk mengarahkan user agar menginputkan data. Selain itu, setelah titik dua terdapat "\t", yang berarti sebuah tab atau dengan kata lain memberikan beberapa spasi kedepan sebelum karakter yang diinputkan.
  • yang keempat ialah scanf. Inilah yang sebenarnya menjadi fungsi input, prosesnya ialah dengan menginput suatu data dan harus sesuai dengan tipe data pada saat deklarasa (int A). Tipe data harus integer, karena pada saat deklarasi variable A diberi tipe data integer, dan setelah itu, maka inputan tersebut akan dimasukan kedalam variable A . Bukan dari printf tadi. Lalu soal mengapa fungsi input ini tidak berada dalam baris baru, namun justru bersampingan dengan cetakan tulisan dari printf tersebut? Nah kalau soal ini, karena dalam bahasa C ada cetakan khusus untuk membuat baris baru, yaitu "\n". \n berfungsi sebagai new line atau pembuat baris baru. Untuk membuat/memisahkan cetakan menjadi beda baris, maka harus ditambahkan \n. terkecuali apabila setelah scanf, walau tidak diberi \n tetapi akan memberi baris baru dengan sendirinya. Coba perhatikan program berikutnya, coba prakrtekan dan bandingkan apa yang terjadi apabila \n tersebut dihilangkan. Maka walau setelah inputan tersebut akan menghasilkan cetakan selanjutnya di baris baru, namun dengan diberi \n maka cetakan selanjutnya akan tercetak di baris kedua setelah inputan dilakukan.
  • yang terakhir ialah pada cetakan terakhir terlihat ada tulisan "%i", yang berarti pada cetakan kkali ini, nilai inputan yang dimasukan kedalam variable A akan dicetak dengan tipe data integer.

apabila program diatas dijalankan, maka yang akan tampil di layar monitor ialah sebagai berikut:
Masukan pin BB anda (tab) : (inputan).

jika diisikan dengan angka 97, maka yang tercetak di layar ialah:
Masukan pin BB Anda: (tab) 97

Pin BB Anda adalah: (tab) 97.

namun apabila \n tersebut dihilangkan, maka yang tercetak ke layar ialah:
Masukan pin BB Anda: (tab) 97
Pin BB Anda adalah: (tab) 97.
terdapat perbedaan satu baris baru yang menjadi celah diantara keduanya. Dan yang terakhir ialah karakter kurung kurawal tutup di akhir program, yang berarti akhir dari statemet fungsi main tersebut.

Proses inputan dapat dilakukan dengan berbagai cara selain yang dituliskan dalam contoh diatas, karena banyaknya function dalam bahasa C telah dibuat dengan sedemikian mungkin untuk mempermudah kita dalam membuat program. Walau sama-sama input, namun banyak variasi yang dapat dilakukan, dengan beberapa library function yang berbeda dengan fungsi yang sama. Perhatikan contoh program berikut ini:
#include<stdio.h>
#include<conio.h>
main()
{
char A;
printf("Masukan pin BB Anda: \t");
A = getche();
printf("\nPin BB Anda adalah: \t%c",A);
}
Dengan getche() maka Anda dapat menginputkan satu buah karakter dan dengan sendirinya akan langsung menampilkan ke layar tanpa harus menekan lagi tombol enter. Namun yang harus Anda perhatikan ialah pada saat Anda akan melakukan instruksi input dengan menggunakan getche(), maka jangan lupa untuk menambahkan #include<conio.h> terlebih dahulu sebelum fungsi main, dan jangan menempatkannya didalam fungsi main. Selain itu, yang harus diperhatikan ialah tipe data untuk variable A diatas, variable A harus bertipe data character dalam penggunaan fungsi getche(). Sama halnya jika Anda mengganti getche() dengan getch(), harus bertipe data character dan tidak perlu menekan tombol enter untuk menampilkan ke layar, dan tentunya sama untuk menginput satu character. Banyak lagi proses penginputan yang dapat dilakukan dalam pemrograman C, seperti diatas yang menginput khusus character menggunakan getch(), getche(), serta dapat dengan menggunakan getchar(). Namun pada umumnya, agar tipe data tidak dibatasi (bebas), maka lebih baik apabila menggunakan scanf(). Ya memang benar, untuk melakukan perintah apapun harus disesuaikan dengan kebutuhan, tetapi untuk umum dan sementara berlatih, pelajarilah yang sederhana terlebih dahulu seperti halnya menggunakan scanf(). Memang yang lainpun tidak sulit untuk digunakan, namun dikhawatirkan akan terjadinya kebingungan, maka lebih baik pahami terlebih dahulu yang ada pada contoh diatas. Karena percuma saja apabila kita mempelajari terlalu jauh namun dasarnya kita masih kebingungan, kasihan pula otak kita yang harus bekerja keras padahal sebenarnya ia dapat mempelajari dasarnya saja agar tidak harus bekerja terlalu berat. Karena untuk pemrograman C sendiri tetap kembali pada algoritma, walaupun andai saja inputan tersebut bertujuan untuk diolah dan ternyata hasil olahannya tidak sesuai apabila menggunakan sebuah fungsi, tetap dapat dilakukan cara lain, bukan hanya mengganti fungsi tersebut, seperti halnya mengubah proses pengolahan yang telah dibuat, dengan algoritma baru yang memang harus dipikirkan kembali. Jika Anda lebih suka simple, ya memang cukup dengan mengganti fungsi tersebut. Namun untuk Anda yang lebih suka tantangan, tidak ada salahnya apabila Anda mengganti algoritmanya, bukan fungsinya. Penulis rasa itu dapat lebih baik untuk mengasah otak Anda. Memang penulispun bukanlah seorang ahli, dengan kata lain masih sama-sama belajar. Namun disisi lain, penulis berharap semakin sering bermain dengan program, maka semakin handal pula untuk menguasai program tersebut. Termasuk halnya dalam pemrograman C ini.

No comments:

Post a Comment