|| Selamat Datang Di Web Blog Akromulfata, Web Blog Terupdate dalam Informasi || "Demi Ridlo Illahi aku beribadah, bekerja dan kuliah. Demi Restu Ayah Ibu ku persembahkan apa yang aku miliki, Dan Demi Bangsa Negeriku Indonsia Tercinta ku siap mengabdi hingga napas ku berhenti"   

Web Blog Akromulfata

Mau Kapan Kalau Tidak Sekarang

 
PRAKATA
Assalammualaikum WR. WB.

Pengunjung yang budiman...
Saya sampaikan Selamat Datang Di Web Blog yang menampung segala ide dan aspirasi saya... Selain itu, juga sebagai media, Web Blogger ini diharapkan dapat menjadi serambi buat pengembangan kreatifitas saya, mencurahkan isi hati serta memuat hal-hal yang sulit diungkapkan.
Dari itu, kita dapat sharing informasi dan komunikasi yang tak terbentangi dengan jarak dan waktu. Semoga Anda dapat memetik dari apa yang terpampang di web blog ini...
Saya samapaikan mohon maaf apabila ada hal-hal yang kurang berkenan
Terima Kasih Atas Kunjungan Anda

Wassalamulaikum Wr. Wb
WAKTU KUNJUNG
.
MUSIK KU

Free Indo Flash Mp3 Player at musik-live.net
KALENDER KU

Free Blog Content

.
BUKU TAMU

Free chat widget @ ShoutMix
.
PENGUNJUNG
.
PRAKTIKUM PEMROGRAMAN
Jumaat, 19 Januari 2007
Praktikum I

I.1. Tujuan
1. Mampu membuat source code(kode sumber) bahasa C.
2. Mengerti alur pembuatan program bahasa C.
3. Mampu membuat dan mengeksekusi program sederhana.

I.2. Deskripsi
I.2.1. Penggunaan Compiler Miracle C
Buka Compiler Miracle C dengan meng-click aplikasi yang ditunjuk oleh panah berwarna merah( Jika belum ada Compiler Miracle C, silahkan terlebih dahulu meng-install-nya)

maka akan tampil tampilan seperti berikut ini.

Jika Editor sudah terbuka, gunakan CTRL-N ( File – New) untuk memulai pembuatan program. Tombol F6 untuk mengkompilasi, tombol F7 untuk mem-build menjadikan executable file, tombol F8 untuk mengeksekusi berparameter. Untuk mengeksekusi program bisa dilakukan dari Command MS Dos (perintah CMD dari Menu RUN Windows) dengan cara mengetikan nama file executable yang akan dieksekusi.


File HelloWord.Exe dieksekusi melalui Command MS Dos sebagai berikut.
Struktur Program
Berikut ini adalah contoh dari sebuah program utama dalam bahasa C
/* File : HelloWord1.c */
/* Nama pembuat : Jihadun Timus */
/* Deskripsi : Program untuk menuliskan kata asalam ke layar */

#include
int main ()
{
/* Kamus */

/* Algoritma */
printf("Assalamualaikum wR wB \n ");
return 0;
}

/* File : HelloWord2.c */
/* Deskripsi : Menuliskan nama program, nama argument, dan */
/* nama-nama environment */
#include
void main (int argc, char *argv[], char *envp[])
{ /* Kamus */
/* .......................*/
/* Algoritma */
/* .......................*/
printf("Jumlah parameter adalah %d\n",argc-1); /* mencetak jml arg */
printf("Nama program adalah %s\n",argv[0]); /*mencetak nama program*/
printf("Argumen kesatu adalah %s\n",argv[1]); /* mencetak argumen */
printf("Argumen kedua adalah %s\n",argv[2]); /* mencetak argumen */
printf("Argumen ketiga adalah %s\n",argv[3]); /* mencetak argumen */

printf("%s\n",envp[0]); /* mencetak environment */
printf("%s\n",envp[1]); /* mencetak environment */
printf("%s\n",envp[2]); /* mencetak environment */
printf("%s\n",envp[3]); /* mencetak environment */
}

Keterangan :
1.Tidak ada aturan penulisan ketat tentang posisi karakter seperti dalam bahasa - bahasa berorienasi kolom (misalnya Fortran, Cobol). Walaupun demikian disarankan agar pengetikan program dilakukan dengan identasi, agar program mudah dibaca.
2.Fungsi main () adalah nama fungsi yang menandai awal dan akhir eksekusi program. Suatu program dalam bahasa C harus mempunyai satu fungsi yang bernama main.
3.Return value main akan diberikan ke lingkungan yang menjalankan program (biasanya berupa angka integer, yang menyatakan tingkat kesalahan yang terjadi pada saat terminasi program). Kebanyakan program tidak mengembalikan nilai sehingga deklarasinya adalah void main ()
4.Parameter argc menyatakan jumlah argumen yang diberikan pada program pada saat dipanggil (nama program dianggap sebagai argumen, sehingga jumlah argumen minimum adalah 1).
5.Parameter argv adalah array string berakhiran ‘\0’ (null-terminated). Isi array string pertama adalah, argv[0] yaitu nama program, argv[1] yaitu nama argumen program kesatu, argv[2] adalah nama argumen program yang kedua dan seterusnya.
6.Parameter envp adalah pointer ke array string lingkungan. Akhir array ditandai dengan NULL.
Saran : Sebaiknya penulisan program dalam bahasa C, mengikuti struktur dari notasi algoritmik
yang dipelajari dalam kuliah.


