Logika dan Algoritma merupakan mata kuliah yang menjelaskan dasar dari langkah-langkah dalam pemrograman, dimana diberikan tahapan secara struktural dalam memecahkan masalah pemrograman.

  • This is default featured slide 1 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

  • This is default featured slide 2 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

  • This is default featured slide 3 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

  • This is default featured slide 4 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

  • This is default featured slide 5 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Sabtu, 25 Oktober 2014

Struktur Looping

Nama : Dedy Julianto
NIM : 12145172
Kelas : 12.1G.01

Looping
Looping adalah pengulangan sesuatu atau serangkaian "kerja" dari program. Dalam C++, paling tidak dikenal ada 3 looping.

While
Perintah while adalah pengulangan yang dilakukan oleh program selama (while) dalam keadaan tertentu. Misalnya saja, ada sebuah kondisi yang mengharuskan program agar melakukan "pekerjaan" tertentu selama keadaan itu terpenuhi (true).
Contoh:
Mencetak angka 1 sampai 1000
#include <iostream>
using namespace std;

void main() {
    int i = 1;
    
    //kondisi ditetapkan (bahwa selama i lebih kecil atau sama dengan
    //1000 ada perintah yang diberikan pada program...)
    while (i <= 1000) {

        //perintah untuk mencetak nilai dari i dan kemudian membuat
        //baris baru
        cout << i << "\n";

        //iterasi
        ++i;
        //i = i + 1;
        //i += 1;
    }
}



Nah, dari kode di atas kita lihat bahwa selama i lebih kecil atau sama dengan 1000, nilai dari i akan di cetak ke layar. Jadi, hasilnya adalah:

1
2
1000

Akan tercetak angka dari 1 sampai 1000 di layar. Perhatikan baik – baik ada sepenggal kode yang diberi komentar "iterasi". Apakah iterasi itu? Iterasi dalam looping adalah proses yang berpengaruh dalam nilai dari variabel yang ditetapkan sebagai acuan looping. Atau dapat pula dikatakan bahwa, iterasi adalah bagaimana penambahan nilai atau pengurangan dalam perulangan. Contohnya seperti nilai dari i di atas. Penulisan yang diberikan pada variabel i adalah:

++i;

Itu sama saja dengan perintah yang berada di dalam komentar:
// i = i + 1;

Dan
//i += i;

Perintah ini berarti bahwa i menambahkan dirinya sendiri dengan 1. Tanda "++" pada i pada bagian depan dari i (prefix), berarti kita langsung menambahkan variabel i dengan 1, tanpa menggunaan terlebih dahulu nilai dari i. Jika kita menggunakan tanda "++" pada bagian akhir dari variabel i (postfix), berarti nilai dari i digunakan terlebih dahulu lalu kemudian ditambahkan dengan 1. Contoh lain dari hal ini adalah dengan menggunakan pengurangan sebagai pengulangan. Contoh:

#include <iostream>
using namespace std;

void main () {
    int i = 1000;

    while (i >= 1) {
        cout << i << "\n";

        //yang digunakan adalah "—-"
        --i;
    }
}

Hasil yang didapat mungkin saja berbeda, tapi persamaan dari keduanya adalah bahwa terjadi perulangan sebanyak 1000 kali, yaitu:

1000
999
1

Perlu diketahui bahwa yang terjadi pada perulangan jika sudah mencapai false (dimana kondisinya tidak lagi true melainkan false) adalah perulangan akan segera keluar dan melanjutkan program. Misalnya saja dari program di atas, jika i tidak lagi lebih kecil atau sama dengan 1000 (misalnya 1001), perulangan akan menghasilkan nilai false (kondisi tidak lagi i <= 1000).

do...while
Biasanya in adalah perintah untuk tetap melakukan sesuatu dalam program sampai kondisinya terpenuhi (aku memanggilnya "kepala batu" atau "si keras kepala" :DDD). Misalnya perintah untuk tetap menampilan sebuah pesan sampai adanya input yang valid dari user. Contoh:
#include <iostream>
using namecspace std;

void main () {
    char yes_no;
    //lalu beberapa variabel diletakkan di sini...
    //... (di sini misalnya terdapat kerja dari program)

    // disini diletakkan do...while untuk "menunggu" inputan yang
    //valid dari user.
    do {
        cout << "masih mau lanjut? (y / n): ";
        cin >> yes_no;
    } while (yes_no != 'y' || yes_no != 'n');

    if (yes_no == 'y')
        //lakukan terserah apa aja yang anda mau lakukan di sini

    else
        //di sini juga anda bisa lakukan apa saja yang anda mau
        //lakukan
}
Jika kita perhatikan mungkin ada tanda yang di pergunakan dalam kode tersebut. Akan saya coba jelaskan mengenai beberapa operator logika yang terdapat dalam C++.

Operator logika biasanya dipakai dalam perbandingan (kondisi). Mengenai fungsi perbandingan ini akan dibahas dalam bab-bab berikutnya. Operator logika yang biasanya dipakai ada beberapa macam, yaitu:
  • Tanda "&&" (and), operator ini berfungsi jika kedua nilai pembandingnya bernilai true. Contoh: i >= 0 && i <= 1000. Ini berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 0 dan lebih kecil atau sama dengan 1.000 (0 – 1.000).
  • Tanda "||" (or), operator ini berfungsi jika salah satu dari kedua nilai pembandingnya bernilai true. Contoh: i >= 1000 || i <= 0. Ini berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 1.000 atau leih kecil atau sama dengan 0 (-1 ke bawah atau 1.001 ke atas).
  • Tanda "!" (not), seperti yang kita lihat terdapat di bagian dari kode di atas adalah merupakan tanda negasi, yang berarti semacam pembalik dari sesuatu. Misalnya seperti yang kita lihat pada potongan kode di atas:

while (yes_no != 'y' || yes_no != 'n');
Ini kurang lebih dapat dibaca: "ketika yes_no tidak sama dengan 'y' n atau
yes_no tidak tidak sama dengan 'n'.

Kembali ke masalah kode di atas, pada bagian "pembuka" kita membuat beberap variabel, salah satunya adalah yes_no yang berfungsi untuk "menampung" nilai atau karakter yang dipilih dari user. Jadi, kita membuat sebuah program yang entah kerjanya baagimana lalu pada bagian akhir dari program tersebut, kita memberikan sebuah pilihan apakah user masih mau lanjut atau tidak. Jika user memasukkan input yang tidak valid misalnya menekan angka 0 atau menekan huruf "t"), maka perintah yang berada dalam blok do…while akan di eksekusi, dan begitu seterusnya jika user masih tidak memasukan input yang valid.

for
Ini adalah (mungkin) perulangan yang paling sering dipakai dalam C++. Sintaknya adalah sebagai berikut:
for (inisialisasi; kondisi; iterasi) {
    //yang ingin dilakukan...
}
Dalam for, anda bisa melakukan inisialisasi, yaitu mendeklarasikan variabel baru dan langsung memasukan nilai di dalamnya, kemudian memberi kondisi dimana perulangan itu akan terus dilakukan, dan pada akhirnya menentukan iterasi. Contoh dari for adalah sebagai berikut:

#include <iostream>
using namespace std;

void main () {
    int num_masuk;
    cout << "berapa banyak anda mau melakukan perulangan?: ";
    cin >> num_masuk;

    for (int i = 1; i <= num_masuk; ++i) {
        cout << "ini adalah baris ke-" << i << "\n" ;
    }
}

Pada kode di atas, yang akan menjadi input dari user untuk menentukan berapa banyak perulangan akan dilakukan adalah num_masuk, dan variabel yang akan dijadikan patokan dalam perulangan adalah i, di mana i di buat di dalam perintah for dan kemudian langsung di assign (inisialisasi). Kondisi yang digunakan adalah kondisi dimana i <= num_masuk yang berarti, jika / selama i lebih kecil atau sama dengan num_masuk maka perulangan akan terus dilakukan. Iteasi yang ditentukan di sini adalah nilai dari i akan ditambah 1 (satu) dalam setiap perulangan (++i). Contoh program yang sudah di compile dari kode ini adalah:



Namun for
juga bisa digunakan sebagai berikut:
for (int i = 1; i <= 10; ++i) {
    for (int j = 1; j <= 10; ++j) {
        cout << i * j << "\n";
    }
}
Program seperti ini dapat digunakan dalam perhitungan perkalian, misalnya saja hasilnya dapat menjadi sebagai berikut:

Koding untuk program ini adalah:
#include <iostream>
using namespace std;

void main () {
    //untuk berapa banyak baris yang diinginkan...
    for (int i = 1; i <= 10; ++i) {
        //jumlah kolom, mengingat bagian ini yang akan
        //dieksekusi lebih lanjut dan sampe selesai daul baru
//dilanjutkan dengan bagian yang selanjutnya (bagian baris)
        for (int j = 1; j <= 3; ++j) {
            cout << i << " X " << j << " = " << j * i << "\t";
        }
        //baris baru, setelah ketiga kolom selesai "dibuat"
        cout << "\n";
    }
}
Break dan continue
Ketika melakukan perulangan, ketika sampai batas tertentu kita ingin memberhentikan perulangan tersebut. Untuk itulah, dibuat statement break dan continue.

break
Adalah perintah untuk langsung keluar dari looping (perulangan). Contoh penggunaan statement break adalah:
while (i > 0) {
    cout << i << "\n";
    if (i == 2)
        break;
    --i;
}
Sudah bisa tebak apa kira – kira yang akan dihasilkan oleh program ini? Kalau belum, silahkan baca lebih lanjut.
Program tersebut akan dieksekusi sampai nilai i sama dengan 2. Seharusnya, progrma tersebut akan bejalan sampai dengan nilai i sama dengan 1. Tapi statement break yang diberikan pada kondisi dimana jika nilai i sama dengan 2 maka looping dihentikan, maka ketika nilai i sama dengan 2, nilai i tidak dikurangi lagi (--i;) dan looping keluar. Hasilnya kurang lebih bisa dilihat sama dengan contoh program berikut:

Kodenya adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
    int baris;
    cout << "berapa banyak anda ingin mencetak baris?: ";
    cin >> baris;

    for (int i = 1; i <= baris; ++i) {
        cout << "ok, ini adalah baris yang ke-" << i << "\n";

        if (i == (baris - 1))
            break;
    }
    cout << "sorry, hanya bisa sampe di situ doang... :D\n";
}
continue
Nah, ini juga mirip dengan break tadi hanya saja ini kebalikannya. Langsung saja ke contohnya:
    for (int i = 1; i <= 20; ++i) {
        if (i % 7 == 0)
            cout << i << "\n";
        else
            continue;
    }
Yang di atas itu adalah (kurang lebih) contoh yang saya pelajari ketika saya belajar C++ juga :D. Itu adlaah kode untuk mencari bilangan kelipatan 7 dari 1 – 20. Fungs continue diatas adalah, jika bilangan itu tidak habis di bagi 7 (if (i % 7 == 0)), maka lopingnya dilanjutkan terus, tanpa adanya apa – apa yang akan dieksekusi. Contoh tampilannya adalah sebagai berikut (kali ini kita akan mencoba mencari dari 1 sampai 100):

Kodenya adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
    for (int i = 1; i <= 100; ++i) {
        if (i % 7 == 0)
            cout << i << " adalah kelipatan 7!\n";
        else
            continue;
    }
}
Share:

Diagram Alur (Flowchart)

Nama : Hendra Wijaya
NIM : 12143546
Kelas : 12.1G.01

Flowchart

√ Flowchart  adalah  representasi  grafik  dari  langkah-langkah  yang  harus  diikuti  dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing  simbol  merepresentasikan  suatu  kegiatan  tertentu.
√ Flowchart  diawali  dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output.
√ bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah.
√ suatu diagram yang menggambarkan susunan logika suatu program
Simbol-simbol yang digunakan adalah sebagai berikut:
Simbol Flowchart
Simbol Flowchart
Flowchart terdiri dari 3 struktur:

1. Struktur Sequence / Sederhana

Diagram yang alurnya mengalir secara berurutan dari atas ke bawah atau dengan kata lain tidak adanya percabangan atau pengulangan.
Bentuk flowchart tersebut seperti:
Flowchart Sequence
Flowchart Sequence
Contoh dari flowchart dengan struktur sequence ini seperti algoritma untuk menghitung luas segitiga, luas persegi panjang, luas lingkaran.

2. Struktur Branching / Percabangan

Diagram yg alurnya terjadi/terdapat alih kontrol berupa percabangan.
Flowchart dengan stuktur percabangan  digunakan untuk meyeleksi kondisi dan menentukan pilihan proses selanjutnya.
Bentuk flowchart tersebut seperti :
Flowchart Branching
Flowchart Branching
contoh : flowchart dari algoritma menentukan apakah bilangan yang dimasukan ganjil atau genap

3. Struktur Looping / Perulangan

Flowchart dengan Struktur perulangan digunakan untuk mengulangi langkah-langkah sebelumnya sampai suatu kondisi terpenuhi.
Bentuk flowchart tersebut seperti:
Flowchart Looping
Flowchart Looping
Contoh dari flowchart ini misalnya algoritma untuk menentukan bilangan ganjil dibawah nilai 20. Sehingga proses mencetak bilangan tersebut akan dilakukan sampai kondisi terpenuhi yaitu 20.
Catatan:
Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.

VARIABEL

Digunakan sebagai tempat untuk menyimpan nilai yang sejenis. Terdiri dari nama dari variabel itu sendiri dan nilai yang disimpan.
Contoh pemberian nilai ke variabel :
A = 5 –> artinya Variabel A akan diberi nilai 5
A = B –> artinya Variabel A akan diberi nilai sama dengan nilai variabel B.
A = A + 1 –> Variabel A dirubah isinya dengan variabel A yang dijumlahkan dengan 1.
Jenis variabel terbagi atas:
1. Variabel numerik –> berisi angka numerik / bilangan.
2. Variabel string –> berisi karakter / untaian karakter

Struktur Branching / Percabangan

1. Bersyarat
Diagram yang alurnya ada / banyak terjadi alih kontrol berupa percabangan dan terjadi apabila kita dihadapkan pada suatu kondisi dengan dua pilihan BENAR/SALAH.  Struktur dari percabangan yang bersyarat terdiri dari:
- If Then
- If Then Else
- If Then Else If
- Case of
2. Tidak Bersyarat
Struktur : GO TO
Bentuk umum penulisannya adalah GO TO Label


Share:

KONSEP TIPE DATA C++

Nama      : Muhammad Naeli
Nim         : 12142001
Kelas      : 12.1G.01


KONSEP TIPE DATA C++

Pembagian tipe data :
I.                   Tipe Sederhana (simple type)
• Int,Bool,Char
• Tipe Float
II.    Tipe String
• Operasi string
III.             Tipe Terstruktur (structured type)
• Array, Struct



Variabel & Konstanta :
Variabel :
• Untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat diubah selama eksekusi berlangsung.
• Penamaan variabel bersifat case sensitive (huruf besar & huruf kecil dianggap berbeda).
• Harus dideklarasikan dahulu sebelum digunakan
   
Konstanta :
Sebuah variabel dengan tipe data tertentu dan memiliki nilai data yang akan selalu tetap di dalam program.
           
            Contoh : float phi;
            const phi=3.14;
I.    Tipe Data sederhana pada C++
1. Tipe int : tipe data yang nilainya tidak memiliki titik desimal.
 



2. . Tipe float : tipe data yang nilainya merupakan pecahan (memiliki titik desimal).


3. Tipe Bool : nilai pengambilan suatu keputusan pada program,  tipe ini mempunyai 2 nilai yaitu benar(T) atau salah (F).
Operator yg digunakan AND, OR atau NOT.


4. Tipe Char : digunakan untuk menampung data sebuah karakter. untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik tunggal ( ‘ )
Contoh :
‘A’ karakter berupa huruf A
‘1’ karakter berupa angka 1
‘*’ karakter simbol *
II.  Tipe String
merupakan sekumpulan dari beberapa karakter, yang banyaknya  berubah - ubah sesuai kebutuhan,besarnya 1 s/d 255 karakter.
Pemberian nilai String diapit dengan tanda petik ganda (“)
Bentuk umum penulisan tipe data ini adalah :
tipe_data  pengenal [panjang] ;
pengenal    = nama variabel
panjang      = bilangan bulat yg menunjukan
jumlah karakter
Contoh :  char nama[15] ;
Fungsi pada Operasi  STRING
1. Strcpy() : untuk menyalin nilai string.
Contoh  dalam penggalan program c++:
Cout<<“Masukan Kata ? “;gets(kata);
Strcpy(copy,kata);
Cout<<“Hasilnya ? “<<copy;
2. Strcat() : untuk menggabungkan nilai string.
Contoh dlm penggalan program c++ :
Cout<<“Kata Pertama ? “;gets(a);
Cout<<“Kata Kedua ? “;cin(b);
Strcat(a,b);
Cout<<“Hasil Gabungan : “<<a;
3. Strcmp() : untuk membandingkan 2 nilai string.
Contoh dalam penggalan program c++:
char sa[]="Logika";
char sb[]="Logika Algoritma";
char sc[]="Logika Algoritma & Pemprograman";
/*Melakukan perbandingan terhadap dua string dan penampilan nilainya*/
printf("Nilai Yang dibandingkan sa,sb :
%d\n",strcmp(sa,sb));
printf("Nilai Yang dibandingkan sa,sc :
%d\n",strcmp(sa,sc));
printf("Nilai Yang dibandingkan sb,sa :
%d\n",strcmp(sb,sa));
getch();
return 0;
}
4. Strlen() : untuk mengetahui panjang nilai string
Contoh dalam penggalan program c++:
cout<<"Masukkan Kata = ";
cout<<"Masukkan Kata = ";
cout<<"Panjang Kata yang telah diinput = ";
cout<<strlen(angka);
5. Strchr () : untuk mencari nilai karakter dalam string.
Contoh dalam penggalan program C++:
int main(void){
char str [100]="Aisyah Zahra";
char karakter='Z';
char *hasil;
hasil=strchr(str,karakter);
printf("Hasil Peubah :%s\n",hasil);
printf("Karakter %c ditemukan pada indeks ke-%d",karakter,(hasil-str));
getch();
return 0; }
III. Tipe Terstruktur
bermanfaat untuk mengelompokkan sejumlah data dengan tipe data yang berlainan.
Contoh :
struct data_pegawai
{
int nip;
char nama[25];
char alamat[40];
}
Contoh program sederhana :
#include <conio.h>
#include <iostream.h>
#include <math.h>
void main()
{
int x,y,z;
clrscr();
cout <<“\n input nilai X=“; cin >> x;
cout <<“\n input nilai Y=“; cin >> y;
z = x + y;
cout <<“\n hasil penjumlahan =“ << z;
getch();
}
Tugas kelompok (max 5 orang):
Membuat program sederhana dengan menggunakan C++
• Menghitung Luas segitiga
• Menghitung Luas Persegi Panjang
• Menghitung Luas Bujur Sangkar
Catatan :
- Pergunakan fungsi cin dan cout atau scanf dan printf
- Tampilkan NIM, Nama & Kelas pada program tersebut
- Listing progam & output dicetak

Share:
Diberdayakan oleh Blogger.

 

Recent Posts

Unordered List

Theme Support