Selasa, 22 Desember 2009

PKM

PEMBUATAN SIRUP KERSEN (Muntingia calabura) SEBAGAI ALTERNATIF
OBAT ASAM URAT YANG AMAN


Program Kreativitas Mahasiswa Kewirausahaan
( PKMK )


Diusulkan Oleh :

1. Ratri Rahayu ( 4101408041 )
2. Defri Restian Y. ( 4301408010 )
3. Dian Kurnia Febriyani ( 4401409027 )


UNIVERSITAS NEGERI SEMARANG

2009

A. JUDUL PROGRAM
“PEMBUATAN SIRUP KERSEN (Muntingia calabura) SEBAGAI ALTERNATIF OBAT ASAM URAT YANG AMAN.”

B. LATAR BELAKANG MASALAH
Kesehatan adalah harta yang tak ternilai harganya, kesehatan bisa mendukung berbagai aktivitas kita dalam meraih keberhasilan dan juga kebahagiaan hidup. Cara yang murah dan mudah untuk mencapai kesehatan yang optimal adalah mencegah penyakit yang menyerang kita yaitu dengan menjalani pola hidup sehat, berolahraga dan mengkonsumsi makanan/minuman kesehatan.
Makanan kesehatan adalah makanan dan minuman yang dikonsumsi secara teratur bisa meningkatkan derajat kesehatan yang optimal, semula pemanfaatannya ditujukan untuk mencegah timbulnya berbagai penyakit degeneratif dan meningkatkan daya tahan tubuh. Namun, sesuai perkembangannya makanan dan minuman kesehatan dimanfaatkan pula sebagai pendamping dari pengobatan medis dalam membantu proses penyembuhan suatu penyakit.
Salah satu solusi yang mungkin dapat ditawarkan untuk menjaga daya tahan tubuh dan mencegah timbulnya berbagai penyakit adalah dengan mengkonsumsi minuman kesehatan. Telah banyak minuman kesehatan yang ditawarkan berupa produk-produk siap saji yang bisa langsung dikonsumsi. Seiring dengan perkembangan teknologi, kersen (Muntingia calabura) bisa dimanfaatkan sebagai minuman kesehatan (dalam bentuk sirup) terutama untuk obat-obatan.
Kersen atau talok adalah nama sejenis pohon dan buahnya yang kecil dan manis. Di beberapa daerah, seperti di Jakarta, buah ini juga dinamai ceri. Nama-nama lainnya di beberapa negara adalah: datiles, aratiles, manzanitas (Filipina), mât sâm (Vietnam); khoom sômz, takhôb (Laos); takhop farang (Thailand); krâkhôb barang (Kamboja); dan kerukup siam (Malaysia).
Juga dikenal sebagai capulin blanco, cacaniqua, nigua, niguito (bahasa Spanyol); Jamaican cherry, Panama berry, Singapore cherry (Inggris) dan nama yang tidak tepat, Japanse kers (Belanda), yang lalu dari sini diambil menjadi kersen dalam bahasa Indonesia. Nama ilmiahnya adalah Muntingia calabura.
Pohon kersen khususnya berguna sebagai pohon peneduh di pinggir jalan. Pohon kecil ini awalnya sering tumbuh sebagai semai liar di tepi jalan, selokan, atau muncul di tengah retakan tembok lantai atau pagar, dan akhirnya tumbuh dengan cepat (biasanya dibiarkan saja) membesar sebagai pohon naungan. Sebab itulah pohon kersen acapkali ditemukan di wilayah perkotaan yang ramai dan padat, di tepi trotoar dan lahan parkir, di tepi sungai yang tidak terurus atau di tempat-tempat yang biasa kering berkepanjangan.
Kersen merupakan jenis pioner yang khas, menjelajah lahan-lahan yang terganggu di dataran rendah tropik, yang dapat mempertahankan pertumbuhan yang sinambung. Kersen dapat tumbuh baik pada ketinggian sampai 1000 m dpl. Di Asia Tenggara, kersen merupakan salah satu jenis pohon pinggir jalan yang umum sekali dijumpai, terutama di wilayah-wilayah yang kering seperti di Jawa bagian timur. Kersen tumbuh sendiri di pekarangan yang terinjak-injak dan sepanjang halaman muka toko, di tempat yang tak ada pohon lain dapat tumbuh. Jenis ini menyenangi pH 5,5-6,5; toleransinya terhadap garam jelek sekali.
Buah kersen di daerah Srilangka sering diawetkan dan dibuat selai jam fruit. buah ini sangat digemari di Mexico dan umumnya dijual pada pasar-pasar tradisional dalam jumlah yang banyak. Jus buah kersen sangat bermanfaat dan memiliki kandungan yang lebih jika dibandingkan dengan berbagai larutan isotonik yang kini banyak beredar di pasaran.
Kandungan buah kersen setiap 100 gram kersen terkandung : air (77,8 gram),protein (0,384 gram), Lemak (1,56 Gram), karbohidrat (17,9 gram), serat (4,6 gram), abu (1,14 gram), kalsium (124,6 mg), fosfor (84mg), Besi (1,18 mg), karoten (0,019g), tianin (0,065g), ribofalin (0,037g), niacin (0,554 g) dan kandungan vitamin C (80,5 mg) nilai energi yang dihasilkan adalah 380KJ/100 gram. Sedangkan daun kersen telah lama dimanfaatkan sebagai tanaman obat tradisional yang digunakan sebagai obat sakit kepala dan anti radang oleh masyarakat Peru. Di Indonesia secara tradisional buah kersen digunakan untuk mengobati asam urat dengan cara mengkonsumsi bauh kersen sebanyak 9 butir 3 kali sehari hal ini terbukti dapat mengurangi rasa nyeri yang ditimbulkan dari penyakit asam urat.
Adapun klasifikasi dari Kersen adalah sebagai berikut:
Kerajaan : Plantae
Divisio : Magnoliophyta
Kelas : Magnoliopsida
Ordo : Malvales
Familia : Muntingiaceae
Genus : Muntingia L.
Species : Muntingia calabura
Dari seluruh data diatas, sangat jelas bahwa Kersen memiliki sumber-sumber zat gizi, antiseptik, antiflamasi, antitumor, dan penyembuh asam urat sehingga bisa dimanfaatkan untuk menjaga daya tahan tubuh dan menyembuhkan berbagai macam penyakit. Untuk itu, pembuatan sirup yang bahan baku dasarnya kersen ini merupakan salah satu penganekaragaman hasil olahan kersen seiring dengan perkembangan teknologi.

C. PERUMUSAN MASALAH
Berdasarkan latar belakang masalah diatas, maka permasalahan yang akan dibahas dalam program ini adalah :
1. Bagaimana membuat sirup kersen sebagai alternatif obat asam urat yang aman dalam rangka menumbuhkan kreatifitas berwirausaha dengan menciptakan peluang bisnis yang berorientasi pada profit?
2. Bagaimana memanfaatkan kersen sebagai alternatif minuman kesehatan (berbentuk sirup) yang dapat dikonsumsi oleh masyarakat dengan biaya yang terjangkau?

