TUGAS TEKNIK KOMPILASI Program Menghitung Banyaknya Kata DISUSUN OLEH: Bekti Saraswati (09018055) PROGRAN STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS AHMAD DAHLAN YOGYAKARTA 2011 Program menghitung banyaknya kata dengan bahasa pemrograman di bawah ini: 1. Program hitung banyak kata dengan bahasa Pascal uses wincrt; var n:array[1..26] of integer; i,j:integer; kata : String; begin for i:=1 to 26 do n[i]:=0; write('Ketikkan sebuah kalimat : ');readln(kata); for i:=1 to length(kata) do for j:=1 to 26 do if ord(upcase(kata[i]))=64+j then inc(n[j]); for i:=1 to 13 do writeln(chr(64+2*i-1),' = ',n[2*i-1],' ',chr(64+2*i),' = ',n[2*i]); end. Hasil: 2. Program hitung banyak kata dengan bahasa C/C++ void IGNORE_BLANK() { while (cc==' ') { ADV(); } } int main() { START(); RESET(); IGNORE_BLANK(); while (cc!='.') { if (cc==' ') { INC(); IGNORE_BLANK(); } else { ADV(); } } /* banyak kata = banyak spasi + 1 */ INC(); printf("Banyak kata = %d \n",ci); getche(); } 3. Program hitung banyak kata dengan bahasa Java public class katainkalimat { private static String kata[] = new String[1000]; private static String newkata[] = new String[1000]; // methode untuk mengecek kata yg sama public static boolean cekKata(int n, String x) { // inisialisasi boolean ketemu=false; for (int i=0; i <n; i++) { // jika ada yg sama if (kata[i].equalsIgnoreCase(x)) { ketemu=true; break; } } return ketemu; } public static void main (String args[]) { //array int jumkata[] = new int[1000]; int indeks[] = new int[1000]; // inisialisasi variabel String teks, temp=""; boolean ketemu=false; int a, k, n, m, count=0, jum; // inputan dari keyboard System.out.print("Masukkan kalimat = "); Scanner obj = new Scanner(System.in); teks = obj.nextLine(); //menentukan kata for (int i = 0; i<teks.length(); i++) { //jika ditemukan spasi if (teks.charAt(i)==' ') { count+=1; temp=""; } else { temp = temp + teks.charAt(i); kata[count] = temp; } } n=count+1;// banyaknya kata dlm suatu kalimat // eliminasi kata yang sama k=0; a=0; for (int i=0; i < n; i++) { if (!cekKata(a, kata[i])) { //bentuk kata baru dlm array newkata[k] = kata[i]; k++; } a++; } m=k; // banyaknya kata yg tlah dieliminasi // proses penghitungan kata dalam suatu kalimat for (int i=0; i < m; i++) { jum=0; for (int j=0; j < n; j++) { if (newkata[i].equalsIgnoreCase(kata[j])) jum+=1; } System.out.println("kata = "+newkata[i]+ " jumlahnya "+jum); } } } 4. Script program untuk menghitung jumlah huruf dalam kalimat menggunakan Turbo Pascal uses wincrt; var n:array[1..26] of integer; i,j:integer; kata : String; begin writeln(‘ Tugas Keamanan Komputer ‘); writeln(‘=================================================’); writeln(‘= Program menghitung jumlah huruf dalam kalimat =’); writeln(‘=================================================’); writeln(”); for i:=1 to 26 do n[i]:=0; write(‘Ketikkan sebuah kalimat : ‘);readln(kata); writeln(”); writeln(‘Jumlah tiap huruf dlm kalimat :’); writeln(‘=============================’); for i:=1 to length(kata) do for j:=1 to 26 do if ord(upcase(kata[i]))=64+j then inc(n[j]); for i:=1 to 13 do writeln(chr(64+2*i-1),’ = ‘,n[2*i-1],’ ‘,chr(64+2*i),’=’,n[2*i]); writeln(‘=============================’); end.