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');

Jenis Konstruksi Pengulangan

Didalam sebuah algoritma terdapat bermacam-macam konstruksi yang bisa dilakukan untuk menjalankan suatu perintah pengulangan. Beberapa dari konstruksi ini dapat dipergunakan untuk menyelesaikan masalah yang sama dan ada pula yang berbeda. Ketepatan pemilihan konstruksi ini akan menyebabkan dan mempengaruhi kebenaran logika algoritma. Ada 3 konstruksi pengulangan yang sering dipergunakan :

1. Pernyataan FOR
2. Pernyataan REPEAT
3. Pernyataan WHILE

Tipe Data Record

Tipe data record atau bisa juga disebut sebagai tipe data rekaman adalah merupakan salah satu dari tipe data terstruktur. Dengan menggunakan tipe ini, dapat terkumpul item-item atau field-field yang memiliki tipe yang berbeda-beda. Jadi dengan istilah lain bahwa tipe record adalah tipe data terstruktur yang terdiri dari banyak field-field yang memiliki tipe yang berbeda-beda.

Fungsi Perulangan

Perulangan sering disebut dengan istilah Loop atau Repetition. Fungsi ini dipergunakan untuk menjalankan perintah berulang kali sampai kondisi perulangan ini terpenuhi/berhenti.
Struktur umum dari fungsi ini adalah :
1. Kondisi pengulangan : ekspresi boolean yang harus terpenuhi untuk melaksanakan pengulangan.
2. Body(Badan) : badan pengulangan dimana bagian dari suatu algoritma yang di ulang.
Selain itu struktur pengulangan tersebut biasanya diikuti oleh bagian berikut :
a. Inisialisasi : aksi yang akan dilakukan sebelum pengulangan dilaksanakan pertama kali.
b. Terminasi : aksi yang dikerjakan setelah pengulangan selesai.
Bila digambarkan, struktur pengulangan ini secara umum adalah sebagai berikut :

Inisialisasi
awal perulangan
badan pengulangan
akhir pengulangan
Terminasi
dimana awal dan akhir pengulangan dinyatakan sebagai kata kunci yang bergantung pada konstruksi pengulangan yang digunakan.

Selasa, 20 Oktober 2009

Tugas Case Of

Dengan menggunakan fungsi case of selesaikanlah kasus berikut :

1. Tampilkan nama bulan jumlah hari dan jumlah hari minggunya dalam bulan tersebut. Misal :1 bulan januari. Jumlah hari = 31

2. Buat program untuk mencatat besarnya upah yang diterima karyawan. ketentuan sbb :

a. Jumlah jam normal dalam 1 minggu adalah 48 jam
b. Upah lembur bila karyawan lembur adalah 3000 setiap 1 jam lemburnya
c. Upah kerja diberikan sebesar 5000 setiap 1 jam kerjanya.

3. Integrasikan dalam Menu. Contoh menu :

-----------------------------
MENU PILIHAN
-----------------------------
1. Nama Bulan dan jumlah hari
2. Hitung upah karyawan
3. Keluar program
-----------------------------
Pilihan : [1-3] :1

Pemrograman Java

Java disebut sebagai teknologi platform terbuka. Pengembangan Java menggunakan bahasa Java sebagai basis pengembangannya yang tidak bergantung pada sistem operasi yang digunakan.
Java sebagai bahasa pemrograman memungkinkan para programmer:
- membuat sebuah aplikasi dan menjalankannya ditempat lain
- membuat aplikasi yang berjalan di browser/internet
- membuat aplikasi untuk perangkat seperti ponsel atau PDA ataupun perangkat yang lainnya
Aplikasi Java yang dikembangkan didalam sebuah mekanisme yang disebut Java Virtual Machine (JVM). Aplikasi Java tidak berinteraksi langsung dengan sistem operasi, tetapi berinteraksi dengan JVM, dimana JVM yang berinteraksi dengan sistem operasi.

Java sebagai teknologi platform telah berkembang menjadi berbagai macam solusi yaitu J2SE, J2EE, J2ME, dan JavaCard. Bilamana dikembangkan sebuah aplikasi Desktop menggunakan spesifikasi J2SE, maka dengan bahasa Java, pengembangan dilakukan, dan menjalankannya diperlukan JVM.

Java lahir dengan kemampuan multiplatform, artinya dapat berjalan disemua sistem operasi yang didukungnya, selain itu juga portable artinya aplikasi yang dikompilasi dengan SDK (Software Development Kit) yang ada adalah kompatibel dan dapat dipakai oleh SDK lainnya, walaupun SDK tersebut tanpa perlu modifikasi, dan tentu saja semua

Senin, 19 Oktober 2009

Daftar Nilai Evaluasi Algoritma (Jumat 16-10-2009)

