Tampilkan postingan dengan label Praktek. Tampilkan semua postingan
Tampilkan postingan dengan label Praktek. Tampilkan semua postingan

Rabu, 18 Desember 2013

MODUL 3: TEKNIK PERCABANGAN (BAGIAN 1)

Percabangan if merupakan sebuah blok program yang menyatakan bahwa sebuah aksi akan dijalankan jika kondisi percabangan dipenuhi, jika tidak dipenuhi maka aksi tidak akan dijalankan. Percabangan if biasa digunakan untuk mengerjakan aksi yang memilik syarat tertentu untuk menjalankannya. Pernyataan if diklasifikasikan ke dalam tiga bagian yaitu:
  1. Pernyataan if dengan satu kondisi (if tunggal)
  2. Pernyataan if dengan dua kondisi (if-else)
  3. Pernyataan if bersarang (if di dalam if)
Pernyataan if tunggal hanya melibatkan satu kondisi yang akan diperiksa. Apabalia kondisi yang diperiksa bernilai benar, maka program akan mengeksekusi bagian yang berada dalam blok. Jika sebaliknya, maka program akan mengabaikan statemen di dalam blok dan langsung melanjutkan eksekusi berikutnya

Pernyataan if dengan dua kondisi (if-else) digunakan untuk menyatakan pernyataan percabangan dua kondisi dimana ada dua blok aksi yang dipilih untuk dikerjakan jika syarat kondisi aksi terpenuhi. Saat pembacaan program sampai pada blok if-else, maka akan dilakukan pemeriksaan terhadap syarat kondisi percabangan yang ada pada deklarasi if, jika syarat dipenuhi maka yang akan dijalankan adalah aksi yang ada di dalam blok if. Tapi jika syarat tidak dipenuhi maka aksi yang dikerjakan adalah yang ada di dlaam blok else

==================================================================

Ok, sebagai latihan di modul 2 ini, aku mau coba menyalin program coding yang ada di halaman 12 modul praktikum,"Menentukan Kubus dan Bukan Kubus dengan If"

==========================================================

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var s1,s2,s3:integer;
begin
write('Program Menentukan Kubus dan Bukan Kubus');
writeln;
writeln;
write('By: I Dewa Gde Ari Wahyudi');
writeln;
writeln;
write('==========================');
writeln;
writeln;
write('Masukkan sisi pertama  : '); readln(s1);
write('Masukkan sisi kedua    : '); readln(s2);
write('Masukkan sisi ketiga   : '); readln(s3);
writeln;
if (s1=s2) and (s2=s3)then
begin
writeln('Termasuk Kubus');
end
else
begin
writeln('Bukan Kubus');
end;
readln;
end.

=============================================================
Penampakan 1


Penampakan 2



PROGRAM MENGHITUNG LUAS SEGITIGA

Nah sekarang aku membuat program untuk menghitung luas segitiga dengan menerima input alas dan tinggi. Jadi user tinggal memasukkan alas dan tinggi maka program akan segera menghitung luas segitiga sesuai dengan rumus 1/2 x alas x tinggi.

======================================================

program Project2;

{$APPTYPE CONSOLE}


uses
  SysUtils;

var
  a,t: integer;
  L:real;
begin
writeln('PROGRAM MENGHITUNG LUAS SEGITIGA');
WRITELN;
WRITELN;
WRITE('BY I DEWA GDE ARI WAHYUDI');
writeln;
writeln;
write('=========================');
writeln;
writeln;
write('Input Alas   : '); readln(a);
writeln;
write('Input Tinggi : '); readln(t);
L:= a*t div 2;
writeln;
write('Luas Segitiga:',L:4:0);
readln;
end.

======================================================


Note:  write('Luas Segitiga:',L:4:0);

Mengapa setelah L diberi angka 4 dan 0, jadi angka 4 itu maksudnya untuk mencetak luas dengan pemberian spasi 4, 0 itu berarti tidak ada angka di belakang koma. Untuk eksperiman bisa diubah angka 4 dan 0 sesuai dengan keinginan

Ini penampakan programnya:


MODUL 2: OPERATOR LOGIKA, EKSPRESI RUNTUTAN, TEKNIK RUNTUTAN

