TUGAS UAS KOMUNIKASI DATA MEMBUAT APLIKASI CHATING MENGGUNAKAN C++

TUGAS UAS KOMUNIKASI DATA MEMBUAT APLIKASI CHATING MENGGUNAKAN C++

1.       1. Coding pada program
ΓΌ  Pada Server 1
//program client
#include <cstdlib>
#include <iostream>
#include <winsock.h>
#include <windows.h>
#include  <string>
#define CON_PORT 2015
#define REC_PORT 2014
using namespace std;


bool bConnectTo (char* pszAaddress, int nNoPort);
bool bListenOnPort (int nNonPort);
void CloseConnection(SOCKET sock);
DWORD WINAPI Connect (LPVOID Param);
DWORD WINAPI Receive (LPVOID PARAM);


SOCKET sConn;
SOCKET sRecv;
WSADATA wsa1; bConnectTo()
WSADATA wsa2; bListenOnPort()
int main(int argc, char *argv[])
{
    bool bStatus;
    DWORD id;
    bStatus = bListenOnPort (REC_PORT);
    if (bStatus == false )
    {
       cout << endl << "Listening pada port " << REC_PORT << " gagal!!" << endl;
    }
    else
    {
        cout << endl << "Listening pada port " << REC_PORT << "Berhasil!!" << endl;
    }
    CreateThread (NULL,0, &Connect,NULL,0, &id);
    CreateThread (NULL,0 ,&Receive, NULL,0,&id);
   
    while (true)
    {
         
          char szInput [1024] = { '\0'};
          SOCKET sSend; // Handle return fungsi send ()
          cout << "send 1> ";
        
          cin.getline (szInput, 1024);
          sSend = send (sConn,szInput,1024,0);  dari szInput
          if (sSend == INVALID_SOCKET)
          {
          cout << "(Gagal Mengirim)" << endl;
          }
          else
          {
         
          cout << "Sedding OK)" << endl;
          }
    }
    system ("PAUSE");
    return EXIT_SUCCESS;
}
    DWORD WINAPI Receive (LPVOID Param)
{
    SOCKET sAcc;
    sAcc = accept (sRecv,NULL,NULL);
    if (sAcc == INVALID_SOCKET)
    {
       cout << endl << "Koneksi gagal diterima!!" << endl;
    }
    else
    {
        cout << endl << "Koneksi berhasil diterima" << endl << "send>";
    }
    while (true)
    {
         
        Sleep(100);
        char szMessage[1024] = { '\0' };
        SOCKET sRcv;
           
        sRcv = recv(sAcc, szMessage, 1024, 0);
           
        if(sRcv == INVALID_SOCKET)
        {
            cout << endl <<"Gagal Menerima Data!!" << endl;
            break;
          }
          else
          {
             
              cout << endl << "pesan atau data dari pengirim : " << szMessage << endl << "send>";
          }
    }
}
DWORD WINAPI Connect (LPVOID Param)
{
      bool bKondisi;
      while (true)
      {
            Sleep (1000);
            bKondisi = bConnectTo("192.168.14.7",CON_PORT);
            if (bKondisi == true)
            {
               cout << endl << "Koneksi Berhasil" << endl << "send>";
               break;
            }
      }
      return 0;
}
bool bConnectTo (char* pszAddress, int nNoPort)
{
     int error = WSAStartup (0x0202, &wsa1);
     if (error)
     {
              
               return false;
     }
     if (wsa1.wVersion !=0x0202)
     {
              
               WSACleanup ();
               return false;
     }
     SOCKADDR_IN addr;
     addr.sin_family = AF_INET;
     addr.sin_port = htons (nNoPort);
     addr.sin_addr.s_addr = inet_addr (pszAddress);
     sConn = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
     if (sConn == INVALID_SOCKET)
     {
             
              return false;
     }
     if (connect (sConn, (SOCKADDR *) & addr, sizeof(addr)) == SOCKET_ERROR)
     {
            
             return false;
     }
     else
     {
        
            return true;
     }
}
bool bListenOnPort (int nNoPort)
{
     int error = WSAStartup (0x0202, &wsa2);
     if (error)
     {
       
        return false;
     }
     if(wsa2.wVersion !=0x0202)
     {
       
        WSACleanup();
        return false;
     }
     SOCKADDR_IN addr;
   
    addr.sin_family = AF_INET;
    addr.sin_port = htons(nNoPort);
    addr.sin_addr.s_addr = htonl(INADDR_ANY);
   
    sRecv = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
   
    if(sRecv == INVALID_SOCKET)
     {
       
        return false;
     }
     if(bind(sRecv, (LPSOCKADDR) &addr, sizeof(addr)) == SOCKET_ERROR)
     {
    
      return false;
      }
     listen (sRecv,SOMAXCONN);
}
void CloseConnection(SOCKET sock)
{
     if (sock)
     {
             
              closesocket(sock);
     }
             
     WSACleanup();
}






