adalah type data lanjutan yang memungkinkan sebuah
variabel dapat menampung banyak data.
--> banyak data? : sebutkan misalnya 10, 100 1000 dst...
misal :
a. terdapat 12 nama bulan dalam satu tahun, yaitu
bulan ke-1 adalah "Januari"
bulan ke-2 adalah "februari"
dst...
bulan ke-12 adalah "Desember"
maka mendefinisikan di kamus :
nama_bln : array of string [1..12]
b. dalam satu semester, tugas yang dibebankan kepada
mahasiswa terdapat 10 buah tugas yang mempunyai nilai.
nil_tgs ke-1 mendapat 70 point
nil_tgs ke-2 mendapat 80 point
nil_tgs ke-3 mendapat 75 point
dst
nil_tgs ke-10 mendapat 80 point
maka mendefinisikan di kamus :
nil_tgs : array of integer [1..10]
Pada Algoritma, data yang akan ditampung pada variabel array
harus didefinisikan no.indeknya...
karena :
setiap kali kita mendefinisikan variabel Array, maka
secara otomatis kita memecah variabal tsb menjd banyak bag.
misal :
X : array of integer [1..5];
artinya :
x[1] : integer
x[2] : integer
x[3] : integer
x[4] : integer
x[5] : integer
x di-isi dengan 10...?
x yang mana?
Soal 1:
10 anggota pramuka dari SD "KASIH IBU" sedang mengadakan
acara. ada 2 kegiatan yg harus diikuti oleh semua anggota,
yaitu Mencari Jejak dan Belajar Tali Temali.
untuk menentukan siapa2 saja anggota pramuka yang
mencari jejak atau tali temali, dilihat dari umur mereka
masing2.
bagi yang umurnya diatas rata2 umur semua anggota,
akan diajak mencari jejak dan sisanya belajar tali temali.
Berapa anggota yang diajak mencari jejak dan
berapa anggota yang belajar tali temali?
JUDUL : Pramuka
KAMUS
umur : array of integer [1..10]
x : integer
jumlah : integer
rata : float
jmj : integer
jbtt : integer
ALGORITMA
jumlah=0
for(x=1; x<=10; x=x+1)
input umur[x]
jumlah=jumlah+umur[x]
rata=jumlah/10
jmj=0
jbtt=0
for(x=1; x<=10; x=x+1)
if(umur[x] > rata) then
jmj=jmj+1
else
jbtt=jbtt+1
output jmj, jbtt
+++) jika soal diatas ditambahi :
- Berapa dan Siapa saja anggota yang mencari jejak
- Berapa dan siapa saja anggota yang belajar tali temali
Soal 2:
Untuk mendaftar ujian Skripsi, koordinator mengharuskan
mahasiswa untuk menyerahkan sertifikat TOEFL.
Nama mahasiswa dan Nilai TOEFL akan didata sehingga
Ketua Program Studi dapat mengetahui Berapa Rata2 Nilai TOEFL
mahasiswa, berapa nilai terbesar dan berapa nilai terkecil?
JUDUL : NILAI_TOEFL
KAMUS
nama_mhs : array of string [1..100]
nil_toefl : array of integer [1..100
jawab : character
x : integer
ALGORITMA
x=1
do
input nama_mhs[x]
input nil_toefl[x]
input jawab
x=x+1
while(jawab='y')
jumlah=0
for(z=1; z<x; z=z+1)
jumlah=jumlah+nil_toefl[z]
rata=jumlah/(x-1)
terkecil=nil_toefl[1]
for(z=2; z<x; z=z+1)
if(terkecil>nil_toefl[z])
terkecil=nil_toefl[z]
terbesar=nil_toefl[1]
for(z=2; z<x; z=z+1)
if(terbesar<nil_toefl[z])
terbesar=nil_toefl[z]
output rata, terkecil, terbesar
Minggu, 04 Desember 2011
STATEMEN KONDISI : IF....THEN (JIKA..MAKA)
A. IF
1. IF TUNGGAL
Sintak :
IF(KONDISI)
{
AKSI;
}
Ket : Jika "KONDISI" Bernilai Benar/Ya/True, maka "AKSI" Akan dijalankan.
2. IF JAMAK
Sintak : IF(KONDISI 1)
{
Aksi 1;
}
Else
IF(KONDISI 2)
{
Aksi 2;
}
Else
IF(KONDISI N)
{
Aksi N;
}
ELSE
{
Aksi Lainnya;
}
Cotoh SOAL :
Soal 1 :
Buatlah program yang dapat menginputkan sebuah Bilangan dan menampilkan dengan sebuah kata
yang merepresentasikan bilangan itu. Bilangan yg dapat direpresentasikan maksimal 3 saja.
ex : Input : 1
Output : SATU
Input : 2
Output : DUA
Input : 5
Output : DIATAS TIGA
main()
{
int bil;
clrscr();
gotoxy(10,5);printf("Input Sebuah Bilangan : "); scanf("%d", &bil);
if(bil==1)
{
gotoxy(10,7);printf("Satu");
}
else
if(bil==2)
{
gotoxy(10,7);printf("Dua");
}
else
if(bil==3)
{
gotoxy(10,7);printf("Tiga");
}
else
{
gotoxy(10,7);printf("Lebih dari Tiga");
}
getch();
}
Soal 2 :
Si Bolang Baru saja selesai internet-an di warnet. Dia mulai ON pada pukul :36:55
sedangkan Selesai Pukul 12:30:20
Berapa Jam, Berapa Menit dan Berapa Detik dia bermain Internet-an???
main()
{
int jam_on, menit_on, detik_on;
int jam_off, menit_off, detik_off;
int jam_lm, menit_lm, detik_lm;
clrscr();
input jam_on, menit_on, detik_on;
input jam_off, menit_off, detik_off;
detik_lm = detik_off - detik_on;
getch();
}
1. IF TUNGGAL
Sintak :
IF(KONDISI)
{
AKSI;
}
Ket : Jika "KONDISI" Bernilai Benar/Ya/True, maka "AKSI" Akan dijalankan.
2. IF JAMAK
Sintak : IF(KONDISI 1)
{
Aksi 1;
}
Else
IF(KONDISI 2)
{
Aksi 2;
}
Else
IF(KONDISI N)
{
Aksi N;
}
ELSE
{
Aksi Lainnya;
}
Cotoh SOAL :
Soal 1 :
Buatlah program yang dapat menginputkan sebuah Bilangan dan menampilkan dengan sebuah kata
yang merepresentasikan bilangan itu. Bilangan yg dapat direpresentasikan maksimal 3 saja.
ex : Input : 1
Output : SATU
Input : 2
Output : DUA
Input : 5
Output : DIATAS TIGA
main()
{
int bil;
clrscr();
gotoxy(10,5);printf("Input Sebuah Bilangan : "); scanf("%d", &bil);
if(bil==1)
{
gotoxy(10,7);printf("Satu");
}
else
if(bil==2)
{
gotoxy(10,7);printf("Dua");
}
else
if(bil==3)
{
gotoxy(10,7);printf("Tiga");
}
else
{
gotoxy(10,7);printf("Lebih dari Tiga");
}
getch();
}
Soal 2 :
Si Bolang Baru saja selesai internet-an di warnet. Dia mulai ON pada pukul :36:55
sedangkan Selesai Pukul 12:30:20
Berapa Jam, Berapa Menit dan Berapa Detik dia bermain Internet-an???
main()
{
int jam_on, menit_on, detik_on;
int jam_off, menit_off, detik_off;
int jam_lm, menit_lm, detik_lm;
clrscr();
input jam_on, menit_on, detik_on;
input jam_off, menit_off, detik_off;
detik_lm = detik_off - detik_on;
getch();
}
Teori : Algoritma
Algoritma adalah : Urutan langkah2 sistematis untuk menyelesaikan masalah.
Notasi / cara penulisan (PSEUDO CODE) terdiri dari 3 bagian.
A. JUDUL/NAMA PROGRAM
B. KAMUS/DEKLARASI
C. ALGORITMA/DEKSRIPSI
Contoh :
Misalkan kita membuatlah algoritma utk menghitung luas lapangan pingpong.
1. Ambil alat ukur.
2. Mengukur lebar
3. mengukur panjang
4. menghitung luasnya = panjang * lebar
5. Menginformasikan luasnya.
Kelima hal diatas adalah langkah2 untuk menyelesaikan masalah, sama halnya pada DASPRO (Dasar Pemrograman), sebelum kita membuat suatu Program, sebaiknya kita membuat Urutan langkah2 sistematis untuk menyelesaikan masalah, untuk mempermudah dalam pengerjaannya
Contoh simpel :
1. Algoritma untuk menghitung Luas Persegi Panjang
JUDUL : LuasPP
{Menghitung Luas Persegi panjang dengan rumus
Luas=Panjang x lebar}
KAMUS :
panjang : integer {Panjangnya persegi Panjang}
lebar : integer {Lebarnya persegi Panjang}
luas : integer {Luas Persegi Panjang}
ALGORITMA
input panjang
input lebar
luas = panjang * lebar
output luas
2. Konversikan jam,menit,detik menjadi detik
misal : 5 jam 10 menit 34 detik = .... detik
JUDUL : KonDetk
{Menghitung Konversi jam,menit,detik menjadi detik dengan cepat }
KAMUS :
jam, menit, detik : integer;
totdetik : integer
ALGORITMA
input jam,menit,detik
totdetik <- (jam*3600)+(menit*60)+detik
output totdetik
Dari 2 contoh diatas akan kita buktikan dengan menggunakan algoritma aka mempermudah pengerjaan program dan akan kita praktekkan dari Rancangan Program menjadi Sebuah Program.
Contoh soal :
Pak Raden mempunyai sejumlah uang.akan dibelikan permen seharga Rp. 45,- perbuah.
1. Dapat berapa buah permenkah ?
2. Jika ada kembalian, berapa ?
3. Jumlah permen yg didapat akan diberikan secara RATA kepada Unyil, Ucrit dan Usrok ?
4. Berapa masing2 mendapat permen ?
5. jika ada sisanya diberikan ke pak ogah, berapa ?
Jawaban Menggunakan Algoritma:
JUDUL : PERMEN
KAMUS
uang : integer
harga : integer
kembalian : integer
jml_permen : integer
pydbg : integer
sisa : integer
ALGORITMA
input uang
harga <- 45
jml_permen <- uang/harga
kembalian <- uang - (jml_permen*harga)
output jml_permen, kembalian
pydbg <- jml_permen/3
sisa <- jml_permen - (pydbg*3)
output pydbg, sisa
Dari Algoritma Diaplikasikan ke Turbo-C
main()
{
int uang,harga,kembalian,jml_permen,pydbg,sisa;
clrscr();
gotoxy(10,5); printf("PERMEN PAK RADEN");
gotoxy(10,7); printf("Inputkan Jumlah Uang : ");
scanf("%d", &uang);
harga=45;
jml_permen=uang/harga;
kembalian=uang-(jml_permen*harga);
gotoxy(10,9);
printf("Jumlah Permen yang didapat : %d", jml_permen);
gotoxy(10,10);
printf("Uang kembaliannya : %d", kembalian);
pydbg=jml_permen/3;
sisa=jmlpermen - (pydbg*3);
gotoxy(10,12);
printf("permen yg dibagi ke u,u,u : %d", pydbg);
gotoxy(10,14);
Getch();
}
Terbukti bahwa Algoritma akan mempermudah kita untuk membuat suatu program
DASAR PEMROGRAMAN DATA, VARIABEL, TYPE DATA, DAN OUTPUT/INPUT
Disini saya akan berbagi pengetahuan tentang DASPRO (Dasar Pemrograman ) yaitu materi dasar pada jurusan TI (Teknik Informatika)
Dalam pemrograman utk menamai sebuah variabel ada syaratnya :
1. Bebas
2. Singkat jelas dan padat
3. Tidak boleh :
- Ada spasi
- Diawali angka
- Mengandung special char (',."()*&^%
- Lebih dari 9 huruf.
Terkait dg isi variabel -> TYPE DATA.
1. HURUF/KUMPULAN HURUF
- 1 HURUF : character
- > 1 HURUF : string
2. ANGKA / KUMPULAN ANGKA/BILANGAN
- bil. bulat : integer
- bil. pecahan : real/float
1. Ada 4 Type Data
a. Character : char ex : char sim;
b. String : char [n] ex : char kota[20]; char nama_tmn[30];
c. Integer : int ex : int umur;
d. Real/Float : float ex : float berat;
2. Output / Input
OUTPUT : fungsi utk menampilkan isi dari variabel.
perintah : printf
jika variabel yg akan ditampilkan ber-type data :
a. character : %c
printf("Simnya : %c", sim);
b. string : %s
printf("Namanya adalah : %s", nama_tmn);
c. integer : %d
d. float : %f
INPUT : fungsi utk memasukkan data via keyboard.
perintah : scanf
jika variabel yg akan diinput ber-type data :
a. character : %s + &
scanf("%s", &sim);
b. string : %s + &
printf("Namanya adalah : %s", nama_tmn);
c. integer : %d + &
d. float : %f + &
Untuk Operator MATEMATIKA terdiri dari :
a. Sama Dengan : ==
b. Tidak Sama Dengan : !=
c. Lebih Besar : >
d. Lebih Kecil : <
e. Lebih Besar Sama Dg : >=
f. Lebih Kecil Sama Dg : <=
Untuk Operator MATEMATIKA terdiri dari :
a. Sama Dengan : ==
b. Tidak Sama Dengan : !=
c. Lebih Besar : >
d. Lebih Kecil : <
e. Lebih Besar Sama Dg : >=
f. Lebih Kecil Sama Dg : <=
Contoh Sederhananya :
1. buatlah program untuk menghitung luas lingkaran.
-> terdapat 3 variabel yaitu :
a. luas lingkaran : luas_ling -> real/float
b. phi : phi -> real/float
c. Jari-Jari lingk. : jari -> integer
Penulisan Dalam Turbo-C
main()
{
float luas_ling;
float phi;
int jari;
clrscr();
gotoxy(10,5); printf("Program Menghitung Luas Lingkaran");
phi = 3.14;
gotoxy(10,6); printf("Inputkan Nilai Jari-Jari : ");
scanf("%d", &jari);
luas_ling = phi * (jari * jari);
gotoxy(10,9); printf("Luas Lingkaran adalah : %0.2f", luas_ling);
getch();
}
Langganan:
Postingan (Atom)