Operator adalah simbol atau tanda yang jika diletakkan pada dua buah operand dapat menghasilkan sebuah hasil. Dalam logika, dua kalimat dapat digabungkan dengan operator logika. Operator logika dalam program digunakan untuk melakukan operasi-operasi yang menghasilkan nilai logik (true dan false). Berikut ini empat buah operator logika dalam pascal:
  • NOT  : Negasi
  • AND  : Konjungsi
  • OR   : Disjungsi
  • XOR  : Ekslusif Disjungsi
Sebuah expresi merupakan kumpula dari operand-operand yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai. Ada dua jenis expresi dalam bahasa pascal, yaitu:
  1. Ekspresi numerik/aritmatika : expresi yang menghasilkan nilai numerik/aritmatika
  2. Ekspresi Boolean/logika: yaitu suatu expresi yang menghasilkan nilai boolean (true/false)
Struktur runtutan adalah struktur algoritma yang paling sederhana dan mendasar.  Intruksi pada Pascal diporses secara sekuensial atau berkelanjutan. Sebuah program pascal yang lengkap terdiri dari
  • Kepala program
  • Bagian Deklarasi
  • Bagian Pernyataan
Ciri-ciri dari struktur runtutan yang benar:
  1. Tiap baris intruksi dikerjakan secara satu-persatu
  2. Tidak ada pengulangan untuk setiap baris intruksi
  3. Urutan intruksi yang dijalankan harus sama dengan urutan intruksi di algoritma
  4. Akhir dari intruksi merupakan akhir dari logaritma
=====================================================
Sekarang saatnya ngerjain latihan. Aku mau buat program yang ada di modul praktikum halaman 9, soal no 2, program untuk menerima masukan Nama, Alamat, Tahun Lahir, dan Tahun Sekarang yang akan menampilkan jumlah usia dari tahun yang dimasukkan.

=====================================================
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
n,a:string;
tl,ts:integer;
begin
write('Program Hitung Umur');
writeln;
writeln;
write('By: Dewa Gde Ari Wahyudi');
writeln;
writeln;
write('========================');
writeln;
writeln;
write('Masukkan Nama Anda         : '); readln(n);
write('Masukkan Alamat Anda       : '); readln(a);
write('Masukkan Tahun Lahir Anda  : '); readln(tl);
write('Masukkan Tahun Sekarang    : '); readln(ts);
writeln;
writeln;
write(' Hai ',n,' alamat anda di ',a,' umur anda sekarang adalah ',ts-tl); readln;
end.

=====================================================

Ini penampakan hasilnya:


Masih di halaman 9, untuk tugas soal no 1, bisa dilihat di PROGRAM MENGHITUNG LUAS SEGITIGA

Selamat mencoba semoga berhasil

MODUL 1 : JENIS-JENIS DATA DAN VARIABEL

Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variable atau konstanta pada program. Tipe data tersebut antara lain
a. Tipe Bilangan Bulat
Tipe bilangan bulat terdiri atas· Shortint : jangkauan nilai dari -128 sampai 127
· Integer : jangkauan nilai dari -32768 sampai 32767
· Longint : jangkauan nilai dari -2147483648 sampai 2147483647
· Byte    : jangkauan nilai dari 0 sampai 255
· Word    : jangkauan nilai dari 0 sampai 65535

b. Tipe bilangan lojik
· Boolean : merupakan tipe data yang berisi nilai dengan kemungkinan hanya berupa False (nilai salah) dan True (nilai benar)

c. Tipe bilangan Riil
Tipe riil adalah tipe yang berkaitan dengan segala jenis bilangan pecahan yang membutuhkan ketelitian dengan adanya nilai di belakang koma. Tipe bilangan riil terdiri dari:
· Real     : jangkauan nilai dari ± 2,9 x 10-39 s/d 1,7x1038
· Single   : jangkauan nilai dari ± 5,0 x 10-45 s/d 3,4 x 1038
· Double   : jangkauan nilai dari ± 5,0 x 10-324 s/d 1,7 x 10308
· Extended : jangkauan nilai dari ± 5,0 x 10-4951 s/d 1,1 x 104932
· Comp    : jangkauan nilai dari ± 263 s/d 263 -1 (-9.2x1018 s/d 9.2 x1018)

d. Tipe karakter
· Char : merupakan tipe yang berisi sebuah karakter

e. Tipe string
· String : merupakan pengembangan dari tipe char. Tipe string dapat berupa sederetan karakter.

Aturan-aturan penamaan variabel dalam bahasa Pascal :
  • Tidak boleh mengandung spasi, simbol atau tanda.
  • Tidak boleh menggunakan kata kunci yang sudah terdapat di dalam bahasa pascal
  • Tidak boleh diawali dengan angka.
---------------------------------------------------------------

OK segitu aja materinya, nanti kalau kepanjangan malah gak dibaca hahahahaha. Sekarang saatnya PRAKTEK. Jadi aku mau buat program Biodata, yang ada di modul praktikum halaman 4.


==================================================================

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  nama:string;
  umur:string;
  alamat:string;
begin
write('Program Biodata');
writeln;
writeln;
write('By Dewa Gde Ari Wahyudi');
writeln;
writeln;
writeln('=======================');
writeln;
writeln;
Write('Masukkan Nama Anda   : ');   readln(nama);
Write('Masukkan Umur Anda   : ');   readln(umur);
Write('Masukkan Alamat Anda : '); readln(alamat);
Writeln('  ');
writeln('Nama    : ',nama);
writeln('Umur    : ',umur);
Writeln('Alamat  : ',alamat);
readln;
end.


==================================================================

Berikut penampakannya:


Sekian postingannku mengenai jenis-jenis data dan variabel, sampai bertemu di postingan berikutnya

PROGRAM MENGHITUNG KELILING PERSEGI PANJANG

Iseng baca-baca modul praktikum terus nemuin soal no 3 di tugas halaman 5. Soalnya kayak gini "Buatlah program Pascal yang menerima 2 buah masukan bilangan bulat untuk menghitung keliling persegi panjang"

Nah lo, itu tulisan Pascal'nya kok dicoret, ya jelas dong, aku buatnya kan di Delphi. Tapi apapun programnya minumnya kopi (biar gak ngantuk pas coding). Tanpa basa-basi lagi, ini code yang udah aku buat:

========================================================

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var
  p:integer;
  l:integer;
begin
write('Program Menghitung Keliling Persegi Panjang');
writeln;
writeln;
write('by I Dewa Gde Ari Wahyudi');
writeln;
writeln;
writeln('=========================');
writeln;
write('tekan ENTER untuk melanjutkan'); readln;
writeln;
write('Input panjang  = '); readln(p);
writeln;
write('Input lebar    = '); readln(l);
writeln;
write('Keliling       = ',2*p +2*l or 2*(p+l));readln;
end.

========================================================

Ini penampakan hasilnya:


Mudah bukan? Selamat mencoba...

MODUL 4: TEKNIK PERCABANGAN

Selain pernyataan if dengan dua kondisi, suatu pernyataan if dapat mengandung pernyataan if yang lain. Bentuk seperti ini biasa disebut if bersarang. Sebah program mengijinkan blok percabangan if di dalam blok percabangan lainnya, dan tidak membatasi jenis percabangan apa yang boleh berada dalam percabangan lainnya

Pernyataan case merupakan alternatif dari pernyataan if untuk masalah dengan pilihan berganda. pada masalah tertentu, case lebih memberikan kejelasan daripada if, namun perlu diketahui bahwa semua persoalan yang dapat ditangani dengan case bisa ditangani oleh if, tetapi tidak sebaliknya, Case biasanya digunakan untuk memilih diantara lebih dari 2 pilihan. Case digunakan untuk menggantikan struktur if-else-if dimana kondisinya mengacu pada variabel yang sama.

===================================================================
Jadi yang diatas itu adalah dasar teori mengenai Teknik Percabangan. OK lanjut sekarang saatnya praktek. Disini aku merasa tertantang untuk membuat program setelah membaca soal Tugas no 2 halaman 15 di modul praktikum. Soalnya kayak gini:

"Buatlah program penentuan bonus bagi pembeli berdasarkan total pembelian yang dimasukkan. Dimana kriterianya adalah jika total pembelian lebih dari 100.000 maka pembeli mendapatkan diskon 10%. Jika total pembelian kurang dari 100.000 dan lebih dari 50.000 maka pembeli mendapatkan sebuah piring cantik. Jika total pembelian kurang dari 50.000 dan lebih dari 10.000 maka pembeli mendapatakan sebuah gelas cantik. Selanjutnya jika total pembelian kurang dari 10.000 maka pembeli tidak akan mendapatkan bonus".

Sudahkah anda terbayang pemirsa???? hehehehe,, 
Langsung aja deh, ini code yang udah aku buat:


program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var a: integer;

begin
  write('PROGRAM PENENTUAN BONUS');
  writeln;
  writeln;
  write('By: Dewa Gde Ari Wahyudi');
  writeln;
  writeln;
  write('========================');
  writeln;
  writeln;
  write('Tekan ENTER untuk melanjutkan');  readln;
  writeln;
  write('Masukkan Total Harga Pembelian: '); readln(a);
  if a >= 100000 then
  begin
  Writeln;
  write('Anda Mendapatkan Diskon 10%')
  end
  else if (a <= 100000)and (a >= 50000)
  then
  begin
  writeln;
  write('Anda Mendapatkan Sebuah Piring Cantik')
  end
  else if (a >= 10000) and (a <=50000)
  then
  begin
  writeln;
  write('Anda Mendapatkan Sebuah Gelas Cantik')
  end
  else
  begin
  writeln;
  write('Anda Tidak Mendapatkan Bonus');
end;
readln;
end.


Ini penampakannya pemirsahhhh...

Kalau mau contoh program yang menggunakan teknik percabangan lainnya bisa dilihat disini

PROGRAM MENENTUKAN NILAI

Ini tugas praktikum tanggal 5 Desember 2013, jadi kita disuruh buat program untuk menentukan nilai apa yang didapat oleh user. Program ini menggunakan teknik percabangan. Langsung aja disimak kodenya

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

VAR NA:INTEGER;
begin
  { TODO -oUser -cConsole Main : Insert code here }
write('PROGRAM MENENTUKAN NILAI');
writeln;
writeln;
write('By Dewa Gde Ari Wahyudi');
writeln;
writeln;
write('=======================');
writeln;
writeln;
write('Masukkan Nilai Anda: '); readln(na);
writeln;
case na of
85 .. 100 : writeln('anda mendapat nilai A');
75 .. 84  : writeln('anda mendapat nilai B');
65 .. 74  : writeln('anda mendapat nilai C');
55 .. 64  : writeln('anda mendapat nilai D');
0 .. 54   : writeln('anda mendapat nilai E');
else
writeln('Nilai Yang Anda Masukkan Tidak Valid');
end;
readln;

end.

Ini penampakan setelah dijalankan:


Selamat mencoba, semoga berhasil, kalau tinggal dicopy-paste harusnya sih berhasil hehehe,

Kamis, 12 Desember 2013

Membuat Pola Segitiga Menggunakan Pascal

Jadi udah menjadi tradisi di akhir pertemuan praktikum Pak Dody selalu ngasi tugas. Tugas kali ini disuruh buat pola segitiga siku-siku. Di program ini user nantinya bisa memasukkan karakter dan jumlah baris yang diinginkan.

Ini codenya:

program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;

var   a,b,c,d : integer;
      lagi,karakter: string;
begin
lagi:='y';
repeat
  writeln ('Program Membuat Pola Segitiga By Yudik');
  writeln;
  write ('Tekan ENTER untuk melanjutkan '); readln;
  writeln;
  write ('Masukkan karakter : '); readln(karakter);
  write ('Masukkan jumlah   : '); readln(a);
  writeln;
  c :=a;
  for a:=1 to c do
  begin
  for b:=1 to a do
  write (karakter);
  writeln;
  end;
    for b:=1 to a do
    begin
    for d:=1 to c do
    begin
    write (karakter);
    end;
    writeln;
    dec (c);
  end;
       write('Mau Coba Lagi [Y/N]: ');
       readln(lagi);
       writeln;
       until (lagi='N') or (lagi='n');
end.


Ini penampakan hasilnya


sekian, kalau ada yang mau ditanyakan silakan bertanya sama mbah google, jangan tanya sama saya, soalnya saya masih belajar hahahahaha