ΓΌ  Pada Server 2
//program client
#include <cstdlib>
#include <iostream>
#include <winsock.h>
#include <windows.h>
#include  <string>
#define CON_PORT 2014
#define REC_PORT 2015
using namespace std;


bool bConnectTo (char* pszAaddress, int nNoPort);
bool bListenOnPort (int nNonPort);
void CloseConnection(SOCKET sock);
DWORD WINAPI Connect (LPVOID Param);
DWORD WINAPI Receive (LPVOID PARAM);


SOCKET sConn;
SOCKET sRecv;
WSADATA wsa1; bConnectTo()
WSADATA wsa2; bListenOnPort()
int main(int argc, char *argv[])
{
    bool bStatus;
    DWORD id;
    bStatus = bListenOnPort (REC_PORT);
    if (bStatus == false )
    {
       cout << endl << "Listening pada port " << REC_PORT << " gagal!!" << endl;
    }
    else
    {
        cout << endl << "Listening pada port " << REC_PORT << "Berhasil!!" << endl;
    }
    CreateThread (NULL,0, &Connect,NULL,0, &id);
    CreateThread (NULL,0 ,&Receive, NULL,0,&id);
   
    while (true)
    {
         
          char szInput [1024] = { '\0'};
          SOCKET sSend;
          cout << "send 2> ";
         
          cin.getline (szInput, 1024);
          sSend = send (sConn,szInput,1024,0);
          if (sSend == INVALID_SOCKET)
          {
          cout << "(Gagal Mengirim)" << endl;
          }
          else
          {
        
          cout << "Sedding OK)" << endl;
          }
    }
    system ("PAUSE");
    return EXIT_SUCCESS;
}
    DWORD WINAPI Receive (LPVOID Param)
{
    SOCKET sAcc;
    sAcc = accept (sRecv,NULL,NULL);
    if (sAcc == INVALID_SOCKET)
    {
       cout << endl << "Koneksi gagal diterima!!" << endl;
    }
    else
    {
        cout << endl << "Koneksi berhasil diterima" << endl << "send>";
    }
    while (true)
    {
         
        Sleep(100);
        char szMessage[1024] = { '\0' };
        SOCKET sRcv;
           
        sRcv = recv(sAcc, szMessage, 1024, 0);
           
        if(sRcv == INVALID_SOCKET)
        {
            cout << endl <<"Gagal Menerima Data!!" << endl;
            break;
          }
          else
          {
             
              cout << endl << "pesan atau data pengirim : " << szMessage << endl << "send>";
          }
    }
}
DWORD WINAPI Connect (LPVOID Param)
{
      bool bKondisi;
      while (true)
      {
            Sleep (1000);
            bKondisi = bConnectTo("192.168.14.2",CON_PORT);
            if (bKondisi == true)
            {
               cout << endl << "Koneksi Berhasil" << endl << "send>";
               break;
            }
      }
      return 0;
}
bool bConnectTo (char* pszAddress, int nNoPort)
{
     int error = WSAStartup (0x0202, &wsa1); Winsock
     if (error)
     {
              
               return false;
     }
     if (wsa1.wVersion !=0x0202)
     {
             
               WSACleanup ();
               return false;
     }
     SOCKADDR_IN addr;
     addr.sin_family = AF_INET;
     addr.sin_port = htons (nNoPort);
     addr.sin_addr.s_addr = inet_addr (pszAddress);
    
     sConn = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);  socket
     if (sConn == INVALID_SOCKET)
     {
             
              return false;
     }
     if (connect (sConn, (SOCKADDR *) & addr, sizeof(addr)) == SOCKET_ERROR)
     {
            
             return false;
     }
     else
     {
        
            return true;
     }
}
bool bListenOnPort (int nNoPort)
{
     int error = WSAStartup (0x0202, &wsa2); Winsock
     if (error)
     {
    
        return false;
     }
     if(wsa2.wVersion !=0x0202)
     {

        WSACleanup();
        return false;
     }
     SOCKADDR_IN addr;
   
    addr.sin_family = AF_INET;
    addr.sin_port = htons(nNoPort);
    addr.sin_addr.s_addr = htonl(INADDR_ANY);
   
    sRecv = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); Socket
   
    if(sRecv == INVALID_SOCKET)
     {
     
        return false;
     }
     if(bind(sRecv, (LPSOCKADDR) &addr, sizeof(addr)) == SOCKET_ERROR)
     {
      return false;
      }
     listen (sRecv,SOMAXCONN);
}
void CloseConnection(SOCKET sock)
{
     if (sock)
     {
             
              closesocket(sock);
     }
             
     WSACleanup();
}