Compiling dan Linking
Sumber
( *.c)
Compiler Miracle C
.OBJ


.OBJ lainnya
Linking & Build
.LIB
.EXE
.MAP
























Compiling
Standarnya adalah source.c,,, akan menghasilkan .obj
Linking
Standarnya adalah source.obj,, akan menghasilkan file executable
Juga akan dihasilkan file .map
Extention File
.OBJ : Merupakan object file, formatnya adalah binary file
.MAP : Merupakan file yang menjelaskan tentang pemakaian alamat dan ukuran register segment yang digunakan oleh program sumber ketika running.
.EXE : Merupakan file executable yang siap di run

I.2.2. Membuat kode sumber dalam bahasa C
Sebelum membuat kode sumber dalam bahasa C, minimal Anda harus mampu menggunakan beberapa perintah DOS seperti DIR, delete, rename, mengerti autoexec.bat dan lainnya.
Berikut adalah contoh program sederhana yang dituliskan dalam kode sumber bahasa C. Secara umum setiap teks yang diawali dengan ‘/*’ dan diakhiri ’/*’ menyatakan komentar atau keterangan program.
I.3. Notasi Algoritmik
Program HelloWord1
{ Program menulis Asalamualikum wR wB ke layar}

Kamus

Algoritma
Output (’Assalamualaikum wR wB’)


I.4. Kode Sumber
#include
{ Nama File : HelloWord1.c
Deskripsi : Program menulis Asalamualikum wR wB ke layer ]
main ()
{
/* Kamus */

/* Algoritma */
printf(“Assalamualaikum wR wB’);
}

I.5. Langkah Pengerjaan
Ø Buka MS-DOS Prompt dan Compiler Miracle C untuk membuat program, mengkompilasi dan mengeksekusi.
Ø Ketikkan kode sumber tersebut dengan menggunakan Editor Miracle C. Tulis apa adanya, jika ada yang menjorok ke dalam gunakan spasi. Jika sudah, simpan dengan nama “HelloWord1.c” (tanpa tanda petik).
Ø Simpanlah program tersebut dengan nama file(” HelloWord1.c”).
Ø Anda sudah membuat sebuah kode sumber dalam bahasa C, langkah berikutnya adalah melakukan kompilasi dan eksekusi. Untuk melakukan kompilasi dibutuhkan compiler C (Kita akan menggunakan miracle C ).
Ø Langkah kompilasi : (berdasar contoh program di atas). Sintaks : -
Setelah menekan F6, Lihat isi direktori dengan perintah DIR, akan terdapat file yang berekstensi “.obj” dan itu merupakan hasil dari kompilasi.
Ø Setelah mengkompilasi anda lakukan Linking dengan menggunakan sintak : -
- Tekan tombol F7, lihat isi direktori dengan perintah DIR, akan terdapat file yang berekstensi “.map”, “.exe” dan itu merupakan hasil dari linking.
Ø Setelah kompilasi dan linking selesai maka anda memiliki sebuah program yang dapat dijalankan (karena sudah dimengerti oleh komputer). Cara menjalankan program : dari MS-DOS Prompt ketikkan nama program yang sudah dilinking, dari contoh di atas ketikkan “HelloWord1” lalu enter.

I.6. Pengamatan
Ø Pada saat eksekusi, apa yang terjadi di layar ?
Ø Apakah anda berhasil mengkompilasi dan me-linking program ? Jika tidak jelaskan alasannya !
Ø Coba Anda hilangkan teks yang mengandung “/*”, lakukan kompilasi dan lingking ulang, amati apa yang terjadi! Setelah mencoba kembalikan lagi ke isi file semula.
Ø Coba Anda ganti printf dengan Pritnf, lakukan kompilasi dan linking ulang, eksekusilah, amati apa yang terjadi.
Ø Ketikkan program HelloWord2.c di atas! Setelah selesai anda mengkompilasi, panggilah program tersebut dari Command MS Dos dengan perintah “HelloWord2 5 3 4” tanpa petik, amati apa yang terjadi.



Praktikum II

II.1. Tujuan :
1. Mampu membuat program yang memuat deklarasi variable bernilai, cara akses(tulis).
2. Memahami penggunaan fungsi inputan ”scanf”.
II.2. Deskripsi
Lihat Referensi untuk deklarasi variable, fungsi “scanf”
II.3. Notasi Algoritmik
Program InOut
{ Nama File : InOut1.c
Tgl : 7 Desember 2006
Deskripsi : Contoh Program Kecil untuk memasukkan nilai bertipe string dan
menuliskannya ke layar }
Kamus
String : char[80]
Algoritma
output("Masukan sebuah string :");
input(string);
output("String yang dimasukan adalah:", string);

II.4. Kode Sumber
#include
/* Program InOut
Nama File : InOut1.c
Tgl : 7 Desember 2006
Deskripsi : Contoh Program Kecil untuk memasukkan nilai bertipe string dan
menuliskannya ke layar */

