Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

17.. 2 5 KEYBOARD 5 Ilustrasi menginput data melalui keyboard SCREEN Memory Data yang diketik melalui keyboard harus diterima oleh sebuah variabel.

Presentasi serupa


Presentasi berjudul: "17.. 2 5 KEYBOARD 5 Ilustrasi menginput data melalui keyboard SCREEN Memory Data yang diketik melalui keyboard harus diterima oleh sebuah variabel."— Transcript presentasi:

1 17.

2 2 5 KEYBOARD 5 Ilustrasi menginput data melalui keyboard SCREEN Memory Data yang diketik melalui keyboard harus diterima oleh sebuah variabel.

3 7.1. Menginput Data Melalui Keyboard Pada Program C 1). Instrusi input tanpa menggunakan format, yang menggunakan instruksi : gets(var) var = getche() var = getchar() var = getch() 2). Instrusi input yang menggunakan format. yang menggunakan instruksi : scanf() 37.

4 #include void main() { char S[10]; printf(“Inputkan String: ); gets(S); printf(“%s”, S); } Apabila yang diinput adalah ABCDEFG maka terlihat dilayar : Inputkan String: ABCDEFG  ABCDEFG Menginput Data Melalui Keyboard Tanpa Format Pada Program C 1). Menginput string dengan gets(var)

5 S[0] S[1] S[9] ABCDEFG\ Maka isi array S[ ] Bila yang diinput : ABC DEF maka isi S menjadi ABCDEF\0 dengan char S[10]; dengan gets(S); bila diinput : ABCDEFG NULL

6 Beberapa contoh hasil input dengan gets(var); Bila data yang diinput Akan disimpan dalam variable S Keterangan & bila dicetak dengan : printf( “%s “, S ); ABC  ABC\0 \0 = Tanda untuk batas nilai Tercetak : ABC ABCbDE  ABCDE\0 Tercetak : ABC DE ABCbb ABC\0 b= blank (space) tercetak : ABCbb bbABC  AB\0 “ABC”  “ABC“\0 Tercetak : “ABC” ‘ABC’  ‘ABC‘\0 Tercetak : ‘ ABC ’ ABCDEFGHI  ABCDEFGHI\0 Untuk S[10] maksimum 9 karakter tercetak : bbABC ABCDEFGHIJ  Error lebih dari 9 karakter  12345\0 Tercetak karakter :  \0 Kalau hanya diinput maka S tak ada isinya kalau dicetak, tak ada yang tercetak #include void main() { char S[10]; int I; printf(“Inputkan String : ); gets(S); for(I=0; (S[I] != ‘\0’); I++) printf(“%c\n”, S[I]); } Bila diinput ABC  maka akan tercetak : A B C Perhatikan dua program berikut ini. #include void main() { char S[10]; int I; printf(“Inputkan String : ); gets(S); I = 0; while (S[I] != ‘\0’) { printf(“%c\n”, S[I]); I++; } } Atau : 67. Bila diinput ABC  maka akan tercetak : A B C

7 #include void main() { char C; printf(“Inputkan Sebuah Karakter: “ ); C = getche(); printf(“\n%c”, C); } Agar dapat menggunakan instruksi getche(), diperlukan : #include Variabel harus bertipe char Bila yang di input Yang tersimpan dalam var C Keterangan A Tercetak : A A Bila yang diketik bukan sebuah karakter, tapi hanya menekan, maka isi C adalah ‘\r’ dan bila dicetak tak ada yang tercetak di layar \r Bila hanya menekan maka N akan berisi Nilai ASCII 13 atau carriage return sehingga bila ditest dengan : if (C == 13) atau dengan : if (C == ‘\r’ ) maka akan menghasilkan nilai TRUE. Apabila yang diINPUT karakter A maka terlihat dilayar : Inputkan Sebuah Karakter : A A Hasil instruksi printf(“%c”, C); Hasil ketikan melalui keyboard tanpa mengetik \r = carriage return 77. 2). Menginput sebuah character dengan var = getche()

8 #include void main() { char C1, C2, C3, C4; printf(“Ketik Password Anda: ); C1 = getche(); C2 = getche(); C3 = getche(); C4 = getche(); } Bila program ini dijalankan, apapun karakter yang diketik melalui keyboard (sebanyak 4 karakter) akan terlihat sebagai berikut : Ketik Pasword Anda: XXXX Semua yang diketik diganti dengan : X \b maksudnya back space mundur satu spasi Misal diketik : ABCD maka isi C[ ] adalah ABCD, tapi yang terlihat dilayar : XXXX #include void main() { char C[4]; int I; printf(“Ketik Password Anda : ); I=0; while(I<4) { C[I] = getche(); printf(“\bX”); I++; } printf(“\nPassword Anda Adalah : ”); I=0; while(I<4) { printf(“%c”,C[I]); I++; } } ABCD Disediakan : Bila diketik : ABCD maka yang terlihat dilayar : Ketik Password Anda : XXXX Password Anda Adalah : ABCD #include void main() { char N1, N2, N3, N4; printf(“Ketik Password Anda : ); N1 = getche(); printf(“\bX”); N2 = getche(); printf(“\bX”); N3 = getche(); printf(“\bX”); N4 = getche(); printf(“\bX”); } Bila password diganti dengan karakter X Bila diketik : ABCD, maka dilayar akan terlihat sebagai berikut : Ketik Password Anda: ABCD 87. Beberapa contoh hasil input dengan var = getche( );

9 #include void main() { char C; printf(“Inputkan Sebuah Karakter : “ ); C = getchar(); printf(“%c”, C); } Apabila yang diinput adalah : A maka terlihat dilayar : Inputkan Sebuah Karakter : A  A Hasil instruksi printf(“%c”, C); Hasil ketikan melalui keyboard diakhiri dengan menekan Bila yang di input Yang tersimpan dalam var C Keterangan A A Tercetak : A \0 Bila yang diketik bukan sebuah karakter, tapi hanya menekan maka C akan diisi dengan ‘\n’ dan bila dicetak, tidak ada yang tercetak, tapi mengakibatkan turun satu baris (line feed). Bila hanya menekan maka C akan berisi Nilai ASCII 10 atau line feed sehingga bila ditest dengan : if (C == 10) atau dengan : if (C == ‘\n’ ) maka akan menghasilkan nilai TRUE. \n = line feed 3). Menginput sebuah character dengan var = getchar() Catatan : Bila diketik lebih dari satu karakter, maka hanya karakter pertama yang diambil 97.

10 #include void main() { char C; printf(“Inputkan Sebuah Karakter : “ ); C = getch(); printf(“%c”, C); } Bila yang di input Yang tersimpan dalam var C Keterangan A A Tercetak : A \0 Bila yang diketik bukan sebuah karakter, tapi hanya menekan, maka isi N adalah ‘\r’ dan bila dicetak tak ada yang tercetak di layar Bila hanya menekan maka C akan berisi Nilai ASCII 13 atau carriage return sehingga bila ditest dengan : if (N == 13) atau dengan : if (N == ‘\r’ ) maka akan menghasilkan nilai TRUE. Apabila yang diINPUT adalah A maka terlihat dilayar : Inputkan Sebuah Karakter : A Hasil instruksi printf(“%c”, C); Hasil ketikan melalui keyboard TIDAK TERLIHAT diketik tanpa \r = carriage return 4). Menginput sebuah character dengan var = getch() 107.

11 #include void main() { char C; printf(“Inputkan Sebuah Karakter: “ ); scanf(“%c”, &C); printf(“%c”, C); } Apabila yang diinput adalah A maka terlihat dilayar : Inputkan Sebuah Karakter : A A Hasil instruksi printf(“%s”, C); Hasil ketikan melalui keyboard diakhiri dengan menekan Bila yang di input Yang tersimpan dalam var C Keterangan AA A Tercetak : A  \n Bila yang diketik bukan sebuah karakter, tapi hanya menekan maka C akan diisi dengan ‘\n’ dan bila dicetak, tidak ada yang tercetak, tapi mengakibatkan turun satu baris (line feed). Bila hanya menekan maka N akan berisi Nilai ASCII 10 atau line feed (\n = line feed) sehingga bila ditest dengan : if (C == 10) atau dengan : if (C == ‘\n’ ) maka akan menghasilkan nilai TRUE. AB  A Tercetak : A, yang diambil hanya satu karakter karakter selebihnya tidak diambil ‘A’  ‘ Tercetak : ‘ 65  6 Tercetak : 6 “%c”, atau “ % c”, atau “ %c” Ada spasi atau blank sebelum %c Penulisan format seperti ini mempunyai efek yang sama Menginput Data Melalui Keyboard Dengan Format Pada Program C 1). Menginput character dengan scanf() a. Menginput sebuah karakter 117.