2.      2..Contoh tampilan program saat di eksekusi. Disini digunakan 2 komputer yang saling terkoneksi.
ΓΌ  Saat program mulai di eksekusi (RUN), pertama program akan membuat sambungan dari server 1 ke server 2 dan sebaliknya.
 
  




ΓΌ  Setelah berhasil akan muncul pesan bahwa komeksi berhasil diterima

 



ΓΌ  Kemudia kami berikan contoh screenshoot dari chat yang dilakukan oleh 2 komputer yang sudah kami jalankan aplikasi chating tersebut






3.      3. Konfigurasi IP pada 2 komputer agar dapat terhubung. Dan disini kami menggunakan cabel LAN jenis cross untuk menghubungkan/mengkoneksikan 2 komputer tersebut.
Caranya :
·         Pada Network Connection di PC anda pilih Open Network And Sharing Center. Bisa juga di akses melalui Control Panel

·         Diaccess type connection pilih Local Area Network.
·         Lalu pilih properties. Disini akan kita setting IP addressnya.



  

·         Setelah itu pilih TCP/IPv4



·         Silahkan untuk mensetting IP seperti dibawah ini untuk server, lalu ok,ok,ok



·         Dan seperti dibawah ini untuk client, lalu ok,ok,ok.



4.      4. Penjelasan potongan codingnya akan kami elaskan dibawah.
ΓΌ  Potongan coding pada server 1
#define CON_PORT 2015 //Port yang akan dihubungi
#define REC_PORT 2014 // Port untuk listening

//variabel global
SOCKET sConn; // Socket yang digunakan pada fungsi bConnectTo()
SOCKET sRecv; // Socket yang digunakan pada fungsi bListenOnPort()
WSADATA wsa1; // Object WSADATA yang digunakan pada fungsi bConnectTo()
WSADATA wsa2; // Object WSADATA yang digunakan pada fungsi bListenOnPort()
int main(int argc, char *argv[])

// Infinite looping untuk menampilkan data terus-menerus
        Sleep(100); // tunda eksekusi selama 100 milisecond
        char szMessage[1024] = { '\0' }; // Inisiasi variable NULL
        SOCKET sRcv; // Handle return fungsi recv()