D. TUJUAN PROGRAM
Tujuan yang hendak dicapai dengan adanya program kewirausahaan ini, diantaranya yaitu:
1. Membuat sirup kersen sebagai alternatif obat asam urat yang aman dalam rangka menumbuhkan kreatifitas berwirausaha dengan menciptakan peluang bisnis yang berorientasi pada profit.
2. Memanfaatkan kersen sebagai alternatif minuman kesehatan (berbentuk sirup) yang dapat dikonsumsi oleh masyarakat dengan biaya yang terjangkau.
E. LUARAN YANG DIHARAPKAN
Adapun luaran yang diharapkan dari program ini adalah:
1. Terciptanya produk sirup kersen sebagai alternatif obat herbal yang aman serta dapat dipasarkan dan dikonsumsi oleh masyarakat.
2. Terciptanya peluang usaha mandiri bergerak di sektor kesehatan yang mengacu pada bidang jasa penjualan jasa sirup kersen sebagai alternatif obat herbal yang aman.
3. Meningkatkan karya kreativitas inovatif dalam terciptanya peluang usaha baru bagi mahasiswa yang bermanfaat dan tepat guna bagi masyarakat.

F. KEGUNAAN PROGRAM
Kegunaan program kreativitas ini adalah:
1. Membantu masyarakat yang mengalami permasalahan dengan kesehatan. Diantaranya yaitu: sebagai obat sakit kepala, obat turun panas, obat radang, sebagai antiseptik dan obat untuk asam urat sehingga dengan alternatif sirup dapat dijadikan sebagai obat herbal yang aman bagi tubuh.
2. Meningkatkan kretivitas inovatif mahasiswa dalam menemukan hasil karya yang dapat dimanfaatkan sebagai peluang usaha.
3. Memberikan nilai jual pada tanaman kersen dengan menganekaragamkan olahan kersen yang salah satunya adalah berupa sirup sebagai alternatif obat asam urat yang aman.

G. GAMBARAN UMUM RENCANA USAHA
1. Prospek Sirup Kersen bagi Kesehatan Tubuh Manusia
Pemanfaatan kersen semakin berkembang, yang pada mulanya hanya sebagai peneduh jalan bahkan diabaikan karena buahnya hanya menjadi makanan burung dan codot. Seiring dengan perkembangan teknologi, kersen layak dikonsumsi karena banyak manfaat yang dapat diambil.
Untuk itu, diperlukan suatu gagasan dalam berwirausaha yang dapat bermanfaat di bidang kesehatan, dengan mengolah kersen menjadi sirup yang dapat dikonsumsi sebagai minuman kesehatan yang dapat mengobati asam urat, dan dapat menjadi salah satu alternatif pendapatan mahasiswa.
2. Kelebihan Sirup Kersen
Kelebihan sirup kersen di bidang kesehatan adalah sebagai berikut:
a. Dapat menyembuhkan berbagai macam penyakit.
b. Sebagai antiseptik dan pembunuh mikroba yang berbahaya.
c. Aman dikonsumsi karena tidak mengandung pengawet dan pemanis buatan.
d. Produk bertahan lama.
e. Harga terjangkau oleh semua lapisan masyarakat.
3. Keterkaitan dengan Produk Lain Termasuk Perolehan Bahan Baku
Produk-produk sirup yang telah ada pada umunya hanya memberikan rasa dan kesegaran saja saat meminumnya, dan itu tidak mempunyai kelebihan atau manfaat bagi kesehatan khususnya. Oleh karena itu produk sirup kersen ini nantinya dapat bermanfaat bagi masyarakat, khususnya untuk kesehatan tubuh manusia, karena terkait dengan khasiat yang dimiliki oleh kersen yaitu dapat mengobati asam urat.
Perolehan bahan baku kersen ini dapat ditemukan di pohon-pohon kersen di tepi jalan dan dari warga yang mempunyai pohon kersen. Lokasi perolehan bahan baku ini dekat dengan lokasi tempat usaha, jadi adanya ketersediaan bahan baku yang memadai dan menjamin keberlangsungan usaha sirup kersen.
4. Peluang Pasar
Seperti halnya dengan sirup-sirup pada umumnya yang banyak dijumpai, sirup kersen mempunyai kelebihan di banding sirup-sirup yang ada karena sirup kersen memiliki khasiat-khasiat yang sangat bermanfaat untuk tubuh dan dapat menyembuhkan penyakit asam urat.
Peluang pasar sirup kersen ini sangat baik bagi mahasiswa dalam jasa penjualan karena sirup ini berbentuk seperti sirup-sirup pada umumnya tetapi mempunyai kelebihan yang spesifik.
5. Media promosi yang akan digunakan
Untuk menunjang proses pemasaran, ada beberapa alternatif yang bisa digunakan untuk mempromosikan produk ini, sehingga lebih dikenal oleh masyarakat dan menjadi pilihan masyarakat dalam mengkonsumsi sirup kersen. Media promosi yang dilakukan berupa brosur, pamflet, internet, dari mulut ke mulut dan lain sebagainya.
6. Strategi pemasaran yang akan diterapkan
Strategi pemasaran yang akan digunakan dalam usaha pembuatan sirup kersen ini menggunakan analisis Marketing Mix (bauran pemasaran) 4 P yaitu mengenai kebijakan produk, harga, promosi dan distribusi.
a. Kebijakan Produk
Usaha ini bergerak dalam bidang jasa penjualan. Jenis jasa ini berupa sirup yang dapat dikonsumsi setiap hari. Dengan berbagai macam rasa yang dapat dinikmati sebagai minuman penyegar dan mempunyai manfaat yang lebih dibanding sirup biasa pada umumnya.
b. Kebijakan harga
Harga yang ditawarkan kepada konsumen yaitu per botol berisi 600 ml @ Rp 17.000,00



c. Kebijakan promosi
Untuk meningkatkan hasil penjualan sirup kersen ini maka perlu dilakukan promosi. Bentuk promosi ini diantaranya yaitu dengan menggunakan pamflet, brosur, internet dan media promosi lainnya. Sistem penjualan yang dilakukan yaitu penjualan secara tunai.
d. Kebijakan distribusi
Distribusi hasil produksi kepada para konsumen dilakukan secara langsung di tempat usaha maupun secara tidak langsung yaitu penyetoran ke minimarket, pasar, toko-toko dengan menawarkan kerjasama dengan masyarakat. Selain itu dapat juga membuka toko sendiri.
7. Analisis Produk/Operasi
a. Bahan baku,bahan penolong dan peralatan yang digunakan
1) Bahan baku dan bahan penolong
Bahan baku yang digunakan dalam pembuatan sirup kersen ini adalah daging buah kersen, air, gula, essen dan asam sitrat.
2) Peralatan
Jenis peralatan dan perlengkapan yang digunakan dalam pembuatan sirup kersen ini antara lain:
 Peralatan