Berikut daftar nilai evaluasi 1 materi Algoritma & Pemrograman 1 (Jumat 16 Oktober 2009)

Nama Siswa

Eko Wahyudi :88
Saera Banu :75
Dewi AnY Anawati :86
Santo Yanuarso :76
Nurul Nur Indah :70
Sri Wahyuni :70
Budi Susilo :73
Mustakhim Setyawan :75
Tri Permadi :65
Dessy Christyani :83
Riris Indrawati :75
Ilham Yahya :80

Jumat, 16 Oktober 2009

Penalaran IF

Selesaikanlah kasus dari soal cerita berikut :

1. Hitunglah besarnya denda yang harus dibayarkan oleh seorang peminjam VCD jika terlambat. Ditetapkan bahwa besar denda setiap 1 hari keterlambatannya adalah 750. Batas normal peminjaman adalah 3 hari. Data yang dimasukkan terdiri dari tanggal pinjam dan tanggal kembali.

2. Hitunglah besarnya upah yang diterima seorang karyawan dalam 1 minggu. Upah per jam kerjanya adalah 5000, sedangkan upah lembur bila lembur/melebihi jam kerja normal adalah 3000 per 1 jam lembur. ditentukan jam kerja 1 minggu normalnya adalah 45 jam.

Contoh Penggunaan Case..Of

Berikut ini diberikan contoh tentang penggunaan fungsi Case Of untuk menampilkan status barang dan besar gaji serta tunjangan karyawan. Kode ini buat dengan menggunakan Delphi Console :

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var k:Char;
begin
write('Masukkan kode : ');readlN(k);
writeln;
case k of
'A','a' :Writeln('Status Istimewa');
'B','b' :Writeln('Status Baik');
'C','c' :writeln('Status cukup');
end;
readln;
end.

B. Contoh 2
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var gol : char;
gj:Longint;
tj:real;
begin
write('Masukkan golongan karyawan : ');readln(gol);
writeln;
case gol of
'A','a' : begin
gj:=450000;
tj:=0.02*gj;
end;
'B','b' : begin
gj:=650000;
tj:=0.03*gj;
end;
'C','c' : begin
gj:=900000;
tj:=0.05*gj;
end;
end;
writeln;
writeln('Gaji yang diterima adalah : ',gj);
writeln;
Writeln('Besarnya tunjangan adalah : ',tj:2:0);
readln;
end.

Rabu, 14 Oktober 2009

Implementasi


Tipe larik/array dapat di implementasikan di banyak persoalan. Salah satu contohnya adalah membuat perhitungan Matrik, menghitung nilai dari beberapa siswa, mencari bilangan terbesar dan terkecil dan masih banyak lagi implementasi dari tipe array.

Berikut ini, kami akan memberikan contoh implementasi dari tipe larik/array untuk proses pengurutan data nama orang secara ascending maupun secara descending.

A. Urut Secara Ascending
program mengurutkan_nama;

{$APPTYPE CONSOLE}

uses
SysUtils;

type save = array[1..20] of string;
var nama: save;
n, m, i, k, y, z, q, u: byte;
a, b: byte;
memori: string;
begin
writeln;

writeln;
write('Jumlah data nama yang akan diurutkan : ');
readln(n);
writeln;
Writeln('Masukkan nama-nama yang akan di urutkan... ');
writeln;
//memasukkan data nama
for i := 1 to n do
begin
write('Nama ke- ', i, ': ');
readln(nama[i]);
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for i := 1 to n do
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;

{proses Mengurutkan}
for y := 2 to n do
begin
for q := n downto y do
begin
if nama[q] < nama[q - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[q];
nama[q] := nama[q - 1];
nama[q - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for i := 1 to n do
Writeln('Nama orang ', ' ', i, ': ', nama[i]);
readln;
writeln;

{data kedua}
//memasukkan data
write('Jumlah yang akan diurutkan : ');
readln(m);
writeln;
for k := 1 to m do
begin
write('Nama ke- ', k, ': ');
readln(nama[k]);
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for k := 1 to m do
writeln('Nama orang ke : ', k, ' adalah ', nama[k]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;
{proses Mengurutkan}
for z := 2 to m do
begin
for u := m downto z do
begin
if nama[u] < nama[u - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[u];
nama[u] := nama[u - 1];
nama[u - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for k := 1 to m do
Writeln('Nama orang ', ' ', k, ': ', nama[k]);
readln;
writeln;
writeln('Terima Kasih :');

{urut}
writeln('Hasil penggabungan');
for i := 1 to n do
begin
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
end;
for y := 2 to n do
begin
for q := n downto y do
begin
if nama[q] < nama[u - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[u];
nama[u] := nama[u - 1];
nama[u - 1] := memori;
end;
end;
end;
readln;
end.

B. Secara Descending
program urutnama_descending;

{$APPTYPE CONSOLE}

uses
SysUtils;

type save = array[1..20] of string;
var nama: save;
n, i, y, q: byte;
memori, upcase_name: string;
begin
writeln;
writeln(' PROGRAM MENGURUTKAN DATA NAMA SECARA DESCENDING');
writeln('===================================================');
writeln;
write('Jumlah data nama yang akan diurutkan : ');
readln(n);
writeln;
Writeln('Masukkan nama-nama yang akan di urutkan... ');
writeln;
//memasukkan data nama
for i := 1 to n do
begin
write('Nama ke- ', i, ': ');
readln(nama[i]);
upcase_name := ' ';
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for i := 1 to n do
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;

{proses Mengurutkan}
for y := 2 to n do
begin
for q := n downto y do
begin
//urutkan nama secara descending
if nama[q] > nama[q - 1] then
begin
memori := nama[q];
nama[q] := nama[q - 1];
nama[q - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for i := 1 to n do
begin
Writeln('Nama orang ', ' ', i, ': ', nama[i]);
readln;
writeln;

end;
writeln('Terima Kasih :)');
end.

Catatan : kode program diatas, kami buat dengan menggunakan Delphi Console dimana kode inipun bisa dicoba di dalam bahasa Pascal.
Selamat Mencoba.......


Contoh Deklarasi Larik

Berikut ini diberikan contoh bagaimana cara pendeklarasian tipe larik :

: type
   nmhari=(Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu);
harikerja = Senin..Sabtu;
dftnilai=array[1..20] of integer;
jamkerja = array[harikerja] of real;

var
   nilai:dftnilai;
   wktkerja : jamkerja;

Selasa, 13 Oktober 2009

Deklarasi Larik/Array

Dalam mendeklarasikan larik/array, selain mendefinisikan tipe larik, juga harus menentukan banyaknya larik yang akan mengisi larik tersebut. Dengan kata lain kita perlu menentukan cacah/jumlah elemen yang akan menempati larik tersebut. Berikut ini bentuk dari deklarasi larik berdimensi 1 :
Array[index] of tipe_data.
 dimana :
1. Tipe_data : tipe dari larik tersebut, bisa bertipe char, real, integer, byte maupun tipe yang lain.
2. Index : batas jumlah atau cacah elemen yang akan di deklarasikan.

Untuk index selalu digunakan tipe data sub range atau terbilang. Index disini berarti nilai yang menunjukkan nilai awal dan nilai akhir dari index yang ada pada larik.

Deklarasi tipe index yang kita lakukan nanti akan memberikan beberapa informasi kepada kompiler diantaranya :
a. batas index
b. cacah elemen dalam larik

CASE OF

Dalam bahasa Pascal dan juga di bahasa pemrograman yang lain, pengambilan keputusan dengan sejumlah alternative jawaban dapat dilakukan dengan menggunakan fungsi percabangan yang dalam hal ini menggunakan CASE.

Sintak sederhana dari bentuk statement case adalah :

Case ungkapan of
Label1 :statemen 1;
Label2 :statemen 2;
Label3 :statemen 3;
…………..
………….
………….
Label n:statemen n
End;

Penjelasan :
Ungkapan : dapat berupa semabarang ungkapan yang bertipe hasil integer, Boolean, char, maupun tipe terbilang.
Label : merupakan konstanta yang memiliki tipe yang sama dengan ungkapan. Setiap label kasus dapat terdiri dari sejumlah konstanta yang ditulis dipisahkan dengan tanda koma(,), sedangkan antara label dengan statemen dipisahkan oleh tanda titik dua (:)
Statement : dapat berupa statemen tunggal maupun majemuk.

Apa itu ARRAY


Didalam bahasa Pascal, selain terdapat tipe data sederhana seperti integer, boolean, real,char terdapat juga tipe data yang terstruktur. tipe data terstruktur ini terdiri dari : Array, Record, file dan set.
Array/Larik merupakan deret tipe data terstruktur yang terdiri atas sejumlah elemen dimana tiap-tiap elemennya terdiri dari suku yang bertipe data sama dengan posisi suku yang tetap dan teratur. Yang dimaksud dengan bertipe sama adalah jika salah satu sukunya bertipe data real maka semua suku dalam deret tersebut juga bertipe real.
Setiap Array/larik dapat dioperasikan dengan menggunakan pemilih elemen larik yang dikenal atau disebut dengan index atau subscript.
 Didalam program index ditulis dalam simbol [] setelah nama larik yang akan dimanipulasi. Larik juga dapat disebut sebagai pengubah berindex. Sesuai dengan cacah indeknya, maka larik dapat dikelompokkan menjadi larik berdimensi satu maupun berdimensi banyak. Dalam larik dimensi satu posisi elemen hanya dinyatakan oleh satu index saja. Dalam ilmu matematika dikenal dengan istilah Vektor.


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