bool bConnectTo (char* pszAddress, int nNoPort)
{
     int error = WSAStartup (0x0202, &wsa1); // Mengaktifkan Winsock
     if (error)
     {
               // jika terjadi error (nilai return !=0)
               return false;
     }
     if (wsa1.wVersion !=0x0202)
     {
               // Jika versi socket tidak sesuai
               WSACleanup ();
               return false;
     }





ΓΌ  Potongan coding pada server 2
#define CON_PORT 2014 //Port yang akan dihubungi
#define REC_PORT 2015 // Port untuk listening

SOCKET sConn; // Socket yang digunakan pada fungsi bConnectTo()
SOCKET sRecv; // Socket yang digunakan pada fungsi bListenOnPort()
WSADATA wsa1; // Object WSADATA yang digunakan pada fungsi

// Infinite looping untuk menampilkan data terus-menerus
        Sleep(100); // tunda eksekusi selama 100 milisecond
        char szMessage[1024] = { '\0' }; // Inisiasi variable NULL
        SOCKET sRcv; // Handle return fungsi recv()
           
        sRcv = recv(sAcc, szMessage, 1024, 0); // menerima
           
        if(sRcv == INVALID_SOCKET)
        {
            cout << endl <<"Gagal Menerima Data!!" << endl;
            break; // Akhiri looping
          }
          else
          {
              //tampilkan data dari client
              cout << endl << "pesan atau data pengirim : " << szMessage << endl << "send>";
          }
    }
}

SOCKADDR_IN addr; // Struktur socket
     addr.sin_family = AF_INET;
     addr.sin_port = htons (nNoPort);
     addr.sin_addr.s_addr = inet_addr (pszAddress);
     // membuat Socket
     sConn = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); //membuat socket
     if (sConn == INVALID_SOCKET)
     {
              // Jika Socket Gagagl di buat
              return false;
     }
     if (connect (sConn, (SOCKADDR *) & addr, sizeof(addr)) == SOCKET_ERROR)
     {
             // Jika tidak dapat melakukan koneksi
             return false;
     }
     else
     {
         // jika dapat melakukan koneksi
            return true;
     }
}






Contoh Surat Kuasa Penganbilan KRS

Contoh Surat Kuasa Penganbilan KRS

Surat Kuasa


Dengan hormat,
Yang bertanda tangan di bawah ini:

Nama               : Nanang Iswanto
Nim                 : 12201055
Alamat             : JL.Lintas Kerato Kel Lempeh RT.04/RW.07,Sumbawa Besar

Melalui surat ini telah memberi kuasa kepada :

Nama               : Monica Dwi
Nim                 : 12201137
Alamat             : Gempol Marga Bhakti No.24

Untuk mewakili pengisian kertu rencana studi (KRS) semester III
Untuk itu penerima kuasa dikuasakan untuk… (tujuan pemberian kuasa).
 tahun ajaran 2013/2014.
Saya berhalangan dalam pengisian kartu rencana studi dikarenakan saya pulang kampung.

Demikian surat kuasa ini dibuat untuk digunakan sebagaimana mestinya, atas perhatian dan bantuan bapak, saya ucapkan terimakasih.



Malang, 26 Agustus 2013

Penerima kuasa                                                                                           Pemberi Kuasa

                                                     
                                                                                                                            Materai

   Monica Dwi                                                                                             Nanang Iswanto


Dasar-dasar Pemrograman C++

Dasar-dasar Pemrograman C++

Pengenalan C++
Bahasa pemrograman C++ bisa disebut sebagai bahasa pemrograman tingkat menengah ( middle level programming language) yang berarti juga termasuk dalam bahasa tingkat tinggi (high level programming language).
Struktur C++
# include
main()
{
Instruksi-instruksi
}

