Archive for December, 2014

Struktur Perulangan

Friday, December 12th, 2014

Dalam algoritma/pemrograman disediakan struktur pengulangan untuk mengerjakan instruksi yang sama lebih dari satu kali. Dalam bahasa C/C++ terdapat 3 bentuk struktur pengulangan, yaitu : For, While-Do, dan Do-While.

Struktur Pengulangan
Struktur pengulangan secara umum :

<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>

Awal dan akhir pengulangan tergantung pada struktur pengulangan yang digunakan. Terdapat
tiga macam struktur pengulangan, yaitu :
1. Struktur FOR
2. Struktur WHILE
3. Struktur DO- WHILE

Struktur FOR
Bentuk umum struktur FOR ada dua macam, yaitu : menaik atau menurun.
1. FOR :
For(tipe_data pencacah=nilai_awal; kondisi; <operasi_peubah_pencacah>)
aksi;
Keterangan :
a. Pada C++, Pencacah haruslah dari tipe data numerik, yaitu integer, float, long, dan enumerasi.
b. Aksi adalah satu atau lebih instruksi yang diulang. Jika ada lebih dari satu aksi, maka dimulai dengan karakter ”{” dan diakhiri dengan “}” .
c. kondisi adalah statement yang sselama bernilai TRUE, aksi akan terus dijalankan. Biasaya kondisi berhubungan dengan pencacah, missal kita ingin terus berulang sampai pencacah bernilai n+1, maka ditulis “pencacah<=n” artinya se lama pencacah masih kurang dari n,
maka jalankan aksi.
d. Pada mulanya, pencacah diinisialisasi dengan nilai awal, kemudian bertambah sesuai fungsi peubah pencacah, kemudian selama kondisi bernilai TRUE, pencacah diubah sesuai operasi pubah pencacah, lalu jalankan aksi, begitu seterusnya sampai dengan kondisi
bernilai FALSE.
e. tipe data pencacah harus ada jika belum di deklarasikan sebelumnya, namun tidak boleh ada jika sudah pernah di deklarasikan, serta nilai awal wajib.Contoh program menghitung nilai faktorial.
//Program HitungFaktorial;

#include<iostream>
Using namespace std;
int i,n;
long Faktorial;

int main()
{
cout<<“Nilai faktorial berapa ?”; cin>>n;
Faktorial =1;
For(i= 1; i<=n; i++)
Faktorial =Faktorial * i;
cout<<“Nilai faktorial “<<N<<” adalah =”<<Faktorial<<endl;
}

Contoh program menghitung nilai faktorial untuk for menurun.
//Program HitungFaktorial;

#include<iostream>
Using namespace std;
int i,n;
long Faktorial;
int main()
{
cout<<“Nilai faktorial berapa ?”; cin>>n;
Faktorial =1;
For(i=n; i>=1; i–)
Faktorial =Faktorial * i;
cout<<“Nilai faktorial “<<N<<” adalah =”<<Faktorial<<endl;
}

Struktur WHILE
Bentuk umum struktur WHILE :
while kondisi
aksi;
Aksi akan dilaksanakan berulangkali selama kondisi bernilai true.
Contoh program menghitung nilai faktorial :

//Program HitungFaktorial;

#include<iostream>
Using namespace std;
int i,n;
long Faktorial;
int main()
{
cout<<“Nilai faktorial berapa ?”; cin>>n;
Faktorial =1; i=1;
While (i<=n )
{
Faktorial =Faktorial * i;
i=i + 1;
}
cout<<“Nilai faktorial “<<N<<“ adalah =’,Faktorial);
end.

Struktur do-while
Bentuk umum struktur do-while :
do
aksi;
while(kondisi);
Aksi akan dilaksanakan berulangkali sampai kondisi bernilai false.Contoh program menghitung nilai faktorial :
//Program HitungFaktorial;

#include<iostream>
Using namespace std;
int i,n;
long Faktorial;
int main() {
cout<<“Nilai faktorial berapa ?”; cin>>n;
Faktorial =1; i=1;
do
Faktorial =Faktorial * i;
i=i + 1;
while( i <= n);
cout<<”Nilai faktorial” <<N<<” adalah = “<<Faktorial<<endl;
}

Percabangan

Friday, December 12th, 2014

Pada umumnya, masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi akan dilaksanakan jika persyaratan atau kondisi dipenuhi. Kondisi adalah suatu yang bernilai true atau false, disebut kondisi boolean. Nah situasi yang memiliki beberapa alternatif inilah yang disebut percabangan.

Penentuan kondisi bolean dan aksi yang dilakukan bergantung pada jumlah kasus yang terdapat pada masalah tersebut : satu kasus, dua kasus, atau lebih dari dua kasus.
Satu Kasus
Bentuk umum untuk kasus satu kasus :

============
if (kondisi) aksi ;
Contoh program dengan satu kasus :
//Program BilanganGenap;
#include<iostream>
Using namespace std;
int Bil;
int main(){
cout<<” Masukkan bilangan”; cin>>Bil;
if (bil mod 2 == 0) Cout<<Bil<<” adalah bilangan genap”;
}

============
Dua Kasus
Bentuk umum untuk kasus dua kasus :

============
If ( kondisi) aksi1;
else aksi 2;
Contoh program dengan dua kasus :
//Program BilanganGenapGanjil;
#include<iostream>
Using namespace std;
Int Bil;
Int main(){
Cout<<”Masukkan bilangan : “; cin>>Bil;
if (bil mod 2 == 0) Cout<<Bil<<” adalah bilangan genap”;
else Cout<<Bil<<” adalah bilangan ganjil”;
}

============
Tiga Kasus atau Lebih
Bentuk umum untuk kasus dua kasus :

============
if (kondisi1) aksi1;
else if(kondisi2) aksi2
if kondisi3 aksi3
….
else aksiN;

=============
Contoh program dengan tiga kasus atau lebih:
//Program KonversiNilai;
/* Program untuk merubah nilai angka menjadi nilai huruf */

#include<iostream>
Using namespace std;
Int Nilai;
Int main(){
Cout<<”Masukkan bilangan” ; cin>>Nilai>>;
If(Nilai>= 80) Cout<<”Nilai =A”<<endl;
else {if (Nilai>= 65) Cout<<”Nilai = B”<<endl;
else {if (Nilai>= 50) Cout<<”Nilai = C”<<endl;
else {if (Nilai>= 35) Cout<<”Nilai = D”<<endl;
else Cout<<”Nilai = E”<<endl;
}
}
}
}

Struktur Switch
Untuk masalah dengan tiga kasus atau lebih, struktur Switch dapat menyederhanakan penulisan If–Else yang bertingkat-tingkat seperti contoh di atas.Struktur Switch sebagai berikut :

Switch (nama_variabel)
{
nilai1 : aksi1; break;
nilai2 : aksi2; break;

nilaiN : aksiN; break;
default: aksiN1;
}

Contoh program KonversiNilai menggunakan struktur Switch :

//Program KonversiNilai;
//Program untuk merubah nilai angka menjadi nilai huruf

#include<iostream>
Using namespace std;
Int NilaiAngka;
Int main()
{
Cin<<” Masukkan bilangan” ; cin>>NilaiAngka;
switch (NilaiAngka/10){
case 10 :
case 9 : cout<<“Nilai = A”; break;
case 8 :
case 7 : cout<<“Nilai = B”; break;
case 6 :
case 5 : cout<<“Nilai = C”; break;
case 4 :
case 3 : cout<<“Nilai = D”; break;
case 2 :
case 1 :
case 0 : cout<<“Nilai = E”; break;
Default: Cout<<” Masukkan nilai salah”;}
}

Nilai bisa berupa nilai tunggal atau beberapa nilai yang disebutkan satu per satu.

Tipe Data

Friday, December 12th, 2014

Setelah kita mempelajari notasi algoritma, sekarang saatnya mulai mengenal tipe data, khususnya pada bahasa pemrograman yang digunakan pada mata kuliah saya, yaitu C++.

Tipe data ada dua macam, yaitu : tipe dasar dan tipe bentukan. Tipe dasar adalah tipe data yang dapat langsung dipakai. Tipe bentukan dibentuk oleh tipe dasar atau tipe bentukan lain yang sudah didefinisikan. Pada postingan kali ini, saya hanya akan menjelaskan tentang tipe dasar saja.
Tipe Dasar
Yang termasuk dalam tipe dasar adalah : bilangan bulat (integer), l ogika (boolean), karakter, bilangan riil ( float) dan string. Tiga tipe dasar yang pertama disebut tipe ordinal karena setiap nilai konstantanya bisa diubah ke nilai integer.
1. Bilangan Bulat (Integer)
Jenis data ini terdiri atas integer positif, integer negatif dan nol. Pada C++ jenis data ini di bagi atas beberapa bagian,


Operator Integer terdiri atas :

+ (penjumlahan),

– (pengurangan) ,

* (perkalian),

/ (pembagian bilangan bulat),

% (sisa hasil bagi atau modulo).

2. Logika (Boolean)
Tipe data ini mempunyai nilai TRUE atau FALSE. Operator untuk jenis data ini adalah operator logika, yaitu : NOT (!), AND (&&), OR (||) dan
XOR (^).

3. Karakter (Char)
Yang dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’,’a’,’!’,’5’ dsb.Dasarnya adalah ASCII CHARACTER SET.
Misalnya :

032 pada tabel ASCII CHARACTER SET menunjukkan karakter Blank.
033 = !
048 = 0
076 = L
dst
Operasi yang dilakukan terhadap tipe karakter adalah operasi perbandingan =, <>, <, >, <=, >=.

4. Bilangan Riil (float)
Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte.
Contoh :
123.45
12345. -> salah, titik desi mal tidak boleh dibelakang
12E5
12E+5
-12.34
.1234 -> salah, titik desimal tidak boleh dimuka

Operator untuk jenis data ini terdiri atas : + (penjumlahan) , – (pengurangan) , * (perkalian) dan / (pembagian).

5. Tipe String
Nilai data string merupakan urut- urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Contoh : ’Belajar’, ’Pemrograman’, merupakan nilai konstanta string.

Terima kasih telah membaca!

 

Notasi Algoritma

Friday, December 12th, 2014

Halo, selamat datang kembali di website saya.

Pada posting saya sebelum ini, telah saya jelaskan tentang Algoritma dan Struktur Data, nah pada kali ini, saya akan menjelaskan tentang Notasi Algoritma, atau cara penulisan Algoritma suatu program.

Notasi algoritma bukan notasi bahasa pemrograman. Ada beberapa notasi yang digunakan dalam penulisan algoritma.
Notasi I :menyatakan langkah-langkah algoritma dengan kalimat deskriptif.

Algoritma Euclidean
Diberikan dua buah bilangan bulat tak negatif m dan n (m>=n). Carilah FPB dari kedua bilangan tersebut.
Deskripsi
1. Jika n = 0, maka m adalah jawabannya; stop.Tetapi jika n<>0, lanjutkan ke langkah 2.
2. Bagilah m dengan n, misalkan r adalah sisanya.
3. Ganti nilai m dengan n, dan nilai n dengan r. Ulang kembali ke langkah 1.

Notasi II :menggunakan diagram alir ( flowchart)
Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program. Flowchart atau diagram alir memiliki bagan-bagan yang melambangkan fungsi tertentu. Bagan, nama dan fungsinya seperti yang disajikan pada tabel berikut :

Flowchart selalu diawali dan diakhiri oleh bagan terminator. Aliran selalu dari atas ke bawah, satu demi satu langkah. Tidak ada proses yang dikerjakan bersamaan, semua dikerjakan satu persatu.Proses yang dilakukan komputer sebenarnya hanya ada 3 proses: input, proses data dan output.

Notasi III : menggunakan pseudo-code
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Bahasa Pascal dan C.

Algoritma Euclidean
{Dibaca dua buah bilangan bulat tak negatif m dan n (m>=n). Carilah FPB dari kedua bilangan tersebut.}
Deklarasi
m,n,r : integer
Deskripsi
read(m,n)
while n<> 0 do
r <- m mod n
m<- n
n <-r
endwhile
write(m)

Oke demikian 3 Notasi Algoritma, sudah cukup jelas bukan, sampai jumpa di postingan berikutnya, terima kasih telah bersedia membaca!

Algoritma dan Struktur Data

Wednesday, December 10th, 2014

Halo, di postingan pertama saya ini saya akan menjelaskan tentang mata kuliah Algoritma dan Struktur Data.

Sebelum itu, apa sih yang disebut program komputer? Apa itu Algoritma dan Struktur Data? Pentingkah mempelajarinya?

Program komputer dibuat berdasarkan langkah-langkah logis untuk menyelesaikan masalah. Lagkah-langkah tersebut ditulis dalam suatu instruksi yang bisa dipahami oleh komputer, kemudian komputer akan menerjemahkan ke dalam bahasa mesin dan mengerjakan langkah-langkah tersebut.

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Algoritma memiliki lima ciri penting :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti – dua (ambigu).
3. Algoritma memiliki nol atau lebih masukan.
4. Algoritma memiliki satu atau lebih keluaran.
5. Algoritma harus efektif.
Struktur data adalah cara merepresentasikan data agar efisien dalam penyimpanan dan pengolahannya. Struktur data seharusnya diterapkan pada algoritma yang didesain secara efisien.
Jadi mata kuliah Algoritma & Struktur Data adalah suatu disiplin ilmu yang mempelajari bagaimana merepresentasikan data secara efisien dan desa in pengolahannya secara efisien.

Nah dari penjelasan singkat diatas sudah mengerti kan apa penting mata kuliah Algoritma dan Struktur Data bagi calon-calon programmmer(jurusan Ilkomp, Sisfo, dan sejenis)?

Sekian postingan saya kali ini, terima kasih telah bersedia membaca!