a) Kompor
b) Panci
c) Baskom
d) Timbangan
e) Blender
f) Pengaduk
g) Penyaring
h) Corong
i) Ember
j) Gelas Ukur



 Perlengkapan
a) Botol, tutup, karet perapat sirup
b) Label
c) Sewa tempat usaha

b. Proses produksi atau operasi
Proses produksi “Sirup Kersen” yaitu sebagai berikut:
• Pilih bahan baku yang baik dan segar.
• Cuci kersen dengan air bersih
• Hancurkan daging kersen dengan blender
• Saring sari kersen dan ambil airnya
• Sari kersen dan gula dicampur kemudian dipanaskan selama 30 menit
• Campuran tersebut harus diaduk-aduk hingga tercampur rata
• Tambahkan essen dan asam sitrat setelah campuran tersebut dingin
• Tahap akhir pengemasan ke dalam botol sirup.
Adapun proses produksi pembuatan sirup kersen dapat dilihat pada Lampiran.
H. METODE PELAKSANAAN PROGRAM
Pelaksanaan program usaha pembuatan sirup kersen sebagai minuman kesehatan ini terdiri dari tiga tahap yaitu: persiapan produksi, produksi sirup kersen dan pemasaran sirup kersen.
1. Persiapan produksi
Sebelum memproduksi sirup Muntingia, langkah awal yang perlu dilakukan adalah persiapan produksi. Dalam persiapan produksi ini terdapat dua kegiatan utama yaitu persiapan alat dan persiapan bahan.
Persiapan alat yaitu dengan pencucian alat-alat produksi dan penyeteliran botol. Persiapan bahan yaitu dengan pencucian kersen dengan air bersih.
2. Tahap produksi Sirup Kersen
Tahapan produksi sirup kersen ini adalah sebagai berikut:
a. Pembuatan Sari Kersen
Cuci daging dengan air bersih, kemudian hancurkan dengan cara diblender. Setelah itu saring dan didapati sari kersen.
b. Pemasakan
• Sari kersen dan gula dicampur menjadi satu, diaduk sampai gula dan sari kersen tercampur. Setelah tercampur dipanaskan selama 30 menit dengan suhu 100oC diaduk terus menerus sampai mendidih.
• Asam sitrat dan pewarna makanan dimasukkan dan diaduk supaya tercampur rata.
• Apabila tedapat busa, maka busa tersebut harus dihilangkan dengan sendok kemudian disaring.
( Gambar Diagram Proses Produksi terlampir)
3. Pengemasan
Produk sirup kersen dikemas dalam botol bening tebal, ditutup, diberi karet perapat tutup dan diberi label.
4. Promosi
Bentuk promosi sirup kersen ini diantaranya yaitu dengan menggunakan pamflet, brosur, internet dan media promosi lainnya.
5. Kerjasama dengan Industri
Kerjasama dilakukan dengan minimarket dan toko – toko di sekitarnya maupun di wilayah lain yang mempunyai potensi penjualan sebagai pusat– pusat pemasaran.
6. Pemasaran
Setelah proses produksi selesai, maka langkah selanjutnya adalah pemasaran. Target konsumen dari produk ini adalah masyarakat dari berbagai kalangan, baik masyarakat ekonomi atas maupun menengah ke bawah karena harganya yang relatif terjangkau.
7. Evaluasi
Evaluasi dilakukan untuk mengetahui tingkat daya beli masyarakat terhadap produk yang dihasilkan, mengevaluasi komentar-komentar konsumen terhadap produksi sesuai dengan selera konsumen.
8. Penyusunan Laporan
Laporan disusun setelah pelaksanaan seluruh program selesai dilaksanakan.

I. JADWAL KEGIATAN PROGRAM
Kegiatan ini dilaksanakan selama lima bulan

J. NAMA DAN BIODATA KETUA SERTA ANGGOTA KELOMPOK
1. Ketua Pelaksana
Nama : Ratri Rahayu
N I M : 4101408041
Fakultas/Program Studi : FMIPA/Pendidikan Matematika, S1
Perguruan tinggi : Universitas Negeri Semarang ( UNNES)
Waktu untuk kegiatan PKM : 4 jam/ minggu


2. Anggota
Anggota I
Nama : Defri Restian Yulistiono
N I M : 4301408010
Fakultas/Program Studi : FMIPA/Pendidikan Kimia, S1
Perguruan tinggi : Universitas Negeri Semarang ( UNNES)
Waktu untuk kegiatan PKM : 3 jam/minggu

Anggota II
Nama : Dian Kurnia Febriyani
N I M : 4401409027
Fakultas/Program Studi : FMIPA/Pendidikan Biologi, S1
Perguruan tinggi : Universitas Negeri Semarang ( UNNES)
Waktu untuk kegiatan PKM : 3 jam / minggu

K. NAMA DAN BIODATA DOSEN PENDAMPING
1. Nama : Walid, S.Pd, M.Pd
2. Golongan Pangkat& NIP : III C
3. Jabatan Fungsional : Lektor
4. Jabatan Struktural : -
5. Fakultas : MIPA
6. Perguruan tinggi : Universitas Negeri Semarang ( UNNES)
7. Bidang Keahlian : Statistika
8. Waktu Untuk Kegiatan PKM : 2 jam / minggu

M. LAMPIRAN
LAMPIRAN I
Daftar Riwayat Hidup Ketua dan Anggota Pelaksana

Daftar Riwayat Hidup Ketua Pelaksana
Nama : Ratri Rahayu
TTL : Kudus, 18 Januari 1990
Alamat : Margoyoso Rt 03/I Kalinyamatan Jepara
Email : ratri_smile@yahoo.co.id
No. Telp/HP : 085740831948
NIM : 4101408041
Fakultas/Program Studi : MIPA/Pendidikan Matematika, S1
Semester : III (Tiga)
Riwayat Pendidikan :
SD : SDN 1 Margoyoso
SLTP : SLTPN 1 Pecangaan
SMA : SMAN 1 Kudus
Perguruan Tinggi : Unnes


Daftar Riwayat Hidup Anggota
Nama : Defri Restian Yulistiono
TTL : Jepara, 17 September 1989
Alamat : Margoyoso Rt 08/III Kalinyamatan Jepara
Email : d_freexxx@yahoo.co.id
No. Telp/HP : 08995833418
NIM : 4301408010
Fakultas/Program Studi : MIPA/Pendidikan Kimia, S1
Semester : III (Tiga)
Riwayat Pendidikan :
SD : SDN 3 Margoyoso
SLTP : SLTPN 1 Pecangaan
SMA : SMAN 1 Kudus
Perguruan Tinggi : Unnes


Daftar Riwayat Hidup Anggota

Nama : Dian Kurnia Febriyani
TTL : Kudus, 13 Februari 1991
Alamat : Tenggeles Rt 01/V Mejobo Kudus
Email : dkf.denayu@yahoo.co.id
No. Telp/HP : 085725785626
NIM : 4401409027
Fakultas/Program Studi : FMIPA/Pendidikan Biologi, S1
Semester : I (Satu)
Riwayat Pendidikan :
SD : SDN 3 Ngembalrejo
SLTP : SLTPN 1 Jekulo
SMA : SMAN 1 Kudus
Perguruan Tinggi : Unnes


LAMPIRAN III
TEMPAT USAHA

1. Nama dan Alamat Produksi
Nama usaha sirup kersen adalah “Sirup Kersen Penyembuh Asam Urat” yang beralamat di Sekaran UNNES tepatnya di sebelah gedung FMIPA UNNES Sekaran Gunung Pati Semarang 51229.

Minggu, 13 Desember 2009

BAHASA PEMROGRAMAN

BAHASA PEMROGRAMAN KOMPUTER

Komputer hanya mempunyai bahasa dasar yang berupaya bahasa mesin. Bahasa mesin adalah bahasa yang mengenal kode biner, yaitu kode yang berisi angka 1 dan 0 saja. Pada dasarnya ada dua golongan bahasa pemrograman komputer, yaitu:
Bahasa pemrograman beraras rendah (low level language).
Bahasa pemrograman beraras tinggi (high level language).

Langkah-Langkah dalam Pemrograman


Tahap pada penulisan program adalah sebagai berikut:
1.Menulis program.
2.Menjalankan program untuk menguji kebenaran program.
Jika ada kesalahan (logika maupun kaidah), program diperbaiki dan kembali ke langkah 2.

Tipe-Tipe Data

1.Integer/ Bilangan bulat
-Terdiri dari ragkaian angka/digit 0 sampai 9.
-Penulisan bilangan bulat negative diawali dengan symbol minus.
2.Real

-Terdiri dari rangkaian digit 0 sampai 9, dilengkapi dengan satu buah titik desimal -diantara rangkaian digit tersebut.
-Penulisan bilangan real negative diawali dengan symbol minus.
-Notasi penulisan: fixed point dan floating point.

3.String / Charakter
-Terdiri dari satu / beberapa rangkain karakter / symbol.
-Penulisan dengan diapit tanda petik tunggal.
-Simbol-simbol yang dapat digunakan diatur label kode ASCII/EBDIC.

4.Boolean / Logikal
-Hanya bernilai true atau false.
-Umumnya diperoleh dari operasi pembandingan dua nilai. Contohnya pernyataan benar salah pada logika.

Sabtu, 12 Desember 2009

FUNGSI/FUNCTION

FUNGSI

- Semua fungsi mempunyai sifat memberikan nilai (disebut hasil fungsi) pada saat dipanggil.
- Contoh penggunaan fungsi yang benar adalah sebagai berikut:

X:=sqrt(100)
Sqrt berkedudukan sebagai operand dari operator penugasan (:=).

- Suatu fungsi umumnya mempunyai argument atau parameter. Parameter ditulis di dalam tanda kurung. Namun fungsi bisa saja tidak memiliki parameter, contohnya dalah pi dan random.

-Bentuk deklarasinya adalah sebagai berikut:

FUNCTION nama_fungsi (daftar_parameter):Tipe;
Bagian_deklarasi
Bagian_pernyataan;

Contoh judul deklarasi judul fungsi:

FUNCTION Tambah (A:real; B:real):Real;
Contoh ini menunjukkan bahwa fungsi tambah mempunyai dua buah parameter yang masing-masing bertipe real. Selain itu, hasil fungsi juga bertipe real.

Parameter Formal dan Aktual, Variabel Lokal dan Global

Parameter formal (terdapat pada subprogram): parameter yang terdapat pada pendeklarasian judul subprogram, baik pada fungsi maupun prosedur.

Contoh: FUNCTION Tambah (A, B:Real)
A, B merupakan parameter formal.

Parameter aktual (terdapat pada program utama): parameter yang terdapat pada pemanggilan fungsi atau prosedur.
Contoh: Tambah (10,30)
10 dan 30 merupakan parameter aktual.

1. Program penjumlahan bilangan 10 dan 30!

Program Fungsi;
uses wincrt;
var x,y:integer;
FUNCTION Tambah (A,B:real):real;
var
Hasil:real;
begin
Hasil:=A+B;
Tambah:=Hasil;
end;
begin
clrscr;
writeln (Tambah(10,30):1);
end.


2. Program penjumlahan dua bilangan

Program Fungsi;
uses wincrt;
var x,y:integer;
FUNCTION Tambah (A,B:real):real;
var
Hasil:real;
begin
Hasil:=A+B;
Tambah:=Hasil;
end;
begin
write('masukkan nilai x = ');readln (x);
write('masukkan nilai y = ');readln (y);
writeln (Tambah(x,y):1);
end.

3. Program tukar bilangan

Program Tukar;
uses wincrt;
FUNCTION Tukar_nilai(a,b,c:integer):integer;
{a,b,c adalah parameter,
parameter = var yg dipanggil ketika pemanggilan fungsi}
var
temp:integer;
{temp adalah var dalam fungsi,bukan parameter}
begin
temp:=A;
A:=C;
C:=temp;

writeln('a:',a);
writeln('b:',b);
writeln('c:',c);
end;

var a,b,c:integer;
begin
a:=100;
b:=200;
c:=300;
writeln('Nilai sebelum ditukar');
writeln('A:',a);
writeln('B:',b);
writeln('C:',c);
writeln('nilai sesudah ditukar');
Tukar_nilai(a,b,c);
end.

4. Program kuadrat suatu bilangan

Program procedur1;
uses wincrt;
procedure kuadrat;
var
x,y:real;
begin
write ('nilai x = ');readln(x);
y:=x*x;
writeln ('nilai y =',y:6:2);
end;
begin
kuadrat;
end.

REPETATION/LOOPING/PERULANGAN

PERULANGAN/LOPPING/REPETION

Dalam membuat suatu program kadang-kadang diinginkan agar program tersebut mampu memproses halyang sama secara berulang-ulang sampai ditemukan suatau nilai tertentu yang telah ditentukan. untuk itu maka Turbo Pascal telah menyediakan suatu struktur perulangan yang memudahkan untuk melakukan proses tersebut sehingga kode-kode dalam program menjadi lebih sederhana.
• Dalam bahasa Pascal ada 3 macam perulangan:
o For
o While - do
o Repeat - until
1. Struktur For
Di dalam suatu blok, digunakan untuk pengulangan sesuai dengan counter
Berbentuk :
o Perulangan Positif/Ascendant/Naik
o Perulangan Negatif /Descendant/Turun
o Perulangan Bersarang

Perulangan Positif / Ascendant / Naik
Menggunakan counter dari kecil ke besar
Pertambahan positif
Statemen : For . . . to . . . Do . . .
Syntax :
For variabel_kontrol := nilai_awal to
nilai_akhir Do statemen
(variabel kontrol harus integer)