Keterangan :
a. # include sebagai proses compiler dari c++ menjalankan program yang dinamakan preprosesor yang memiliki kemampuan menambahkan dan menghapus kode dari file sumber. Include berarti menyertakan kode dari file header yang ada didalam kurung, file header adalah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program.
b. main()
Untuk mendeklarasi fungsi utama, bahwa suatu program c++ dapat berisi banyak fungsi, tetapi harus selalu memiliki sebuah fungsi utama ( main function). Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu.
c. {
Menandakan awal program.
d. Instruksi
Berisi perintah-perintah yang akan dilakukan program.
e. }
Menandakan akhir program.
Pendeklarasian tipe data variable.
Tipe data Fungsi atau kegunaan Jangkauan Contoh
Int Dapat menampung nilai positif atau nilai negative. -32768 sampai 32767 125
Float Dapat menampung semua nilai bilangan real, mewakili semua bilangan,dan bilangan dengan pecahan decimal. -1038 sampai +1038 56.12
Char Mewakili suatu karakter tunggal, sebuah huruf, 1 digit, atau tanda baca. 1 byte ‘A’
Deklarasi & Variabel
Bentuk penulisan
Tipe_data nama_variabel;

Contoh Deklarasi Variabel
char nama_mahasiswa;
char grade;
float rata_rata ;
int nilai;

Perintah Keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
• printf()
• puts()
• putchar()
• cout()
printf()
Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.

contoh1:
#include
#include
#include
main()
{
int a=7;
char b=’G';
clrscr();
printf(“%c Merupakan Abjad Yang Ke – %d”, b, a);
getch();
}puts()

Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING.
Perbedaan antara printf() dengan puts() adalah :

Contoh2:
#include
#include
#include
main()
{
char a[4]=”BSI”;
clrscr();
puts(“Saya Kuliah di. “); {put berfungsi untuk mencetak sekaligus mencipakan baris baru}
puts(a);
getch();
}
putchar()

Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.

Contoh3:
#include
#include
main()
{
clrscr();
putchar(‘B’);
putchar(‘S’);
putchar(‘I’);
getch();
}
cout()

Penjelasan Fungsi cout() merupakan sebuah objeck didalam C++ digunakan untuk menampilkan suatu data
kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header iostream.h .
Contoh4:

#include
#include
#include
main()
{
float a, b, c;
a=7.5; b=8.4; c=0;
clrscr();
cout<<"Masukan Nilai A : "<<a;
cout<<"Masukan Nilai B : "<<b<<endl;
c = a + b;
cout<<"Masukan Nilai C : "<<c;
getch();
}

Perintah Masukan
Perintah standar input yang disediakan oleh Borland C++, diantaranya adalah :
• scanf()
• gets()
• cin()
• getch()
• getche()
scanf()
Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
scanf("penentu format", &nama-variabel); format sama dengan format printf()
contoh5:
# include
# include
main()
{
int a, b, c = 0 ;
clrscr();
printf(“Masukan Nilai A = “); scanf(“%d”,&a);
printf(“Masukan Nilai B = “); scanf(“%d”,&b);
c = a + b;
printf(“Hasil Penjumlahan = %d”,c);
getch();
}
gets()

Fungsi gets() digunakan untuk memasukkan data string.
Bentuk Umum dari fungsi ini adalah :
gets(nama-variabel-array);
Perbedaan scanf dan gets
Contoh6:

# include
# include
main()
{
char nm1[20];
char nm2[20];
clrscr();
puts(“Masukan nama ke – 1 = “);
gets(nm1);
printf(“Masukan nama ke – 2 = “);
scanf(“%s”,&nm2);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm1);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm2);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm2);
getch();
}

cin() Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .
contoh7:

# include
# include
# include
main()
{
float a, b, c;
clrscr();
cout<>a;
cout<>b;
c = a + b;
cout<<"Nilai C : "<<c<<endl;
getch();
}
getch ()

Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Contoh8:

# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getch();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch();
}
getche ()

Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Contoh9:

# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getche();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch ();
}

Catatan : Getch() dan getche() penulisan sama
Operator Aritmatik
Operator Keterangan
+ pertambahan
* perkalian
% Sisa pembagian
- Pengurangan
/ Pembagian
Contoh1:

#include
#include
#include
main()
{
int a, b, c = 0, d = 0;
clrscr();
cout<>a;
cout<>b;
c = a % b;
d = a * b;
cout<<" Hasil dari C = A % B = "<<c<<endl;
cout<<" Hasil dari D = A * B = "<<d<<endl;
getch();
}

Operator Penambahan dan Pengurangan
A = A + 1 atau A = A – 1;
disederhanakan menjadi :
A += 1 atau A -= 1;
masih dapat disederhanakan menjadi A ++ atau A–
Notasi “ ++ “ atau “ — “ dapat diletakan didepan atau di belakang variabel.
Contoh A ++ atau ++A / A– atau –A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda
• Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan
• Jika diletakan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Contoh2:

/* Penggunaan Notasi Didepan Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
printf(“Nilai A = %d”, a);
printf(“\nNilai ++A = %d”, ++a);
printf(“\nNilai A = %d”, a);
printf(“\nNilai B = %d”, b);
printf(“\nNilai –B = %d”, –b);
printf(“\nNilai B = %d”, b);
getch();
}

Contoh3:
/* Penggunaan Notasi Dibelakang Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
printf(“Nilai A = %d”, a);
printf(“\nNilai A++ = %d”, a++);
printf(“\nNilai A = %d”, a);
printf(“\nNilai B = %d”, b);
printf(“\nNilai B– = %d”, b–);
printf(“\nNilai B = %d”, b);
getch();
}

Operator Relasi
Operator Keterangan
== Sama dengan (bukan pemberi nilai
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Contoh4:

#include
#include
#include
main()
{
float a, b, c, d, e, f, x, y;
clrscr();
cout<>x;
cout<>y;
a = x == y;
b = x != y;
c = x > y;
d = x = y;
f = x <= y;
cout<<endl;
cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl;
cout<<"Hasil dari "<<x< “<<y<<" = "<<c<<endl;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;
cout<<"Hasil dari "<<x<= “<<y<<" = "<<e<<endl;
cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;
getch();
}

Operator Logika
Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False).
Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT
Operator And
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 >= 4
Contoh5:

/* Penggunaan Operasi Logika AND */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
// Proses
d = a + 4 a + 5;
f = c – 3 >= 4;
g = d && e && f;
cout<<endl<<endl;
cout<<"Program Ekspresi AND"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
cout< a + 5 adalah ” <<e<<endl;
cout<= 4 adalah ” <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d && e && f adalah " <<g;
cout<<endl;
getch();
}

Operator OR
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 > 4
Contoh6:

/* Penggunaan Operasi Logika OR */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
d = a + 5 > 10;
e = b > 5 + a ;
f = c – 4 <= 7;
g = d || e || f;
cout<<endl<<endl;
cout<<"Program Ekspresi OR"<<endl<<endl;
cout< 10 adalah ” <<d<<endl;
cout< 5 + a adalah ” <<e<<endl;
cout<<"Hasil dari f = c – 4 <= 7 adalah " <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d || e || f adalah " <<g;
cout<<endl;
getch();
}

Operator NOT
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Contoh:
Ekspresi Relasi  A + 4 < 10
Contoh7:

/* Penggunaan Operasi Logika NOT */
#include
#include
#include
main()
{
int a, b, c;
clrscr();
cout<>a;
/* Proses */
b = (a + 4 < 10);
c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl;
cout<<"Nilai A = "<<a<<endl;
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl;
cout<<"Nilai c = !(b) = "<<c;
getch();
}

Operasi Penyeleksian Kondisi
Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.
Pernyataan IF
if (kondisi)
{
Pernyataan;
……
}
Contoh1:

#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}
Pernyataan If Else
if (kondisi-1)
{
perintah-1;
….
}
else
{
perintah-2;
….
}
Contoh2:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}

Pernyataan Nested If
if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;
Contoh3:

#include
#include
#include
main()
{
char kd;
char ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
clrscr();
cout<<"***Toko Kelontong Keroncongan***"<<endl;
cout<<"============================================="<<endl;
cout<<"A. Susu Dancow "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"B. Susu Bendera "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"C. Susu SGM "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<>kd;
cout<>ukr;
cout<>byk;
if(kd==’A'||kd==’a')
{strcpy(merk,”Dancow”);
if(ukr==’1′)hrg=15000;
else if(ukr==’2′)hrg=26000;
else hrg=45000;}
else if(kd==’B'||kd==’b')
{strcpy(merk,”Bendera”);
if(ukr==’1′)hrg=12000;
else if(ukr==’2′)hrg=22000;
else hrg=40000;}
else
{strcpy(merk,”SGM”);
if (ukr==’1′)hrg=20000;
else if(ukr==’2′)hrg=38000;
else hrg=70000;}
cout<<"Merk Susu :"<<merk<<endl;
cout<<"Harga :"<<hrg<<endl;
byr=hrg*byk;
cout<<"Pembayaran :"<<byr<<endl;
ppn=0.1*byr;
ttl=byr+ppn;
cout<<"PPN :"<<ppn<<endl;
cout<<"Total Bayar :"<<ttl<<endl;
cout<>u_byr;
u_kembali=u_byr-ttl;
cout<<"Uang Kembali :"<<u_kembali<<endl;
cout<<"Terima Kasih Anda Telah Ke Counter Kami"<<endl;
getch();
}
Pernyataan If – Else Majemuk
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}

Sebenarnya masih banyak lagi contohnya ... lain kali kita lanjutkan
Cara Membuat Animasi Stick Man dengan Macromedia Flash 8

Cara Membuat Animasi Stick Man dengan Macromedia Flash 8

Oke, untuk posting saya yang pertama kalinya di blog ini, saya akan berbagi cara membuat stick man (manusia lidi) pake Macromedia Flash 8, mungkin agan ada yang gak tau stick man, nih saya kasih gambar :)


    Mungkin ada beberapa yang bertanya, kenapa kita pakai animasi stick man untuk percobaan membuat animasi? Jawabannya ya karena stick man mudah untuk digambar, kan kalo mencoba enaknya dari yang mudah dulu toh :D

   Oke,sekarang kembali ke posting, gimana caranya membuat animasi stick man dengan Macromedia Flash 8, ini dia caranya...

 1.  Sediakan sebuah PC (Yaiyalah, kalo ga ada PC gimana mau buat animasi?) lengkap dengan software Macromedia Flash 8, bagi yang belum punya bisa download disini (Link 4shared).

 2.  Buka Macromedia Flash 8 nya.

 3.  Pilih Flash Document.


 4.  Pilih Brush Tool dan gunakan ukuran sedang.


 5.  Kamu gambar stickman nya dengan brush tool.


 6.  Setelah kamu gambar stickman nya, tekan F6 lalu klik Onion Skin.


 7.  Hapus gambar stick man kamu, nanti akan muncul bayangan seperti di gambar dibawah.


 8.  Lalu kamu gambar lagi stick man agan dengan pose yang berbeda :D , pastikan gambarnya tidak jauh dari bayangan.


 9.  Jika sudah, kamu tekan Ctrl+Enter dan lihat hasilnya, animasi stickman versi kamu sendiri telah tercipta :D

10.  Jika kamu mau membuat animasi yang lebih variatif, bisa mengulang cara nomor 6, 7, dan 8,
       
      Silahkan dikembangkan Selamat Mencoba ! :D

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. i-beitrag - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger