menghitung karakter
menghitung karakter

Dari kasus tersebut, dapat disimpulkan bahwa penggunaan huruf ’A’ sering digunakan dalam bahasa Indonesia

Berikut List program yang dibuat menggunakan Borland Delphi

unit Unit1;

// Dibuat oleh:
// Nama : Eka Surachman
// NIM  : 232 08 105
// Tgl  : 7 Oktober 2008, 14:30 WIB

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure Tampilkan;
  public
    { Public declarations }
  end;
  //definisikan tipe data record
  TTabelHtg = record
                huruf: string;
                count: integer;
              end;
  THasilHtg = array of TTabelHtg;

var
  Form1: TForm1;
  penghitung: THasilHtg;            //definisi array dinamis

implementation

{$R *.dfm}

{*****           Fungsi pencarian           *****}
{***** Mengembalikan nilai > -1 jika ketemu *****}

function cari(kar: string): integer;
var i : Integer;
begin
    Result := -1;
    for i := 0 to Length(penghitung) -1 do
    begin
       if penghitung[i].huruf = kar then
       begin
          Result := i;
          Break;
       end;
    end;
end;

// prosedur pengurutan. menggunakan algoritma bubble sort

procedure urutkan;
var i : Integer;
    ditukar: Boolean;
    temp : TTabelHtg;
begin
     repeat
        ditukar := False;
        for i := length(penghitung) -1 downto 0 do
        begin
            if Ord(penghitung[i].huruf[1]) > Ord(penghitung[i +1].huruf[1]) then
            begin
                temp := penghitung[i];
                penghitung[i] := penghitung[i+1];
                penghitung[i+1] := temp;
                ditukar := True;
            end;
        end;
     until not ditukar;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i, j, pjKalimat, ndx : Integer;
begin
    SetLength(penghitung,0);                                       //kosongkan array
    pjKalimat := length(Edit1.Text);
    for i := 0 to pjKalimat do
    begin
        ndx := cari(Edit1.Text[i]);
        if ndx > -1 then
        begin
            penghitung[ndx].count := penghitung[ndx].count +1;
        end else
        begin
            j := length(penghitung);
            SetLength(penghitung, j +1);
            penghitung[j].huruf := Edit1.Text[i];
            penghitung[j].count := 1;
        end;
    end;
   // urutkan;
    Tampilkan;
end;

procedure TForm1.Tampilkan;
var i: Integer;
    hrf: String;
begin
    Memo1.Clear;
    for i := 0 to Length(penghitung) -1 do
    begin
        if penghitung[i].huruf = ‘ ‘ then
           hrf := ‘spasi’
        else hrf := penghitung[i].huruf;
        Memo1.Lines.Append(hrf+’ : ‘+IntToStr(penghitung[i].count));
    end;
end;

end.

Advertisement