Perulangan Negatif/Descendant/Turun
Pencacah dari besar ke kecil, pertambahan negatif
Dapat menggunakan :
For Var_kontrol := nilai_awal DownTo nilai_akhir Do statemen
Struktur For hanya dapat digunakan pada cacah perulangan yang diketahui (berapa kali perulangan tersebut dilakukan).
Contoh:


Program latihan_for_positif;
Uses wincrt;
Var N,I,j:integer;
Begin
Clrscr;
Write(‘Masukkan angka= ‘);
Readln(N);
For i:=1 to N do
Begin
For j:=1 do
Write(i:3);
Writeln;
End;
Readln;
End.

Hasil run program:
Masukkan angka=5
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5

Program latihan_for_negatif;
Uses wincrt;
Var N,I,j,data:integer;
Begin
Clrscr;
Write(‘Masukkan angka= ‘);
Readln(N);
data:=N;
For i:=1 to N do
Begin
For j:=1 to N do
Write(data:3);
Writeln;
data:data-1;
End;
End.

Hasil run program:
Masukkan angka=5
5
4 4
3 3 3
2 2 2 2
1 1 1 1 1


Program ulang;
uses wincrt;
var
n:integer;
begin
write('kata akan diulang berapa kali : ');
readln(n);
for n:=1 to n do
writeln(' ',n,'. wetengku ngeleh!!!!!!');
end.

Program ulang_for_do;
Uses wincrt;
Var z:integer;
Begin
For z:=1 to 5 do
Writeln (z, ‘. Pemrograman Komputer’);
End.

Hasil program:
1.Pemrograman Komputer
2.Pemrograman Komputer
3.Pemrograman Komputer
4.Pemrograman Komputer
5.Pemrograman Komputer

2. Struktur While…Do.
Format: while (kondisi) do Aksi/blok aksi
Kondisi: Ekspresi Boolean
Pengecekan untuk melakukan pengulangan dilakukan pada awal proses dan perulangan akan dikerjakan selama kondisi benar. Oleh karena itu, perlu adanya suatu proses yang dapat mengontrol kondisi agar dapat menghentikan proses.
Struktur perulangan while do dapat digunakan untuk melakukan perulangan baik yang diketahi maupun yang tidak diketahui jumlah perulangannya.
Contoh:
Program ulang_whiledo;
Uses wincrt;
Var z:integer;
Begin
Z:=0;
While (z<4) do
Begin
Writeln (z, ‘. Pemrograman Komputer’);
Z:=z+1;
End;
End.

Hasil program:
1.Pemrograman Komputer
2.Pemrograman Komputer
3.Pemrograman Komputer
4.Pemrograman Komputer
5.Pemrograman Komputer

3. Struktur Repeat…Until…
Format : Repeat aksi/blok aksi until (kondisi);
(kondisi) di sini berupa boolean.
Perulangan dilakukan terus-menerus hingga diperoleh kondisi bernilai benar. Dalam hal ini pun diperlukan adanya kondisi yang dapat mengontrol program agar program dapat berhenti akan tetapi berbeda dengan while do yang kontrolnya ditempatkan pada awal proses, maka repeat until kontrolnya diletakkan pada akhir proses.
Pada perulangan yang menggunakan repeat until, proses pembacaan program dilaksanakan paling tidak satu kali karena proses pengecekan syarat dilakukan pada akhir.
Contoh :
Program ulang_repeatuntil;
Uses wincrt;
Var z:integer;
Begin
Z:=1;
repeat
Writeln (z, ‘. Pemrograman Komputer’);
Z:=z+1;
Until z>5
End.

Hasil program:
1.Pemrograman Komputer
2.Pemrograman Komputer
3.Pemrograman Komputer
4.Pemrograman Komputer
5.Pemrograman Komputer
Contoh:
Program penjumlahan_bilangan;
uses wincrt;
var x,y,jmlh:integer;
begin
x:=1;
jmlh:=0;
write('masukkan nilai suatu bilangan: ');readln(y);
repeat
write (x);
if x write ('+');
jmlh:=jmlh+x;
x:=x+1;
until x>y;
write('=');
write(jmlh);
end.

Hasil program:
masukkan suatu bilangan: 4
1+2+3+4=10

Rabu, 09 Desember 2009

ALGORITMA DAN FLOWCHART

Algoritma dan Flowchart

Pendahuluan

Beberapa langkah dalam proses pembuatan suatu program atau software :

1. Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah antara lain tujuan dari pembuatan program, parameter-parameter yang digunakan, fasilitas apa saja yang akan disediakan oleh program. Kemudian menentukan metode atau algoritma apa yang akan diterapkan untuk menyelesaikan masalah tersebut dan terakhir menentukan bahasa program yang digunakan untuk pembuatan program.

2. Merealisasikan dengan langkah-langkah berikut :




Secara umum, struktur suatu program terdiri dari beberapa bagian yaitu :

1. Input
Bagian ini merupakan proses untuk memasukkan data ke komputer melalui device yang ada misalnya keyboard, mouse, scanner dll.
Program melakukan proses membaca data yang akan diolah dari device tersebut.

2. Output
Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pegolahan data melalui device seperti monitor, printer dll. Program melakukan proses mencetak data ke device tersebut.

3. Proses Pengolahan Data
Bagian ini merupakan proses mengolah data yang diinputkan dengan nenerapkan metode-metode, teknik-teknik, algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan dioutputkan kepada pengguna program.

4. Penyimpanan Data
Bagian ini merupakan proses menyimpan data dalam memori atau device penyimpanan data seperti disket, harddisk, CD dll.

Berikut ini adalah blok diagram struktur dari suatu program secara umum.




ALGORITMA

Definisi:
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
System flowchart adalah urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.
Program flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program
Pada umumnya algoritma kurang lebih sama dengan suatu prosedur yang sering dilakukan setiap hari, misalnya prosedur untuk mengganti ban bocor/pecah, prosedur pemakaian telepon umum, prosedur membuat kue dan lain-lain.
Langkah-langkah tersebut harus logis, ini berarti nilai kebenarannya harus dapat ditentukan, benar atau salah, karena langkah-langkah yang tidak benar dapat memberikan hasil yang salah.
Contoh Algoritma 1
Mengirim surat kepada teman:
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat kedalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk di poskan.
Ciri-ciri algoritma
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah-langkah terbatas.
2. Setiap langkah harus didefinisikan dengan jelas dan tidak berarti dua (ambiguous).
3. Memiliki nol atau lebih masukan (input)
4. Memiliki nol atau lebih keluaran (output)
5. Setiap langkah dapat dikerjakan dalam waktu yang masuk akal.
Program adalah realisasi algoritma dalam bahasa pemrograman, program ditulis dalam salah satu bahasa pemrograman. Algoritma memegang peranan penting dalam bidang pemrograman. Sebegitu pentingnya suatu algoritma, sehingga perlu dipahami konsep dasar algoritma. Apalagi untuk seorang programer, tentu diperlukan suatu algoritma sehingga dapat membuat program yang lebih efektif dan efisien. Bagi kebanyakan orang, algoritma sangatmembantu dalam memahami konsep logika pemrograman.
Dalam bidang komputer, misalnya EDP (Elektronik Data Processing) atau MIS (Management Information System), algoritma sering dimanfaatkan untuk menyelesaikan suatu masalah atau untuk proses pengambilan keputusan. Seorang sistem analisis (analisist system) tentunya menggunakan algoritma untuk merancang suatu sistem. Bagi seorang programer, algoritma digunakan untuk membuat modul-modul program. Guna memahami suatu algoritma, harus dimiliki pengetahuan dasar matematika karena pada dasarnya algoritma lahir dari konsep logika matematika. Disini yang perlu dilatih adalah kemampuan logikanya agar benar-benar bisa menyusun langkah-langkah penyelesaian masalah dengan baik.

