Jumat, 27 November 2009

Latihan CaseOf

Terra Computer System Kediri
Jl. Balowerti II / 26 – 30

Pemrograman Turbo Pascal
SMAN 1 Pare

Dengan menggunakan fungsi percabangan CASE..OF, buatlah tampilan menu sbb :


-------------------------------------
MENU UTAMA
------------------------------------
1. Hitung Luas Segitiga
2. Hitung Luas Lingkaran
3. Hitung Keliling PP
4. Hitung Luas PP

-------------------------------------
Nomor Pilihan : …………

Prosedur :

1. Pemilihan item menu menggunakan fungsi percabangan case
2. Jika dipilih no. 1, kerjakan proses menghitung luas segitiga, dan seterusnya untuk pemilihan nomor lain
3. Kirim tugas dari file yang berextention . pas ke alamat e-mail berikut :

VICKYTCSK@GMAIL.COM

a. masing-masing anak wajib mengirimkan 1 e-mail (e-mail tidak boleh gabung)
b. sertakan nama, kelas dan asal sekolah.
c. Paling lambat hari Senin, 30-11-2009

Jumat, 23 Oktober 2009

Fungsi Percabangan

Fungsi Percabangan/Case Of memiliki suatu ungkapan logik yang dikenal dengan nama : Selector dan sejumlah elemen yang diawali dengan suatu label permasalahan yang memiliki tipe sama dengan selector.
Perbedaan fungsi case of dengan if adalah bila statemen if, penyeleksian kondisi dan sudah terpenuhi, setelah memproses statemen dalam lingkungan yang terpenuhi tersebut, proses selesksinya masih terus berjalan untuk statemen if sekanjutnya. Sedangkan pada struktur Case-Of, bila salah satu sudah terpenuhi dan statemen tersebut telah diproses, maka statemen yang lain tidak akan diproses.

Bentuk Case Of adalah sebagai berikut :

CASE ungkapan OF
daftar case label 1 : Statemen 1;
daftar case label 2 : Statemen 2;
daftar case label 3 : Statemen 3;
.
.
.
daftar case label n : Statemen n;
end;

Contoh sederhana : menampilkan predikat bila A = Sangat Memuaskan; B = Baik dan C = Cukup

Contoh Record

Berikut contoh sederhana penggunaan tipe data record yang ditulis dengan menggunakan Delphi Console :