/*Kamus*/
char string[80];
/*Algoritma */
printf("Masukan sebuah string :");
scanf("%s",string);
printf("String yang dimasukan adalah: %s\n", string);
II.5. Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor.
· Lakukan kompilasi dan linking sampai tidak ada error.
· Lakukanlah Eksekusi.
II.6. Pengamatan
· Masukkan nilai ”Budi” tanpa petik, apa yang terjadi di layar ?
· Ubahlah perintah scanf(“%s”, string) menjadi scanf(“%d”, string, apa yang terjadi di layar ? Mengapa ?
· Kembalikan pada semula program yang anda ubah tadi! Ubahlah kamusnya : dari char string[80], menjadi char string. Lakukan kompilasi! Apa yang terjadi ? Mengapa ? Coba anda betulkan programnya !



Praktikum III


III.1. Tujuan :
1. Memahami dan mengerti jenis-jenis analisa kasus
2. Memahami penggunaan analisa kasus.
III.2. Deskripsi

Analis Kasus (if-then-else, switch )
Lihat Referensi!
Pengulangan (repeat-While, for, iterate)
Lihat Referensi!
III.3. Notasi Algoritmik
Program AnalisaKasus
{Nama File : Kasus.c
;Tgl : 7 Desember 2006
;-----------------------------------------------------------------
;Contoh Program Kecil untuk menganalisa bilangan yang dimasukkan dan
Menuliskannya dalam kalimat bilangan sesuai bilangannya }
Kamus
a : integer

Algoritma
output("Masukan suatu bilangan : ")
input(a);
output("Bilangan anda dapat ditulis ");
depend on (a)
10 : output("Sepuluh ")
11 : output("Sebelas ")
12 : output("Dua Belas ")
13 : output("Tiga Belas ")
Else : output("Cari sendiri ")
III.4. Kode Sumber
/*Program AnalisaKasus
;Nama File : Kasus.c
;Tgl : 7 Desember 2006
;-----------------------------------------------------------------
;Contoh Program Kecil untuk menganalisa bilangan yang dimasukkan dan
Menuliskannya dalam kalimat bilangan sesuai bilangannya */

/*;Kamus */
int a;
/*;Algoritma */
printf("Masukan suatu bilangan : "); scanf("%d",&a);
printf("\nBilangan anda dapat ditulis ");
switch (a)
{
case 10 : printf("Sepuluh "); break;
case 11 : printf("Sebelas "); break;
case 12 : printf("Dua Belas "); break;
case 13 : printf("Tiga Belas "); break;
default : printf("Cari sendiri "); break;
}

III.5. Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor.
· Lakukan kompilasi dan linking sampai tidak ada error.
· Lakukanlah Eksekusi.
III.6. Pengamatan
· Run program analisa kasus di atas ! Amati pengelompokkan setiap masukkan bilangan!
· Ubahlah program AnalisaKasus.C ! Gantilah struktur switch
menjadi struktur if-then-else. Cobalah masukkan bilangan yang sama pada langkah pertama sehingga pengubahan struktur tidak mempengaruhi algoritma program.




Praktikum IV


IV.1. Tujuan :
1. Memahami cara menggunakan array / larik / tabel.
2. Memahami penggunaan pengulangan.

IV.2. Deskripsi

Array
Secara umum Array merupakan salah satu bentuk struktur data untuk menyimpan suatu nilai integer,char, real, dan sebagainya. Ada 2 hal yang perlu diperhatikan untuk mengoperasikan struktur data array yaitu :
1. Mendeklarasikan array
2. Mengakses elemen array : Mengakses yaitu menulis dan mengisi, untuk mengisi elemen array bisa melalui cara assignment statement(xiß 10 ) atau melalui masukan dari keyboard.

Pengulangan
Lihat referensi !

IV.3. Notasi Algoritmik
Program Array
{ Contoh Pendeklarasian dan pengaksesan array }
Kamus
Bilangan : array [1..5] of integer
Algoritma
{ Masukkan nilai array melalui assignment statement}
Bilangan[1]ß 1
Bilangan[2]ß 2
Bilangan[3]ß 3
Bilangan[4]ß 4
Bilangan[5]ß 5
{ Masukkan nilai array melalui input dari keyboard}
iß 1
Repeat
Input(Bilangan i )
iß i + 1
Until i < 5


IV.4. Kode Sumber

#include
/* Program Array
;Nama File : array.c
;Tgl : 7 Des 2006
;-----------------------------------------------------------------
;Contoh Program Kecil untuk mendeklarasikan, mengisi array melalui 2 cara ;yaitu assignmnet statement dan masukan dari keyboard
;------------------------------------------------------------------- */
/* Kamus */
int bil[5];
int i;

/* ALGORITMA */
main()
{
{----- ASSIGNMENT STATEMENT}
bil[0]=1;
bil[1]=6;
bil[2]=8;
bil[3]=9;
bil[4]=10;
i=1;

{----- OUTPUT ------------}
while (i<=5)
{
printf("%d",(bil[i-1]));
i++;
}

/*{ Masukkan nilai array melalui input dari keyboard} */

{---------INPUT-----------}
i=1;
do
{ printf("Masukkan Bilangan : ");
scanf("%d",&(bil[i-1]));
i++;
}
while (i <= 5) ;

{ -------- OUTPUT---------}
i=1;
do
{
printf("%d",(bil[i-1]));
i++;
}
while (i <= 5);
}



IV.5. Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor.
· Lakukan kompilasi dan linking sampai tidak ada error.
· Lakukanlah Eksekusi.
IV.6. Pengamatan
· Amati file array.c ! Apakah ada kesalahan ? jika ada, betulkan !
· Modifikasilah program array.c dengan mengganti pengulangan di atas menjadi pengulangan (loop for). Lakukan kompilasi dan eksekusi !




PRAKTIKUM V

V.1. Tujuan :
1. Memahami struktur Komposisi.
2. Memahami penggunaan struktur komposisi dikombinasikan dengan array dan pengulangan.

V.2.Deskripsi :
Lihat Referensi Struktur Komposisi !

V.3. Notasi Algoritmik
Program Array
{Membaca bilangan dari keyboard, bilangan ditampung dalam variabel Y . Bilangan Y memiliki range [1..10], Nilai Y akan menentukan pengisian. Array X sejumlah 10 elemen masing-masing bertipe struktur komposisi Point. Nilai ordinat diset masing-masing, x ß 4, y ß 7 }
Kamus

Type
Point = Record
x, y : Integer
end

P : Point
i : integer
Y : integer
a,b : Integer { digunakan sebagai dasar ordinat}

Algoritma
i ß 1
Input ( Y) { Valid bilangan 1 sampai dengan N }
while ( i <= Y ) do
aß 4 b ß 5
P.x ß a P.y ß b
i ßi + 1


V.4. Kode Sumber

#include
/* Program Struktur
;Nama File : Struktur.c
;Tgl : 7 Des 2006
Membaca bilangan dari keyboard, bilangan ditampung dalam variabel Y . Bilangan Y memiliki range [1..10], Nilai Y akan menentukan pengisian. Array X sejumlah 10 elemen masing-masing bertipe struktur komposisi Point. Nilai ordinat diset masing-masing, x ß 4, y ß 7 */
/* Kamus */
typedef struct
{ int x, y; } Point;

Point P ;
int i,Y ;
int a,b ; { digunakan sebagai dasar ordinat}

/* ALGORITMA */
main()
{

do
{ printf(“Masukkan Bilangan Valid 1.. N : “);
Scanf(“%d”,&Y);
}
while ( Y < 1);

i=1;
while ( i <= Y ){
a= 4; b=5;
P.x=a; P.y = b;
i++;
}

}
V.5. Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor.
· Lakukan kompilasi dan linking sampai tidak ada error.
· Lakukanlah Eksekusi.
V.6. Pengamatan
· Amati file struktur.c ! Apakah ada kesalahan ? jika ada, betulkan !
· Perhatikanlah program strutkur.c di atas! Nilai yang diberikan pada variabel P bertipe Point selalu ditumpuk oleh nilai 4 dan 5 untuk masing-masing ordinat. Ubahlah program tersebut sehingga nilai 4 dan 5 akan terisi ke dalam array [1..5] of Point.





Praktikum VI
(Fungsi dan Procedure)
VI.1 Fungsi1
VI.1.1 Tujuan
· Memahami pembentukan fungsi
VI.1.2 Deskripsi
Didefinisikan sebuah fungsi IsNol yang berfungsi untuk mentest apakah nilai integer adalah nol, fungsi mengembalikan true jika nilainya 0. Ketikanlah fungsi tersebut dan simpan di file Nol.c. Lakukan kompilasi terhadap fungsi yang dibuat.
VI.1.3 Teks Algoritma

Function IsNol(x : integer) à boolean
{ Fungsi mengembalikan true jika x=0 dan false jika x != 0 }
Algoritma :
à (x = 0 ); {Cara implisit}

VI.1.4 Kode Sumber

int IsNol(int x )
/* Fungsi mengembalikan true jika x=0 dan false jika x != 0 */
{ /* Algoritma : */
return (x == 0 ); /* Cara implisit */
}


VI.1.5 Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor
· Lakukan kompilasi
· Lakukan eksekusi
VI.1.6 Pengamatan
· Apakah ada error ketika dilakukan kompilasi ?
· Apakah bisa dilakukan eksekusi ? Jelaskan !
· Termasuk kategori Program atau SubProgram instruksi di atas? Jelaskan!
VI.1.7 Kesimpulan









VI.2 Fungsi2
VI.2.1 Tujuan
1. Memahami pendeklarasian fungsi dalam program.
2. Memahami peranan program utama sebagai titik tolak saat sebelum dan sesudah pemanggilan fungsi.
3. Memahami cara dan proses pemanggilan fungsi.
4. Memahami nilai pengembalian fungsi bertype dasar(integer, real, character, boolean).
VI.2.2 Deskripsi
Fungsi yang telah di buat pada praktikum fungsi1, harus ditest apakah jalan atau tidak. Untuk mengetestnya, fungsi yang tersimpan dalam file Nol.c harus ditempelkan di program penguji fungsi yang ada dalam teks algoritma/kode sumber. Program penguji fungsi diberi nama DriIsNol.c. Fungsi IsNol akan dipanggil oleh instruksi yang ada dalam program utama.
VI.2.3 Teks Algoritma
Program PengujiIsNol
{ Nama File : DriIsNol.c
Deskripsi : Menguji fungsi IsNol }

{---Kamus Global---}
Nilai : Integer;
B : boolean;

{-----Tempat Deklarasi Fungsi IsNol -----}

Algoritma {Program Utama}
{1} Output(‘Masukan Nilai Integer Sembarang : ’)
{2} Input(Nilai)
{3} B ß IsNol(Nilai)
{4} If B Then
{5} Output(‘Nilai integer yang dimasukan adalah Nol’)
{6} Else
{7} Output(‘Nilai integer yang dimasukan adalah bukan Nol’)


VI.2.4 Kode Sumber
/* Program PengujiIsNol;
Nama File : DriIsNol.pas
Deskripsi : Menguji fungsi IsNol */

#include
{---Kamus Global---}

int Nilai;
int B ;

/*-----Tempat Deklarasi Fungsi IsNol -----*/




main()
{
/* Algoritma {Program Utama} */
/*1*/ printf(“Masukan Nilai Integer Sembarang : “);
/*2*/ scantf(“%d”, Nilai);
/*3*/ B=IsNol(Nilai);
/*4*/ if ( B )
/*5*/ printf(“Nilai integer yang dimasukan adalah Nol”)
/*6*/ else
/*7*/ printf(“Nilai integer yang dimasukan adalah bukan Nol”);
}
VI.2.5 Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor, tempelkan function IsNol di bagian deklarasi function
· Lakukan kompilasi
· Lakukan eksekusi
VI.2.6 Pengamatan
1. Masukan Nilai Integer Sembarang :
(Coba masukan 20, 0, -20, a )
2. Di manakah tempat pendeklarasian fungsi ?
3. Pada baris keberapa fungsi dipanggil oleh program utama ?
4. Apa range fungsi IsNol ? Apa range variabel B ?
VI.2.7 Kesimpulan









VI.3 Fungsi4
VI.3.1 Tujuan
· Memahami cara pendeklarasian fungsi bertype bentukan struktur komposisi.
· Memahami nilai pengembalian fungsi bertype bentukan struktur komposisi.
VI.3.2 Deskripsi
Pada program ini diperlihatkan sebuah type Titik, yang akan digunakan oleh instansiasi variabel dan pengembalian fungsi CreateTitik.
VI.3.3 Teks Algoritma
Program PengujiFungsiBentukan2;
{ Nama File : Fben2.c
Deskripsi : Menguji fungsi bertype bentukan CreateTitik }

{---Kamus Global---}
Type Titik : <>

NilX, NilY : Integer
NilaiTitik : Titik

{-----Deklarasi Fungsi -----}
Function CreateTitik(x1 : integer; x2 : integer)à Titik
{ Fungsi akan membentuk sebuah titik yang elemennya dikirim lewat
variabel x1 dan x2, x1 menyatakan ordinat dan x2 menyatakan absis}
Kamus Lokal :
Algoritma :
à <>

Algoritma {Program Utama}
Output(‘Masukan Nilai x dan y Sembarang, diakhiri dengan Enter ’)
Input(NilX, NilY)
NilaiTitik ßCreateTitik(NilX, NilY)
Output(‘Setelah pemanggilan fungsi CreateTitik : Nilai Ordinat=
‘,NilaiTitik.X, ‘ Nilai Absis = ‘, NilaiTitik.Y)
VI.3.4 Kode Sumber
/ * Program PengujiFungsiBentukan2;
{ Nama File : Fben2.c
Deskripsi : Menguji fungsi bertype bentukan CreateTitik } */
#include
/* {---Kamus Global---} */
typedef struct {
int X, Y;
} Titik;

int NilX, NilY ;
Titik NilaiTitik;




/*{-----Deklarasi Fungsi -----}*/
Titik CreateTitik(int x1, int x2)
/*{ Fungsi akan membentuk sebuah titik yang elemennya dikirim lewat
variabel x1 dan x2, x1 menyatakan ordinat dan x2 menyatakan absis}*/
{
/*Kamus Lokal :*/
Titik Hsl;
/*Algoritma : */
Hsl.X = x1; Hsl.Y = x2;
return Hsl;
}
main()
{
/*Algoritma {Program Utama}*/
printf(“Masukan Nilai x dan y Sembarang, diakhiri dengan Enter “);
scantf(“%d %d”, &NilX, &NilY);
printf(“Sebelum pemanggilan fungsi CreateTitik : Nilai Ordinat=%d
Nilai Absis = %d “, NilaiTitik.X, NilaiTitik.Y);
NilaiTitik =CreateTitik(NilX, NilY);
printf(“Setelah pemanggilan fungsi CreateTitik : Nilai Ordinat=%d
Nilai Absis = %d “, NilaiTitik.X, NilaiTitik.Y);
}
VI.3.5 Langkah Pengerjaan
· Tuliskanlah kode sumber tersebut dalam sebuah editor
· Lakukan kompilasi
· Lakukan eksekusi
VI.3.6 Pengamatan
Amati nilai NilaiTitik sebelum dan setelah pemanggilan fungsi!
VI.3.7 Kesimpulan














VI.4 Fungsi5
VI.4.1 Tujuan
· Memahami cara pendeklarasian fungsi bertype bentukan struktur komposisi.
· Memahami nilai pengembalian fungsi bertype bentukan struktur komposisi.
· Memahami operasi tambah dalam type bentukan struktur Titik

VI.4.2 Deskripsi
Diketahui spesifikasi fungsi sebagai berikut :

Function CreateTitik(x1 : integer; x2 : integer): PTitik;
{ Fungsi akan membentuk sebuah titik yang elemennya dikirim lewat
variabel x1 dan x2, x1 menyatakan ordinat dan x2 menyatakan absis}

Function TambahTitik(Titik1 : Ptitik; Titik2 : PTitik) : Ptitik;
{Fungsi akan mengembalikan hasil penambahan elemen bersesuaian antara Titik1 dengan Titik2, Absis Titik1 ditambah absis pada Titik2, Ordinat Titik1 ditambah Ordinat Titik2 }


Realisasikanlah fungsi di atas sehingga akan terbentuk program lengkap yang meliputi :
· Definisi type Titik (lihat Fungsi4),
· Deklarasi Variabel TitikSatu, TitikDua, TitikHasilTambah bertype Ptitik
· Program Utama (Driver) yang memanggil CreateTitik, TambahTitik, tampilkan hasil operasi penambahan Titik.

VI.5 Procedure1
VI.5.1 Tujuan
· Memahami pendeklarasian dan pembentukan procedure dalam program.
· Memahami peranan program utama sebagai titik tolak saat sebelum dan sesudah pemanggilan procedure.
· Memahami cara dan proses pemanggilan procedure.
· Memahami perubahan nilai, dari parameter formal bersifat input, output dan input/output
VI.5.2 Deskripsi
Ketikanlah program pada Kode Sumber yang berisi procedure Add, procedure Tukar1, dan procedure Tukar2 kemudian simpan dengan nama proce1.pas.
VI.5.3 Kode Sumber
Program PengujiProc;
{ Nama File : proce1.pas
Deskripsi : Menguji procedure Add,Tukar1, Tukar2 }
Uses Crt;
{---Kamus Global---}
Var
Nilai1, Nilai2, NilaiJumlah : Integer;
B : boolean;
{-----Tempat Deklarasi Procedure -----}
Procedure Add(a : integer; b : integer; var sum : integer);
{ I.S : Nilai a,b dan sum sembarang
F.S : Sum adalah hasil penjumlahan a dengan b}
Begin
Sum:=a + b;
end;

Procedure Tukar1(var a : integer; var b : integer);
{ I.S : Nilai a,b sembarang
F.S : Nilai a dan b ditukar }
{ Kamus Lokal }
var Temp : Integer;
Begin
Temp := a; a:=b; b:=Temp;
end;

Procedure Tukar2(var a : integer; b : integer);
{ I.S : Nilai a,b sembarang
F.S : Nilai a=b, nilai b tetap seperti semula }
{ Kamus Lokal }
var Temp : Integer;
Begin
Temp := a; a:=b; b:=Temp;
end;

Begin {Program Utama}
{1} Write(‘Masukan 2 buah Nilai Integer Sembarang : ’);
{2} Readln(Nilai1, Nilai2);
{3} Add(Nilai1, Nilai2, NilaiJumlah);
{4} writeln(‘Hasil penjumlahan : ‘,Nilai1,‘+’,Nilai2,’=‘,NilaiJumlah);
{5} writeln(‘Sebelum ditukar dengan Proc Tukar1, Nilai1 :‘,Nilai1,‘ Nilai2 :’,Nilai2);
{6} Tukar1(Nilai1, Nilai2);
{7} writeln(‘Setelah ditukar dengan Proc Tukar1, Nilai1 :‘,Nilai1,‘ Nilai2 :’,Nilai2);
{8} writeln(‘Sebelum ditukar dengan Proc Tukar2, Nilai1 :‘,Nilai1,‘ Nilai2 :’,Nilai2);
{9} Tukar2(Nilai1, Nilai2);
{10}writeln(‘Setelah ditukar dengan Proc Tukar2, Nilai1 :‘,Nilai1,‘ Nilai2 :’,Nilai2);

Readln;
End.
VI.5.4 Eksekusi
· Masukan 2 buah Nilai Integer Sembarang :
(Coba masukan 20 Enter, 0 Enter)
· Hasil penjumlahan : 20+0=20
· Sebelum ditukar dengan Proc Tukar1, Nilai1 :20 Nilai2 :0
· Setelah ditukar dengan Proc Tukar1, Nilai1 :0 Nilai2 :20
· Sebelum ditukar dengan Proc Tukar2, Nilai1 :0 Nilai2 :20
· Setelah ditukar dengan Proc Tukar2, Nilai1 :20 Nilai2 :20

VI.5.5 Pengamatan
1. Lakukanlah Tracing program menggunakan F7, perhatikan perubahan-perubahan pada setiap langkah ?
2. Coba ubah parameter formal pada procedure Add, dari Procedure Add(a : integer; b: integer; var sum : integer) menjadi Procedure Add(a : integer; b: integer; sum : integer), apa yang terjadi ?
3. Coba ubah parameter formal pada procedure Tukar1, dari Procedure Tukar1(var a : integer; var b: integer) menjadi Procedure Tukar1(a : integer; b: integer), apa yang terjadi ?
4. Coba ubah parameter formal pada procedure Tukar2, dari Procedure Tukar2(var a : integer; b: integer) menjadi Procedure Tukar2(a : integer; var b : integer), apa yang terjadi ?


VI.5.6 Kesimpulan









Praktikum VII

Skema Pemrosesan Sekuensial
VII.1 Pemrosesan Sekuensial1
VII.1.1 Tujuan
· Memahami pengertian sekuensial.
· Memahami item-item sekuensial.
VII.1.2 Deskripsi
Pemrosesan sekuensial adalah pemrosesan secara satu persatu, dari sekumpulan informasi sejenis yang setiap elemennya dapat diakses dengan keterurutan tertentu(ada suksessor), jadi seakan-akan kumpulan elemen merupakan “Deret”. Elemen yang akan diproses dapat bertipe dasar (real, integer, karakter, boolean), tetapi juga bertype terstruktur(misalnya Point.
Kumpulan informasi itu disimpan sedemikian rupa, sehingga selalu dikenali :
· Elemen pertama (First-Elmt)
· Elemen yang siap diproses (Current-Elmt)
· Elemen yang diakses setelah Current-Elmt(Next-Elmt)
· Tanda akhir proses (EOP)
Untuk memahami itu semua, coba anda ketikan source program di bawah ini!
VII.1.3 Kode Sumber
Program Seq1;
{ Nama File : Sequen1.pas
Deskripsi : Menjumlahkan bilangan 1+2+3+4+..N, dengan N dibaca dari keyboard }
Uses Crt;
{---Kamus Global---}
Var
I : integer; {bilangan yang akan dijumlahkan }
N : integer; {banyaknya bilangan yang dijumlahkan, N > 0}
Sum : integer; {jumlah}
Begin {Program Utama}
{1} Write(‘Masukan banyaknya bilangan yang akan dijumlahkan : ’);
{2} readln(N);
{3} Sum=0;
{4} I=1;
{5} while I <= N do
begin
{6} writeln(‘Nilai i adalah : ’, i);
{7} sum=sum + 1;
{8} I=I+1;
end;
{9} writeln(‘Jumlah bilangan adalah ’, sum);
End.
VII.1.4 Eksekusi
· Masukan banyaknya bilangan yang akan dijumlahkan :
(Coba masukan 5 Enter)
· Nilai i adalah : ………….. (dicetak berulang)
· Jumlah bilangan adalah 15

VII.1.5 Pengamatan
Coba anda perhatikan! Instruksi-instruksi mana saja yang termasuk First-Element, Next-Element, keadaan EOP. Juga perhatikan instruksi Inisialisasi, Proses terhadap Current-Element, dan Terminasi

VII.1.6 Kesimpulan










VII.2 Pemrosesan Sekuensial2
VII.2.1 Tujuan
· Memahami kasus kosong.
· Memahami “Mark”.
· Memahami penanganan kasus kosong.
VII.2.2 Deskripsi
Mark adalah tanda pemberhentian dari proses sekuensial. Elemen yang ditandai sebagai Mark, merupakan elemen fiktif yang informasinya berbeda dengan elemen-elemen lainnya. Contoh : sebuah deretan bilangan integer positif; 1, 4, 5, 8, 2, 7, -999. Elemen yang dapat dijadikan Mark dari contoh tersebut adalah -999. Elemen Mark tidak boleh diproses, yang diperbolehkan hanya sebatas menguji elemen tersebut apakah Mark atau bukan ? Jika elemen tersebut Mark, proses berakhir.
Pada dasarnya, setiap elemen harus diproses (kecuali elemen fiktif). Bagaimana jika terjadi kasus kosong ? Apakah harus ada yang diproses ?. Ada beberapa hal yang perlu diperhatikan untuk menangani kasus kosong, 1) Jika terjadi kasus kosong, tidak boleh ada elemen yang diproses. 2) Jika terjadi kasus kosong, Mark tidak boleh diproses. 3) Kasus kosong bisa ditangani dengan menggunakan penangan kasus kosong khusus atau tanpa melalui penanganan kasus kosong khusus. Untuk menangani Mark dan Kasus kosong, akan berhubungan dengan cara pemilihan skema pengulangan (while, repeat, iterate, for).
Ketikanlah kode sumber di bawah ini !