Pedoman-pedoman dalam membuat flowchart
Jika seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan Melakukan penggandaan diri.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.

Sampai sekarang terdapat banyak sekali bahasa pemrograman, berdasarkan terapannya bahasa pemrograman digolongkan dua kelompok;
1. Bahasa pemrograman bertujuan khusus, yang termasuk kelompok ini adalah Cobol (untuk terapan bisniS dan administrasi), Fortran (terapan komputasi ilmiah), prolog (terapan kecerdasan buatan).
2. Bahasa pemrograman bertujuan umum, yang dapat digunakan dalam berbagai aplikasi, contoh pascal, basic, c, c++.

Tahapan pelaksanaan program oleh komputer

Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebih dahulu, baru kemudian diperhalus dengan langkah-langkah yang lebih rinci.

Contoh : Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritmanya :
1. Bagi bilangan dengan bilangan 2
2. Hitung sisa hasil bagi pada langkah 1.
3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.


FLOWCHART
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :




Dari contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah bilangan ganjil atau bilangan genap, flowchart dari program adalah sebagai berikut :




Untuk membuat flowchart banyak sekali aplikasi yang dapat digunakan, dari aplikasi yang offline maupun online. semua diciptakan dan disediakan untuk mempermudah dalam pembuatan flowchart. Dengan menggunakan microsoft word misalkan, kita sudah dapat memakainya tetapi kadang keterbatasan tools sehingga kita mengalami kesulitan. Alplikasi lain misalnya visio, merupakan salah satu aplikasi offline yang dapat digunakan, Aplikasi secara online salah satunya adalah Lovelychart. Software secara online ini menyediakan kemudahan untuk membuat flowchart.

LOVELY CHART
Lovelycharts menyediakan kemudahan untuk membuat berbagai diagram proses seperti design & Modeling, Flowchart, UML, ERD, DFD, Mind Map dsb. online dan gratis tentu saja menjadi kelebihan untuk menggunakan fitur layanannya. aplikasi yang memungkinkan Anda untuk membuat diagram dan berbagai design konsep di browser Anda dengan fugsi drag dan drop ini dapat dijalankan hanya melalui browser. dilengkapi dengan fitur standard object diagram, alignment object, export, import, memperbesar object, konektor dan berbagai fitur lainnya cukup membantu untuk membuat berbagai design kompleks layaknya visio dan tools desktop diagram designer lainnya.
LovelyCharts dibuat oleh pengembang dan pengguna Ria arsitek Jerome Cordiez dari This Is Lovely!.selain itu Terdapat juga versi profesional LovelyCharts dengan biaya € 29 untuk satu tahun, yang memungkinkan pengguna untuk memelihara dan berkolaborasi didalam menyimpan dan memanage berbagai history diagram yang telah dibuat.
www.lovelycharts.com
Contoh membuat flowchart dengan menggunakan lovelycharts.com



Soal Latihan

1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan prima atau bukan, kemudian buat flowchart untuk program tersebut !
2. Buat algoritma untuk mencetak N buah bilangan prima yang pertama, kemudian buat flowchart untuk program tersebut !
3. Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat, kemudian buat flowchart untuk program tersebut !
4. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut :
Sn = 3 + 7 + 11 + …… + (4n-1)
5. Buat algoritma untuk menghitung nilai faktorial dari suatu bilangan, kemudian buat flowchart untuk program tersebut !
6. Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan antara X dan Y memenuhi persamaan Y = X3 – 2X +1 dan nilai x berubah dari –10 sampai 10 !
PROCEDURE

Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan “Procedure” didalam bagian deklarasi prosedur. Prosedur banyak digunakan pada program yang terstruktur karena :
- merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Bentuk Umum :

PROGRAM judul_program ;
PROCEDURE judul_prosedur ;
Begin
Statement prosedur ;



End ;
Begin
Statement program utama ;



end.

1.1 Parameter Dalam Prosedur
Nilai didalam modul program Pascal sifatnya adalah local, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.

Contoh program :
Procedure Tanya_hitung ;
Var
X, Y : real ;
Begin
Write (‘Nilai X =’) ;
Readln (X) ;
Y : = X * X ;
End ;
Begin
Tanya_hitung ;
Writeln (‘Nilai Y =’, Y : 6 : 2 ) ;
End.

Keterangan contoh program :
Bila program dikompilasi, akan di deteksi kesalahan oleh compiler, karena variable Y yang sifatnya local di procedure Tanya_hitung digunakan pada program utama.
Agar nilai-nilai variable dapat digunakan di modul lainnya yang membutuhkan, maka dapat dilakukan dengan beberapa cara, yaitu :
- Dibuat bersifat global.
Harus di deklarasikan diatas modul yang akan menggunakannya.
Contoh :

• Procedure kesatu ;
Begin

End ;
Var
A, B : word ;
• Procedure kedua ;
Begin

End ;
• Procedure ketiga ;
Begin

End ;
Begin { program utama }

End.

Keterangan contoh :
Variabel A dan B dapat digunakan untuk modul Procedure kedua dan ketiga serta modul/program utama, tetapi tidak bersifat global untuk procedure kesatu.
- Dikirimkan sebagai parameter ke modul yang membutuhkannya.
Parameter yang dikirmkan dari modul utama ke modul prosedur disebut dengan parameter nyata (actual parameter) dan parameter yang ada dan dituliskan pada judul prosedur disebut dengan parameter formal (formal parameter). Proses pengiriman data lewat parameter nyata ke parameter formal disebut dengan parameter passing. Parameter nyata dan parameter formal harus dengan tipe yang sama. Didalam pascal, parameter dapat dikirimkan secara nilai (by value) atau secara acuan (by reference).




1.1.1 Pengiriman Parameter Secara Nilai

Bila parameter dikirimkan secara nilai nilai, parameter formal di prosedur akan berisi nilai yang dikirmkan yang kemudian bersifat local di prosedur. Bila nilai parameter formal di prosedur berubah, tidak akan mempengaruhi nilai parameter nyata ( nilai parameter nyata tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke parameter nyata.
Parameter – parameter yang digunakan dengan pengiriman secara nilai ini disebut dengan parameter nilai ( value parameter ).

Contoh program :

Procedure Hitung(A, B : integer ) ;
Var
C : integer ;
Begin
C : = A + B ;
Writeln (‘Nilai C =’, C ) ;
End ;
Var
X, Y : integer ;
Begin
Write ( ‘Nilai X =’ ) ; readln ( X ) ;
Write ( ‘Nilai Y =’ ) ; readln ( Y ) ;
Hitung ( X, Y ) ;
End.

Output program :
Nilai X = 2
Nilai Y = 3
Nilai C = 5

Penjelasan program :
- prosedur dimulai dengan deklarasi prosedur dengan judul prosedur hitung. Variable A dan B adalah parameter formal dan integer adalah tipe parameternya.
- Variable local yang hanya dipergunakan di prosedur dan tidak termasuk parameter formal (parameter nilai), harus didefinisikan sendiri, yaitu : variable C
- Hubungan antara parameter formal di prosedur dengan parameter nyata di modul utama adalah : nilai parameter nyata X dan Y di modul utama dikirimkan ke parameter formal A dan B di prosedur. Dengan demikian nilai parameter A dan B diprosedur akan berisi nilai yang sama dengan parameter X dan Y di modul utama.



1.1.2 Pengiriman Parameter Secara Acuan

Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata. Parameter-parameter ini disebut dengan variable parameter serta dideklarasikan di deklarasi prosedur dengan menggunakan kata cadangan Var, sebagai berikut :
PROCEDURE hitung (VAR A, B, C : integer ) ;

Contoh program :

Procedure Hitung ( var A, B, C : integer ) ;
Begin
C : = A + B ;
End ;
Var
X, Y, Z : integer ;
Begin
X : = 2 ; Y : = 3 ;
Hitung ( X, Y, Z ) ;
Writeln (‘ X = ‘, X , ‘ Y = ‘ , Y, ‘ Z = ‘ , Z ) ;
End.

Output program :
X = 2 Y = 3 Z = 5
Penjelasan program :
- pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik, sehingga perubahan nilai di parameter formal akan mempengaruhi nilai parameter nyata juga. Pada contoh, nilai parameter nyata Z akan mengikuti perubahan nilai dari parameter formal C.

1.1.3 Pengiriman Parameter Sebagian Secara Nilai, Sebagian Acuan
Pengiriman parameter dapat dicampur sebagian secara nilai dan sebagian secara acuan dalam suatu prosedur. Parameter yang hanya dibutuhkan pada prosedur saja dapat dikirimkan secara nilai dan yang ingin dikirimkan balik dapat dilakukan secara acuan, sebagai berikut :

PROCEDURE Hitung ( A, B : integer ; Var C : integer ) ;
Contoh program :
Procedure Hitung ( A, B : integer ; Var C ; integer ) ;
Begin
C : = A + B ;
End ;
Var
X, Y, Z : integer ;
Begin
X : = 2 ; Y : = 3 ;
Hitung ( X, Y, Z ) ;
Writeln ( ‘ X = ‘, X , ‘ Y = ‘, Y , ‘ Z = ‘, Z ) ;
End.
Output program :
X = 2 Y = 3 Z = 5

1.2 Prosedur Memanggil Prosedur Yang Lain
Prosedur dapat memanggil prosedur yang lainnya
.
Contoh program :
Procedure Pro1 ( X1 : integer ) ;
Begin
Writeln ( ‘Nilai X = ‘, X1, ‘ada di prosedur Pro1’ ) ;
End ;
Procedure Pro2 (X2 : integer ) ;
Begin
Writeln ( ‘Nilai X = ‘, X2, ‘ada diprosedur Pro2’ ) ;
Pro1 (X2) ;
End ;
Var
X : integer ;
Begin
X : = 5 ;
Pro2 ( X ) ;
End.
Output program :
Nilai X = 5 ada diprosedur Pro2
Nilai X = 5 ada diprosedur Pro1

1.3 Prosedur Tersarang
Adalah prosedur yang berada didalam prosedur yang lainnya.
Bentuk Umum :
Program
Procedure
Procedure
Begin



End ;
Begin



End ;
Begin



end .

1.4 Prosedur Memanggil Dirinya Sendiri
Merupakan prosedur yang memanggil atau menggunakan prosedur itu juga. Proses dari suatu program bagian yang memanggil dirinya sendiri dikenal dengan istilah recursion. Tidak semua bahasa menyediakan kemampuan untuk melakukan proses recursion, tetapi pascal dapat. Walaupun proses ini merupakan algoritma yang baik, tetapi membutuhkan banyak memori, karena setiap kali program bagian dipanggil oleh dirinya sendiri, sejumlah ruang memori tambahan dibutuhkannya

Rekursi yaitu procedure atau function yang memanggil dirinya sendiri. Gunanya untuk melakukan proses berulang yang sulit diketahui kapan akan berakhir. Banyak bahasa pemrograman modern mendukung proses rekursi, misalnya Turbo Pascal, Visual Basic, dll. Contoh paling terkenal dari rekursi adalah proses menghitung nilai faktorial dan mencari deret Fibonacci.

Contoh listing program:

function faktorial(n : integer):integer;
begin
if (n = 0) then faktorial := 1
else faktorial := n * faktorial(n - 1);
end;

Deret Fibonacci didefinisikan sebagai deret integer tak berhingga, di mana suatu bilangan adalah penjumlahan dari dua bilangan sebelumnya.
Contoh: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
Dari data di atas dapat difahami bahwa angka 5 merupakan hasil penjumlahan dari 2 dan 3, sedangkan 12 merupakan 5 + 8.

function fibonacci(n : integer):integer;
begin
if (n = 1) or (n = 2) then fibonacci := 1
else fibonacci := fibonacci(n - 1) + fibonacci(n - 2);
end;

Sebagian mahasiswa sulit membedakan antara Rekursi dan Iterasi, karena keduanya melakukan perulangan yang jumlah perulangannya sulit ditentukan kapan berakhir. Padahal secara mudah didefinisikan: Rekursi yaitu prosedur atau fungsi yang memanggil dirinya sendiri, sedangkan Iterasi adalah proses perulangan dalam suatu prosedur atau fungsi.

Berikut ini adalah contoh yang paling mudah dipahami. Tujuannya mencetak tulisan "M" dari kiri ke kanan layar.
REKURSI

uses
wincrt;
procedure rekursi;
begin
if wherex < 80 then
begin
write('M');
rekursi;
end;
end;
begin
clrscr;
rekursi;
end.

ITERASI

uses
wincrt;
procedure iterasi;
begin
while wherex < 80 do
begin
write('M');
end;
end;
begin
clrscr;
iterasi;
end.

Dari dua program pendek di atas, anda tentu mendapatkan sebuah fakta baru, yaitu rekursi dapat melakukan perulangan tanpa bantuan FOR NEXT, WHILE DO, REPEAT UNTIL, dsb.

Contoh program :
Program Coba_rekursi;
Uses wincrt;
Var
I : integer ;
Procedure Rekursi ;
Begin
Writeln ( ‘Hallo saya Pascal ‘ ) ;
I : = I + 1 ;
If I < 10 Then
Rekursi ;
End ;
Begin
I : = 1 ;
Rekursi ;
End.

1.5 Acuan Forward
Digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya. Judul prosedur yang berisi parameter terpisah ini merupakan judul yang semestinya dan di deklarasikan dengan menambahkan kata cadangan “ Forward ”. Blok prosedur ini letaknya terpisah dari judulnya, juga diawali dengan judul prosedur, tetapi hanya mencantumkan judul atau nama prosedurnya saja, tanpa mencantumkan parameter formalnya.

Contoh program :
Procedure Pro1 (Var I : integer ) ; Forward ;
Procedure Pro2 (Var I : integer ) ;
Begin
Writeln ( ‘ Prosedur PRO’, I ) ;
End ;
Procedure Pro1 ;
Begin
Writeln ( ‘Prosedur PRO’, I ) ;
End ;
Var
I : integer ;
Begin
I : = 1 ;
Pro1 ( I ) ;
I : = 2 ;
Pro2 ( I ) ;
End.
Output :
Prosedur PRO1
Prosedur PRO2

1.6 Prosedur Standar

1.6.1 Prosedur Standar Exit
Digunakan untuk keluar dari suatu blok. Bila diletakkan pada program bagian, prosedur standar exit akan menyebabkan proses di program bagian berhenti dan proses kembali ke blok program yang memanggilnya. Bila berada di program utama, menyebabkan proses program berhenti
.
1.6.2 Prosedur Standar Halt
Digunakan untuk menghentikan proses program baik di program bagian maupun program utama.

1.6.3 Prosedur Standar Move
Bentuk umum :
Move ( var source, dest; count : word )
Digunakan untuk menyalinkan suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest.
Contoh program :
Var
Sumber, Tujuan : string [5] ;
Sejumlah : word ;
Begin
Sumber : = ‘ABCDE’ ;
Tujuan : = ‘FGHIJ’ ;
Sejumlah : = 4 ;
Move (Sumber, Tujuan, Sejumlah ) ;
Writeln (Sumber : 7, Tujuan : 7 ) ;
End.

Output program :
ABCDE ABCIJ

1.6.4 Prosedur Standar FillChar
Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variable, sbb :

FillChar ( x ; count : word ; ch )
X adalah variable yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal ch sebanyak count byte.

ARRAY

ARRAY
Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama, variabel yang sejenis, komponen yang jumlahnya tetap.
Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.

Contoh:
Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.

Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.

Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini :
Program Contoh_Deklarasi_Array_Beragam;
Uses Crt;
Var
NPM : array[1..20] of string[10];
Nama : array[1..20] of string[25];
Nilai : array[1..20] of real;
Umur : array[1..20] of byte;
banyak,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}
Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);
End;
Readln;
End.

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini :
Type
Angka = String[20];
Var
Nama : Array [1..50] of Angka;
Begin
.
.
End.

Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real.
Contoh:
Var
Nilai : Array[1..10] of Integer;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :

Type
Skala = 1..10;
Var
Nilai : Array [skala] of Integer;
atau :
Type
Skala = 1..10;
Y = Array[skala] of Integer;
Var
Nilai : Y;
atau :
Type
Y = Array[1..10] of Integer;
Var
Nilai : Y;
atau :
Const
Atas =1;
Bawah = 5;
type
Y = Array[Atas..Bawah] of Integer;
Var
Nilai : Y;

I. Deklarasi Type Indeks Skalar
Indeks dari larik dapat berupa tipe skalar.
Contoh. :
Program Deklarasi_Indeks_Array_Skalar;
Uses Crt;
Var
Jum : Array[(jan,feb,mar,apr,mei)] of Integer;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlah nilai bulan maret =',Jum[mar]);
Readln;
End.
dapat juga ditulis :
type
Bln = (jan,feb,mar,apr,mei);
Var
Jum : Array[bln] of Integer;
atau :
type
Bln =(jan,feb,mar,apr,mei);
Var
Jum : Array[jan..mei] of Integer;






II. Deklarasi Konstanta Array

Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const).

Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses wincrt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.

contoh program bilangan prima dengan menggunakan bantuan array.
Contoh program :
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses wincrt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
End;
Readln;
End.

Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses wincrt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.



III. Array Dua Dimensi

Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
1 2
1 2 3
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses wincrt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.


IV. Alternatif Deklarasi Array Dua Dimensi

Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini :
Contoh :
Var
Tabel : Array[1..3] of Array[1..2] of Byte;
atau :
Type
Matrik = Array[1..3,1..2] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom = 1..2;
Matrik = Array[Baris,Kolom] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom=1..2;
Matrik= Array[Baris] of Array[Kolom] of Byte;
Var
Tabel : Matrik;

Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik :
Contoh Program:
Program Penjumlahan_Matrik;
Uses wincrt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
Readln;
End.



V. Array Sebagai Parameter

Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses winrt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90) And (Nilai[i]>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70) And (Nilai[i]>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60) And (Nilai[i]>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.

Contoh:
ARRAY
Program cetak_angka;
uses wincrt;
var
angka:array[1..10]of integer;
i,n:integer;
begin
write('berapa kali data ingin Anda masukkan?'); read(i);
for n:=1 to i do
begin
write('masukkan nilai Anda = '); read(angka[n]);
end;
clrscr;
for i:=1 to n do
begin
writeln('nilai Anda=',angka[i]);
end;
end.

ARRAY (PERKALIAN MATRIKS)
program perkalian_matrik;
uses wincrt;
var
a,b,c:array [1..25,1..25] of real;
i,j,k,m,n,l:byte;
begin
writeln('PERKALIAN MATRIKS');
write('baris matriks pertama=');readln(m);
write('kolom matriks pertama/brs matriks kedua=');readln(n);
write('kolom matriks kedua=');readln(l);
writeln;
writeln('komponen matriks yang pertama');
for i:=1 to m do
begin
for j:=1 to n do
begin
write('nilai[',i,',',j,']=');readln(a[i,j]);
end;
writeln;
end;
writeln('komponen matriks kedua');
for i:=1 to n do
begin
for j:=1 to l do
begin
write('nilai[',i,',',j,']=');readln(b[i,j]);
end;
writeln;
end;
for i:=1 to m do
begin
for j:=1 to l do
begin
c[i,j]:=0;
for k:=1 to l do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
end;
end;
writeln;
writeln('hasil perkalian matriks');
writeln;
for i:=1 to m do
begin
writeln;
for j:=1 to l do
write(c[i,j]:5:2);
end;
end.

MATERI PERKULIAHAN KONSEP MATEMATIKA

Mata kuliah konsep matematika terdiri atas 10 bab, yaitu Bab 1 Pertidaksamaan Kuadrat Bab 2 Relasi dan Fungsi Bab 3 Penyajian ...