12 #include void main() { char C1, C2; printf(“Inputkan Dua Buah Karakter : “ ); scanf(“%c%c”, &C1,&C2); printf(“%c %c”, C1, C2); printf(“selesai”); } Apabila yang diinput adalah AB maka terlihat dilayar : Inputkan Sebuah Karakter: AB A Bselesai Diketik: AB Bila yang di input Yang tersimpan dalam variabel Keterangan AB  A Tak ada pemisah antara A dan B ABC  A A B  A Tak ada Pemisah antara dua karakter, C1C2 B B Format scanf() “%c%c” Tak ada jarak Tercetak dengan instuksi printf() diatas A Bselesai Yang diambil hanya dua karakter Karakter-karakter selebihnya tidak diambil A selesai Ada jarak satu spasi antara A dan B C2 berisi blank (spasi) A  A A selesai C2 berisi blank A,B  A ‘ A,selesai C2 berisi, (koma) A  A \n A selesai C2 berisi ‘\n’ (line feed), kalau dicetak efeknya turun satu baris  B  \n B Bselesai C1 berisi ‘\n’ (line feed) kalau dicetak efeknya turun satu baris Mempunyai efek yang sama (baik cara menginput data maupun hasilnya) bila instruksi input [ scanf() ] ditulis menjadi dua baris instruksi sebagai berikut : scanf(“%c”, &C1); scanf(“%c”, &C2); b. Menginput dua buah karakter dengan 2 format tanpa disisipkan koma 127.

13 #include void main() { char C1, C2; printf(“Inputkan Dua Buah Karakter : “ ); scanf(“%c,%c”, &C1,&C2); printf(“%c %c”, C1, C2); printf(“selesai”); } Apabila yang diINPUT adalah AB maka terlihat dilayar : Inputkan Sebuah Karakter : A,B A Bselesai Diketik: A,B Bila yang di input Yang tersimpan dalam var iabel Keterangan A,B  Koma sebagai pemisah A dan B A A,B,C  A AB  A, (koma) sebagai pemisah C1C2 B B Format scanf() “%c,%c”, (koma) sebagai pemisah Tercetak dengan instuksi printf() diatas A Bselesai Yang diambil hanya dua karakter Karakter-karakter selebihnya tidak diambil A ûselesai Antara A dan B tak ada pemisah C2 berisi karakter û A B  A  B  \n C1 berisi ‘\n’ A  A Tak sempat mengeti karakter kedua C2 berisi û ,B  \n Bselesai B C1 berisi ‘\n’ (line feed) kalau dicetak efeknya turun satu baris Mempunyai efek yang sama (baik cara menginput data maupun hasilnya) bila instruksi input [ scanf() ] ditulis menjadi dua baris instruksi sebagai berikut : scanf(“%c”, &C1); scanf(“,%c”, &C2); û û Ada jarak satu spasi antara A dan B C2 berisi karakter û A ûselesai û û ûselesai A ûselesai c. Menginput dua buah karakter, dengan 2 format disisipkan koma 137.

14 #include mvoid in() { char C1, C2; printf(“Inputkan Dua Buah Karakter : “ ); scanf(“%c %c”, &C1,&C2); printf(“%c %c”, C1, C2); printf(“selesai”); } Apabila yang diinput adalah A B maka terlihat dilayar : Inputkan Sebuah Karakter : A B A Bselesai Diketik: A B Bila yang di input Yang tersimpan dalam variabel Keterangan A B  A Satu spasi sebagai pemisah A dan B A B C  A AB  A Satu spasi sebagai pemisah C1C2 B B Format scanf() “%c %c” Satu spasi sebagai pemisah Tercetak dengan instuksi printf() diatas A Bselesai Yang diambil hanya dua karakter Karakter-karakter selebihnya tidak diambil B A Bselesai Antara A dan B tak ada pemisah efeknya sama denga A B A,B  A ‘  B  \0 B C1 berisi ‘\n’ A  B  A B  B  \n B Bselesai Sebelum B ada satu spasi C1 berisi ‘\n’ (line feed) Mempunyai efek yang sama (baik cara menginput data maupun hasilnya) bila instruksi input [ scanf() ] ditulis menjadi dua baris instruksi sebagai berikut : scanf(“%c”, &C1); scanf(“ %c”, &C2); Karakter ketiga dan seterusnya tidak diambil A,selesai Bselesai A Bselesai Ada satu spasi d. Menginput dua buah karakter, dengan 2 format dipisahkan spasi 147.

15 #include void main() { char S[10]; scanf(“%s”, S); - } scanf(“%s”, Var); Format pakai : s bukan : c Tidak pakai tanda & Variabel harus dipesan sebagai array character Misal : char S[10]; Ketik sebuah kalimat (String) diakhiri dengan menekan Bila yang diketik : ABCDEFG  maka isi S[ ] menjadi : ABCDEFG\ Bila S[7] ditest if(S[7] == ‘\0’) dengan : atau dengan : if(S[7] == 0 ) Akan menghasilkan nilai : TRUE atau dengan :if(S[7] == NULL ) Isi variabel S[10] diatas, dapat dicetak dengan : printf(“%s”, S); atau dengan puts(S); Atau dengan : int I; while (S[I] != ‘\0’ ) { printf( “%c“,S[I]); I++; } 2). Menginput String dengan scanf() 157.

16 #include void main() { int N; printf(“Inputkan Sebuah Nilai : “ ); scanf(“%i”, &N); printf(“%i”, N); } Apabila yang diinput adalah 25  maka terlihat dilayar : Inputkan Sebuah Nilai: “%i”, atau “ %i”, atau “ %i” Didepan format %I boleh ada spasi atau blank sebelum %i Penulisan format seperti ini mempunyai efek yang sama Pada instruksi scanf() format %i dapat diganti dengan %d Perhatikan : int N; Variabel yang disiapkan untuk menampung input adalah bertipe int. Karena bertipe int maka lebarnya adlah 2 byte (16 bit). Berapapun besarnya nilai yang diinput, tidak menyebabkan error. Nilai yang dapat ditampung oleh variabel N adalah sebanyak 16 bit. Sehingga minimum dan maksimum isi variabel N dapat digambarkan sebagai berikut : Blank didepan atau dibelakang 25 tidak mempengaruhi, jadi 25  b25  25b  b25b  akan menghasilkan hasil yang sama. b = satu atau lebih blank (spasi) 3). Menginput Nilai Integer dengan scanf() a1. Menginput sebuah nilai integer dengan format %i atau %d minimum : maksimum : Apa yang tercetak bila nilai (bit-bit) yang tersimpan dalam 16 bit diatas dicetak, tergantung format yang digunakan untuk mencetak. Tapi bilai nilai diatas dilakukan operasi aritmetik, maka nilainya adalah bit-bit yang ada. 167.

17 int N; scanf(“%i”, &N ); printf(“%i”, N); Type data Format scanf() Format printf() Batas nilai input yang sesuai dengan hasil cetakan Keterangan int atau signed int atau unsigned int atau short int %i atau %d (integer atau decimal) atau %u (unsigned integer) %i atau %d %u %c %li atau ld %lu %f sesuai karakter ASCII untuk 8 bit paling kanan - Dicetak sebagai Signed integer Dicetak dengan Unsigned Integer Bila diinput 65 akan tercetak: A bila diinput 97 akan tercetak: a Tidak error, tapi hasilnya tidak benar karena data 2 Byte, yang dicetak 4 Byte Error %li Error %x (Hexadecimal) Batas nilai data sesuai dengan format input %o (Octal) Batas nilai data sesuai dengan format input Untuk signed integer : input tercetak : input tercetak : Untuk unsigned integer : input tercetak : Untuk signed integer : input tercetak : 7ffff input tercetak : 1000 Untuk unsigned integer : input tercetak : fffff Hubungan antara tipe data input, format input dan format output untuk data numerik integer seperti yang dicontohkan oleh instruksi input dan output berikut ini : 177.

18 #include void main() { int N1, N2; scanf(“%i %i”, &N1, &N2); - } 5252 a2. Menginput dua buah nilai integer dengan format 187. intsruksi : scanf(“%i %i”, &N1, &N2); pada program diatas dapat ditulis menjadi dua instruksi sebagai berikut : scanf(“%i”, &N1); scanf(“%i”, &N2); Walaupun cara menulisnya berbeda, tapi cara menginput datanya sama. Misal yang diinput adalah nilai 5 untuk variabel N1, dan 2 untuk variabel N2. Cara menginputnya dapat dilakukan dengan dua cara sebagai berikut : 5 2  1.2. Ketik: Ketik: Kedua cara diatas, sama-sama menyimpan % di N1, dan 2 di N2 52 N1N2

19 long int N; scanf(“%li”, &N); printf(“%li”, N); Hubungan antara Tipe Data Format Input, dan Format Output untuk program seperti yang dicontohkan diatas. Tipe long int panjangnya 4 Byte (32 bit). Berapapun nilai yang diinput tidak menyebabkan error tapi tempat penampungannya adalah 4 Byte (32 bit) Type data Format scanf() Format printf() Batas nilai input yang sesuai dengan hasil cetakan Keterangan long int atau signed long int atau unsigned long int %i atau %d atau %u %i atau %d %u %c %li atau ld %lu %f sesuai karakter ASCII untuk 8 bit paling kanan - Yang dicetak isi 2 byte paling kanan Dicetak sebagai Signed integer Yang dicetak isi dua byta paling kanan Dicetak dengan Unsigned Integer Yang dicetak isi 1 byte paling kanan Bila diinput 65 akan tercetak: A bila diinput 97 akan tercetak: a Tidak error, tapi hasilnya tidak benar karena data 2 Byte, yang dicetak 4 Byte Error %li %i atau %d %u %c %li atau ld %lu %f Yang dicetak isi 2 byte paling kanan Dicetak sebagai Signed integer Yang dicetak isi 2 byte paling kanan Dicetak dengan Unsigned Integer Yang dicetak isi 1 byte paling kanan Bila diinput 65 akan tercetak: A bila diinput 97 akan tercetak: a minimal dan maksimal nilai signed long integer Error sesuai karakter ASCII untuk 8 bit paling kanan %lu %li atau %ld %lu Unsigned long integer, minimum = 0 maksimum = b. Menginput dengan format %li untuk long integer. 197.