Type
hsl = Record
r,kll.luas:real;
end;
const pi=3.14;
var lingkaran : hsl;
begin
write('Inputkan nilai jari-jari : ');readln(r);
lingkaran.kll:=2*pi*lingkaran.r;
lingkaran.luas :=pi*sqr(lingkaran.r);
writeln;
writeln(#10'Keliling lingkaran adalah : ',lingkaran.kll:5:2);
writeln('Luas lingkaran adalah : ',lingkaran.Luas:5:2);
readln;
end.

Deklarasi Tipe Record

Deklarasi tipe data rekaman atau record ini dimulai dari kata tercadang (Reserves word) RECORD dan disertai dengan item-item(field-field) dan diakhiri dengan END.Contoh deklarasi record :

type langanan = record
kode : String[8];
Nama : string[20];
Alamat : String [35];
Pinjaman : Integer;
end;

var plgn : langganan

Kamis, 22 Oktober 2009

Contoh Sederhana Java

Berikut ini code Java untuk menginput nama, tahun kelahiran dan menampilkan usia seseorang :


import java.io.BufferedReader;
import java.io.InputStreamReader;


public class latihan2
{
public static void main(String[] args)
{
InputStreamReader Input = new InputStreamReader(System.in);
BufferedReader buf = new
BufferedReader(Input);

try
{
System.out.print("Nama Anda : ");
String nama = buf.readLine();

System.out.print("Tahun Kelahiran : ");
String strTahun = buf.readLine();
int tahun = Integer.parseInt(strTahun);
int umur = 2009 - tahun;
System.out.println("\nSaudara " + nama + ", sekarang ini usia anda " + umur + " tahun");

}
catch (Exception e)
{
}

}

}

Implementasi Record

Tipe data record dapat di implementasikan untuk berbagai keperluan. Misalnya menampung data dan menampilkan suatu data tertentu. Contoh implementasi sederhana dari tipe data record ini adalah :

A. Program untuk menginput dan menampilkan data

program record1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type recmhs=record
nim:string[10];
nm :string[20];
prog :string[3];
umur :integer;
end;
var mhs:recmhs;
begin
//cara input data
mhs.nim:='08.11.0245';
mhs.nm:='GINANJAR';
mhs.prog:='s-1';
mhs.umur:=25;

writeln;
//cara menampilkan
writeln('Nomor induk : ',mhs.nim);
writeln('Nama siswa : ',mhs.nm);
writeln('Program Studi : ',mhs.prog);
writeln('umur mahasiswa : ',mhs.umur);

readln;
end.

B. Record yang di sinergikan dengan Array

program record_array;

{$APPTYPE CONSOLE}

uses
SysUtils;

type recmhs=record
nim:string[10];
nm :string[20];
prog :string[3];
umur : integer;
end;
var mhs:array[1..3] of recmhs;
begin
mhs[1].nim:='08.11.0256';
mhs[1].nm:='Ginanjar';
mhs[1].prog:='s-1';
mhs[1].umur:=25;

mhs[2].nim:='08.11.0399';
mhs[2].nm:='Nuning';
mhs[2].prog:='d-3';
mhs[2].umur:=20;


writeln('Nim : ',mhs[1].nim);
writeln('Nama : ',mhs[1].nm);
writeln('Program : ',mhs[1].prog);
writeln('Umur : ',mhs[1].umur);
writeln('-----------------------');
writeln('Nim : ',mhs[2].nim);
writeln('Nama : ',mhs[2].nm);
writeln('Program : ',mhs[2].prog);
writeln('Umur : ',mhs[2].umur);
readln;
end.

C. Record yang di implementasikan dalam menu

program Menu_record;

{$APPTYPE CONSOLE}

uses
SysUtils;

TYPE RECBRG = RECORD
KD,NM:STRING;
HRG:INTEGER;
END;
VAR P :BYTE;X,Z,L:INTEGER;K:CHAR;NT,KDB:STRING;
BRG:ARRAY[1..3] OF RECBRG;
label kb;
begin
L:=0;
kb:
WRITELN;
WRITELN('MENU UTAMA');
WRITELN('==========');
WRITELN;
WRITELN('1. INPUT DATA BARANG');WRITELN;
WRITELN('2. LAPORAN DATA BARANG');WRITELN;
WRITELN('3. INPUT DATA PENJUALAN');WRITELN;
WRITELN('4. LAPORAN PENJUALAN');WRITELN;
WRITELN('======================');WRITELN;
WRITE('PILIHAN ANDA : ');READLN(P);
CASE P OF
1 : BEGIN
FOR X:=1 TO 3 DO
BEGIN
WRITELN;
WRITELN('---------------------------');
WRITE('MASUKKAN KODE BARANG : ');READLN(BRG[X].KD);
WRITE('MASUKKAN NAMA BARANG : ');READLN(BRG[X].NM);
WRITE('MASUKKAN HARGA BARANG : ');READLN(BRG[X].HRG);
END;
writeln;
write('KEMBALI KE MENU [Y/T] ? ');READLN(K);
IF K IN['Y','y'] THEN GOTO KB;
END;

2: begin
writeln('MENAMPILKAN DATA BARANG');
for x := 1 to 3 do
begin
writeln;
writeln('----------------------------');
writeln('KODE BARANG : ',BRG[X].KD);
writeln('NAMA BARANG : ',BRG[X].NM);
writeln('HARGA BARANG : ',BRG[X].HRG);
END;
writeln;
write('KEMBALI KE MENU [Y/T] ? ');READLN(K);
IF K IN['Y','y'] THEN GOTO KB;
END;
3: BEGIN
WRITELN;
WRITELN('INPUT DATA PENJUALAN');
WRITELN('--------------------');WRITELN;
WRITE('NO NOTA ');READLN(NT);
WRITE('KODE BARANG : ');READLN(KDB);
{IF KDB THEN
BEGIN}
FOR Z:=0 TO L-1 DO
BEGIN
WRITELN;
WRITELN('NAMA BARANG : ',BRG[Z].NM);
WRITELN('HARGA BARANG : ',BRG[Z].HRG);
END;
//END;
END;
END;
READLN;



end.

Rabu, 21 Oktober 2009

Pernyataan FOR

Pernyataan FOR adalah jenis konstruksi pengulangan tanpa adanya suatu kondisi, artinya bahwa semua instruksi didalam badan pengulangan ini akan diulang-ulang sejumlah kali yang ditentukan oleh pemrogram, sehingga jika ingin melakukan proses pengulangan perintah dengan ketentuan jumlah pengulangan yang bisa ditentukan sendiri maka peryataan ini bisa dipakai sebagai solusi.

Bentuk umum dari FOR ini ada 2 : Menaik dan menurun. Sintaks dari masing-masing ini adalah :

1. ASCENDING

For Pencacah : = nilai awal to nilai akhir do

2. DESCENDING

For pencacah := nilai akhir downto nilai awal do

Contoh : Tampilkan kalimat : Helo Dunia sejumlah 10 kali. Maka dapat diselesaikan secara ringkas seperti berikut :

For x := 1 to 10 do
writeln('Helo Dunia');


Blogger Templates by mr.vi and Volkswagen Cars. Powered by Blogger