VII.2.3 Kode Sumber
Program Seq2;
{ Nama File : Sequen2.pas
Deskripsi : Menjumlahkan bilangan 1+2+3+4+..N, dengan N dibaca dari keyboard}
Uses Crt;
{---Kamus Global---}
Var
I : integer; {bilangan yang akan dijumlahkan }
N : integer; {banyaknya bilangan yang dijumlahkan, N > 0}
Sum : integer; {jumlah}
Begin {Program Utama}
{1} Write(‘Masukan banyaknya bilangan yang akan dijumlahkan : ’);
{2} readln(N);
{3} Sum=0;
{4} I=1;
{5} repeat
{6} sum=sum + 1;
{7} I=I+1;
until I > N;
{8} writeln(‘Jumlah bilangan adalah ’, sum);
End.
VII.2.4 Eksekusi
· Masukan banyaknya bilangan yang akan dijumlahkan :
(Coba masukan 5 Enter)
· Jumlah bilangan adalah 15
· Masukan banyaknya bilangan yang akan dijumlahkan :
(Coba masukan 0 Enter)
· Jumlah bilangan adalah 1
·

VII.2.5 Pengamatan
· Tentukan Mark-nya !
· Program di atas sangat tergantung pada pemasukan data dari user, sehingga dimungkinkan terjadinya kasus kosong. Coba anda tunjukan terjadinya kasus kosong!
· Jika terjadi kasus kosong, program salah. Coba anda perbaiki supaya program menjadi benar !

VII.2.6 Kesimpulan









VII.3 Pemrosesan Sekuensial3
VII.3.1 Tujuan
· Memahami kasus kosong, mark dan penanganan kasus kosong dalam Array.
VII.3.2 Deskripsi
Diketahui array Tab dengan jumlah elemen 10 bertype integer. Elemen Tab harus diisi dengan bilangan integer sembarang, jumlah elemen Tab yang harus diisi tergantung pada masukan dari user, misalkan ; user memasukan 4 elemen, berarti elemen Tab yang pertama s/d keempat yang harus diisi, user mungkin memasukan 0, mungkin 1 atau 10.
VII.3.3 Kode Sumber
Program Seq3;
{ Nama File : Sequen3.pas
Deskripsi : Mengisi array Tab[10] dari elemen 1 s/d N, dengan bilangan integer, N dibaca dari keyboard, N < 11 }
Uses Crt;
{---Kamus Global---}
Var
I : integer; {bilangan yang akan dijumlahkan }
N : integer; {banyaknya elemen Tab yang akan diisi}
Tab : array[1..10] of integer;
Begin {Program Utama}
{1} Write(‘Masukan banyaknya elemen yang akan diisi : ’);
{2} readln(N);
{3} I=1;
{4} repeat
{5} Tab[I]=I +2;
{6} I=I+1;
until I > N;
{7} writeln;
End.
VII.3.4 Eksekusi
· Masukan banyaknya elemen yang akan diisi :
(Coba masukan 5 Enter)
VII.3.5 Pengamatan
· Tentukan Mark, Inisialisasi, First-Element, Next-Element, Proses terhadap Current-Element, Terminasi, dan EOP!
· Program di atas sangat tergantung pada pemasukan data dari user, sehingga dimungkinkan terjadinya kasus kosong. Coba anda tunjukan terjadinya kasus kosong!
· Jika terjadi kasus kosong, program salah. Coba anda perbaiki supaya program menjadi benar !

VII.3.6 Kesimpulan
posted by akromulfata @ 3:13 PTG  
0 Comments:
Catat Ulasan
<< Home
 
TENTANG SAYA

Name: akromulfata
Home: Cilacap, centra java, Indonesia
About Me: Mahasiswa D3 Teknisi Jardiknas
See my complete profile
STATUS ADMIN
POST SEBELUMNYA
ARSIP
Links
Powered by

Free Blogger Templates

BLOGGER

RILEX KU

zwani.com myspace graphic comments
Myspace Animated Comments

© 2008 Web Blog Akromulfata Template by akromulfata.blogspot.com