20 float N; scanf(“%f”, &N ); printf(“%f”, N); Type data Format scanf() Format printf() Batas nilai input yang sesuai dengan hasil cetakan float %f %lf 3.4E E38 positip atau negatip Bila diinputMaka tercetak Keterangan %i %f %i Format tak sesuai %le e+01 %lg %i %x (Format tidak sesuai) %lf Error format tak sesuai a. Menginput dengan format %f untuk Single Precision Floating Point (float) 4). Menginput Nilai Numerik Floating Point dengan scanf() Tipe float panjangnya 4 Byte (32 bit). Nilai yang diinput harus dapat diterima sebagai Floataing Point yaitu nilai numerik yang mengandung titik desimal. Hubungan antara Tipe Data Format Input, dan Format Output untuk program seperti yang dicontohkan diatas. 207.

21 double N; scanf(“%lf”, &N ); printf(“%lf”, N); Type data Format scanf() Format printf() double %f %lf Bila diinputMaka tercetak Keterangan %i %f %i Format tak sesuai %le e+01 %lg %i %x (Format tidak sesuai) %lf Error format tak sesuai b. Menginput dengan format %f untuk Double Precision Floating Point (double) Tipe double panjangnya 8 Byte (64 bit). Nilai yang diinput harus dapat diterima sebagai Floataing Point yaitu nilai numerik yang mengandung titik desimal. Hubungan antara Tipe Data Format Input, dan Format Output untuk program seperti yang dicontohkan diatas. 217.

22 7.2. Menginput Data Melalui Keyboard Pada Program C++ Berbeda dengan pada program C, pada C++ menginput data tidak menggunakan format. Tipe data yang diinput tergantung langsung dengan tipe data penerimanya. Bila tipe data atau variabel penerima misalnya bertipe int, maka data yang diinput, apapun bentuk dan besarnya akan diterima oleh variabel tersebut sebagai tipe int. Instruksi input melalui keyboard pada C++, hanya ada satu macam yaitu : cin >> var. dimana var adalah nama sebuah variabel 227. Pada program C++, cin (baca C in) ini disebut objek yang digunakan untuk menerima data dari standard input dalam hal ini satndard input adalah keyboard. Contoh. #include void main() { int N; cin >> N; } Sewaktu melaksanakan instruksi cin >> N;, maka dilayar muncuk kursor sebagai berikut : _ Ditempat kursor berada inilah kita mengetik nilai yang akan diterima oleh variabel N. Misal kita ketik 25, maka yang terlihat dilayar adalah : 25 _ Perhatikan : Setelah mengetik maka kursor turun ke baris berikutnya. Bila berikutnya ada instruksi ceta, maka akan tercetak ditempat kursor ini berada.

23 237. #include void main() { char C; cin >> C; cout << C; } Bila diinput Maka tercetak A  65  ABC  ‘A’  “A”  A6A‘“A6A‘“ Hanya karakter pertama yang disimpan dalam variabel C Menginput Sebuah karakter Melalui Keyboard Pada Program C++ 1). Menggunakan cin >> var; #include void main() { char C; C = getch(); cout << C; } 2). Menggunakan var = getch(); AAAA Bila yang diketik A maka terlihat dilayar : Catatan : Tanda  sebenarnya tidak ada dilayar. Tanda itu hanya untuk menyatakan bahwa disana ditekan A Bila yang diketik A maka terlihat dilayar : Untuk instruksi var = getch() diperlukan #include Hanya menginput satu karakter tanpa menekan Yang diketik tidak terlihat dilayar. Huruf A yang terlihat dilayar adalah hasil instruksi cetak denag cout << C; bukan huruf A yang diketik. Apa yang diketik tidak terlihat dilayar. Yang dapat diketik hanya satu karakter. Berusaha mengetik lebih dari satu karakter adalah tidak mungkin. Berbeda dengan cin << C, seperti pada program pertama.

24 247. #include void main() { char C; C = getch(); cout << C; } 3). Menggunakan var = getche(); AA Bila yang diketik A maka terlihat dilayar : Untuk instruksi var = getche() diperlukan #include Hanya menginput satu karakter tanpa menekan Yang diketik terlihat dilayar. Ada dua huruf A yang muncul dilayar. Yang pertama hasil ketikan, dengan C = getche(); dan yang kedua hasil pencetakan dengan cout >> A.. Yang diketik hanya satu karakter. Berusaha mengetik lebih dari satu karakter adalah tidak mungkin. Berbeda dengan cin << C, seperti pada program pertama. Dicetak pada baris yang sama karena setelah mengetik A, kursor tidak pindah baris, karena tidak menekan #include void main() { char S[7]; cin >> S; cout << S; } Bila diinput Maka tercetak ABCDE  ABCDEF  ABCDEFG  ABC DE  65  “ABC”  ‘ABC’  ABCDE ABCDEF error ABC 65 “ABC” ‘ABC’ 1). Menggunakan cin >> var; S Hanya bagian ini yang bisa diisi. ABCDE\ S Menginput String Melalui Keyboard Pada Program C++ Yang sangat khusus disini adalah bila dalam string tersebut mengandung spasi sepert : ABC DE maka hanya ABC yang diterma oleh array S.

25 257. #include void main() { char S[7]; cin.getline(S,7); cout << S; } Bila diinput Maka tercetak ABCDE  ABCDEF  ABCDEFG  ABC DE  65  “ABC”  ‘ABC’  ABCDE ABCDEF error ABC DE 65 “ABC” ‘ABC’ 2). Menggunakan cin.getline(var, sizeof(var)); S Hanya bagian ini yang bisa diisi. ABCDE\ S #include void main() { int N; cin >> N; cout << N; } Bila diinput Maka tercetak 25       -25    025  0x25  tipe int Agar tidak salah menulis, maka sebaiknya instruksi: cin.getline(S,7); diganti saja menjadi : cin.getline(S, (sizeof(S)); Menginput Sebuah Nilai Numerik Melalui Keyboard Pada Program C++ 1). Menginput Nilai Numerik Integer dengan cin >> var; Nilai yang diketik besarnya tidak dibatasi. Apapun atau berapapun besarnya nilai yang diketik akan dinyatakan dalam bentu bilangan biner atau binary digit. Karena N tipenya int, maka hanya 16 bit paling kananyang diambil dan disimpan kedalam N.

26 267. Contoh nilai yang diketik dan nilai yang dismpan dalam variabel N 25      -25  025  0x25  Nilai yang diinput Nilai yang diinput dalam bentu binary Binary yang akan disimpan dalam N Nilai sebagai tipe int 025 maksudnya nilai octal 25 yang nilai decimalnya = 21 = (2*8 + 5*1) 0x25 maksudnya nilai Hexadecimal 25 yang nilai decimalnya = 37= (2*16 + 5*1) 2). Menginput Nilai Numerik Lain Dengan cin >> var; Telah dicontohkan diatas, menginput data dengan cin, untuk variabel bertipe int (integer 2 Byte) Untuk data tipe long int, float dan double, digunakan instruksi yang sama yaitu >> var. Perbedaannya hanya pada tipe dan jangkauan nilai yang tersimpan dalam variabel tersebut. #include void main() { signed long int N; cin >> N; cout << N; } tipe long int #include void main() { float F; cin >> F; cout << F; } tipe float Jangkauan nilai dan format cetakan, dapat dilihat pada Bab 5 dan Bab 6.

27 7.3. Menginput Data Melalui Keyboard Pada Program Java 277. var = System.in.read(); Hanya saja penggunaan instruksi System.in.read(), memerlukan instruksi try dan catch. Perhatikan contoh menginput sebuah karakter dari keyboard berikut ini : Apabila program diatas dijalankan, dan diinputkan : A maka terlihat dilayar sebagai berikut. A  Menginput Sebuah Karakter Melalui Keyboard Pada Program Java Berbeda dengan Bahasa C++ apalagi bahasa C yang mempunyai banyak macam instruksi input data dari keyboard, Java hanya menyiapkan sebuah instruksi dasar yaitu : dimana var = variabel bertipe int public class Contoh01 { public static void main (String[] args ) { int N = 0; try { N = System.in.read(); } catch(java.io.IOException e) { System.out.println(“Ada Salah”); } System.out.println(N); } Huruf A adalah karakter yang diketik melalui keyboard, dan 65 adalah hasil cetakan System.out.println(N), karena variabel N bertipe int.

28 287. ABC  65 Bila diinput ABC, maka terlihat dilayar sebagai berikut : Yang diambil hanya satu karakter pertama yaitu karakter A yang nilai integernya =  54 Bila diinput 65, maka terlihat dilayar sebagai berikut : Yang diambil hanya satu karakter pertama yaitu karakter ‘ 6’ yang nilai integernya = 54 public class Contoh01 { public static void main (String[] args ) { int N = 0; try { N = System.in.read(); } catch(java.io.IOException e) { System.out.println(“Ada Salah”); } System.out.println(N); } Perhatikan kembali program menginput sebuah karakter sebagai berikut : try { N = System.in.read(); } maksudnya berusaha membaca sebuah karakter dari keyboard. Membaca data dari sistem input, kemungkinan terjadi error (exception). Apabila terjadi error, maka kondisi error tersebut lperlu ditangkap dengan catch.. A pabila catch menagkap kondisi error, maka cetak perkataan “Ada Salah”

29 297. public class Contoh02 { public static void main (String[] args ) { int N = 0; String S =“”; boolen selesai = false; while(!selesai) { N = System.in.read(); if( N < 0 || (char) N == ‘\n’) selesai = true; else if ( (char) N != ‘\r’ ) S = S + (char) N; } System.out.println(S); } Menginput String Karakter Melalui Keyboard Pada Program Java Contoh: Sayangnya, tidak seperti bahasa lain misalnya C atau C++, Java tidak menyiapkan instruksi menginput string.Yang ada hanya menginput sebuah karakter. Terpaksa kita harus bersusah payah menginput karakter demi karakter dan menggabungnya menjadi sebuah string. Salah satu usaha dapat dicontohkan sebagai berikut : Apabila diinputkan : ABC, maka terlihat dilayar sebagai berikut. ABC  ABC _ Bagi Anda yang belum memahami instruksi while dan instruksi lainnya, pada tahap ini Anda cukup mengikuti saja dulu instruksi diatas. Instruksi diatas juga dapat digunakan untuk menginput satu buah karakter dengan diakhiri, misal apabila hanya diketik A maka akan terlihat dilayar : AA_AA_

30 Buku literatur mengajarkan untuk menyederhanakan program utama kita. Untuk menginput string dari keyboard kita cukup menulis sebuah instruksi misal sebagai berikut : String S = InputDariKeyboard.inputString(); yang penggunaannya dicontohkan sebagai berikut : 307. _ public class Contoh01 { public static void main (String[] args ) { String S; S = InputDariKeyboard.inputString(); System.out.println(S); } Bila program diatas dijalankan, mula mula muncul kursor di layar sebagai tanda komputer sedang melaksanakan instruksi input dan minta data untuk diinput. Apabila diinputkan : ABC, maka terlihat dilayar sebagai berikut. ABC  ABC _ Catatan : Tanda  sebenarnya tidak ada dilayar. Tanda itu hanya untuk menyatakan bahwa disana ditekan Dua instruksi : String S; S = InputDariKeyboard.inputString(); dapat ditulis menjadi : String S = InputDariKeyboard.inputString(); Catatan Penting !

31 Nampak bahwa instruksi String S = InputDariKeyboard.inputString(); tidaklah terlalu rumit. Tetapi, ada konsekuensi yang memberatkan kita yaitu, agar instruksi tersebut dapat dikenal dan dapat dilaksanakan, kita harus menulis sebuah program (class ) tersendiri, dikompilasi tersendiri dan file class hasil kompilasi tersebut harus disimpan dengan nama InputDariKeyboard.class dalam direktori yang sama dengan direktori program utama yang kita buat Program tersebut harus ditulis sebagai berikut : 317. public class InputDariKeyboard { public static String inputString() { int Nilai = 0; String S = “”; boolean selesai = false; while (!selesai) { try { Nilai = System.in.read(); if(Nilai < 0 || (char) Nilai == ‘\n’) selesai = true else if ((char) Nilai != ‘\r’) S = S + (char) Nilai; } catch(java.io.IOException e) { System.err.println(“Ada salah input”); selesai = true; } return S; } Perhatikan : Dua kata InputDariKeyboard, dan inputString() Dua kata ini yang ditiru persis dalam program utama yang kita buat. Dua kata ini boleh diganti, tapi kata yang ada dalam program utama juga harus diganti meniru kata tersebut. Program diatas memang rumit, tapi tidak perlu dipahami sekarang. Sekarang yang diperlukan adalah, ketik, kompilasi dan simpan program tersebut agar instruksi input String var = InputDariKeyboard.inputString() yang kita tulis dalam program utama kita dapat digunakan. Setelah Anda memahami bahasa Java, maka Anda akan dapat merubah program diatas dengan maksud yang sama.

32 Kembali disayangkan Java tidak menyiapkan instruksi yang dapat dipakai untuk langsung menerima data yang dinput secara nilai numerik. Instruksi yang ada disiapkan sebenarnya hanyalah mengetik sebuah karakter yang telah kita kembangkan sendiri menjadi mengetik sebuah string sebagai berikut : String S = InputDariKeyboard.inputString(); Data yang kita input masuk kedalam variabel S yang bertipe string. Maksudnya data dalam bentuk untaian karakter karaktar. Bila yang diinput : 12  maka data yang diinput adalah dua buah karakter, yaitu karakter 1 dan karakter 2, bukan nilai 12 (dua belas). Agar dua karakter tersebut dapat dianggap sebagai nilai dua belas dan disimpan dalam variabel tipe int (integer), maka karakter-karakter tersebut harus dikonversi kedalam bentuk int. Perhatikan contoh berikut ini public class Contoh01. { public static void main (String[] args ) { String S; S = InputDariKeyboard.inputString(); int N = Integer.valueOf(S).intValue(); System.out.println(N); } Perhatikan intruksi untuk mengonversi nilai string S kedalam variabel integer N sebagai berikut : int N = Integer.valueOf(S).intValue(); Untuk konversi ke float dan double dapat dibuat : float F = Float.valueOf(S).floatValue(); double D = Double.valueOf(S).doubleValue(); Menginput Nilai Numerik Melalui Keyboard Pada Program Java

33 Dengan kemampuan membangun aplikasi GUI (Graphic User Interface) Java dapat menampilkan window kecil dengan sebuah text yang pada pemrograman visual biasa disebut kotak dialog. Instruksi yang digunakan : String varS = JOptionPane.showInputDialog (“Kalimat Judul “); Fungsi JOptionPane merupakan salah satu bagian dari package javac.swing, maka perlu ditambahkan instruksi import javac.swing.* JOption.Pane ini mengambil input berupa string yang diketik melalui keyboard, yang disimpan dalam variabel varS.. Bila data yang diketik ingin diperlakukan sebagai nilai numerik misal kedalam tipe int, maka harus dikonversi menjadi nilai numerik int dengan instruksi : int varInt = Integer.parseInt(varS); Perhatikan contoh program berikut ini : 337. import java.swing.*; public class Contoh. { public static void main (String[] args ) { String S = JOption.Pane.showInputDialog(“Nilai : “; int N = Integer.parseInt( S ); System.out.println(N); } Menginput Data dari keyboard dengan Kotak Dialog Pada Program Java dilayar akan muncul kotak dialog sebagai berikut : x Input Nilai : ? adalah nilai yang diketik OKCansel

34 Dalam kotak dialog dapat dimunculkan banyak kalimat sebagai petunjuk menginput data. Perhatikan contoh berikut : 347. import java.swing.*; public class Contoh { public static void main (String[] args ) { String S = JOption.Pane.showInputDialog(“Menu :”+ “\n1. Entry Nilai”+ “\n2. Update Nilai”+ “\n3. Sort Nilai”+ “\n4. Cetak Nilai “ ); int N = Integer.parseInt( S ); - } dilayar akan muncul kotak dialog sebagai berikut : x Input Menu : 1. Entry Nilai 2. Update Nilai 3. Sort Nilai 4. Cetak Nilai ? 1 1 adalah data yang diketik OKCansel Instruksi JOptionPane diatas, dapat juga ditulis sebagai berikut: String S = JOptionPaneshowInputDialog(“Menu : \n1. Entry Nilai \n2. Update Nilai \n3. Sort Nilai \4. Cetak Nilai “ ) ;

35 Pada program Java, ada cara yang lebih mudah untuk menginput sebuah kalimat atau string melalui keyboard dengan menggunakan metode readLine(). Perhatikan contoh berikut ini : 357. import java.io.*; public class Contoh { public static void main (String[] args ) { BufferedReader sebarisTeks = new BufferedReader ( new InputStreamReader(System.in) ); System.out.println( “Input Nama Kota : “); String S = “”; try { S = sebarisTeks.readLine(); } catch (IOException i) { } System.out.println(“Nama Kota Anda : “ + S); } Input Nama Kota : Jakarta Raya  Nama Kota Anda : Jakarta Raya Menginput String dari Keyboard dengan readLine( ) pada Program Java Bila program diatas dijalankan, maka terlihat dilayar sebagai berikut :


Download ppt "17.. 2 5 KEYBOARD 5 Ilustrasi menginput data melalui keyboard SCREEN Memory Data yang diketik melalui keyboard harus diterima oleh sebuah variabel."

Presentasi serupa


Iklan oleh Google