Senin, 27 Mei 2013

struct dengan c++ menghitung rata2 dan grade


#include <iostream>
#include <cstdlib>
using namespace std;

struct mahasiswa
{
char nim [11];
char nama [50];
char jurusan [12];
}mhs[100];
struct point{
int tugas;
int mid;
int uas;
}point[100];

int total, rata;
char no;

int main ()
{

int i,j;
cout<<"Masukan Banyak Data Mahasiswa :";cin>>j;
for(i=1;i<=j;i++)
{
cout<<"--------------"<<endl;
cout<<"DATA "<<i<<":"<<endl;
cout<<" NIM     :";cin>>mhs[i].nim;
cout<<" NAMA    :";cin>>mhs[i].nama;
cout<<" JURUSAN :";cin>>mhs[i].jurusan;

cout<<"--------------"<<endl;
cout<<"Nilai tugas    :";cin>>point[i].tugas;
cout<<"Nilai mid      :";cin>>point[i].mid;
cout<<"Nilai uas      :";cin>>point[i].uas;
 }

for(i=1;i<=j;i++)
{
cout<<"--------------"<<endl;

cout<<"NIM anda     : "<<mhs[i].nim<<endl;
cout<<"NAMA anda    : "<<mhs[i].nama<<endl;
cout<<"JURUSAN anda : "<<mhs[i].jurusan<<endl;

cout<<" Nilai Tugas   :"<<point[i].tugas<<endl;
cout<<" Nilai Mid     :"<<point[i].mid<<endl;
cout<<" Nilai Uas     :"<<point[i].uas<<endl;


total=point[i].tugas + point[i].mid + point[i].uas;
cout<<"Total Nilai ="<<total<<endl;

rata=total/3;
cout<<"Rata - Rata ="<<rata<<endl;

if (rata>=80 && rata<=100)
    no='A';
else if (rata>=70 && rata<=80)
    no='B';
else if (rata>=60 && rata<=69)
    no='C';
else if (rata>=50 && rata<=59)
    no='D';
else no='E';
cout<<"Grade ="<<no<<endl;

}

}

C++ Methode Struck Menghitung Nilai Mahasiswa,, Total, Rata-Rata, Grade...


#include<cstdlib>
#include<iostream>
using namespace std ;
struct mahasiswa
{
  char nim[15];
  char nama [30];
  char alamat[50];
  float ipk;

 };
 struct penilian
 {
 double tugas;
 double uts;
 double uas;
 double rata;
 };
int total,rata;
char grade;
int main ()
{

 {

  mahasiswa mhs;
  cout<<"********* Selamat Datang ********"<<endl;
  cout<<"---------------------------------"<<endl;
  cout<<"NIM          : "; cin.getline(mhs.nim,50);
  cout<<"NAMA         : "; cin.getline(mhs.nama,50);
  cout<<"ALAMAT       : "; cin.getline(mhs.alamat,50);
  cout<<"IPK          : "; cin>>mhs.ipk;

  cout<<endl;
  cout<<endl;

  cout<<"NIM Anda         : " <<mhs.nim<<endl;
  cout<<"NAMA Anda        : " <<mhs.nama<<endl;
  cout<<"ALAMAT Anda      : " <<mhs.alamat<<endl;
  cout<<"Nilai IPK Anda   : " <<mhs.ipk<<endl;
  cout<<"--------------------------------"<<endl;
  penilian pln;
  cout<<"--------------------------------"<<endl;
  cout<<"TUGAS    : "; cin>>pln.tugas;
  cout<<"UTS      : "; cin>>pln.uts;
  cout<<"UAS      : "; cin>>pln.uas;
 
 
   cout<<endl;
   cout<<endl;
 
   cout<<"Nilai TUGAS Anda   : " <<pln.tugas<<endl;
   cout<<"Nilai UTS Anda     : " <<pln.uts<<endl;
   cout<<"Nilai UAS Anda     : " <<pln.uas<<endl;
   cout<<"==============================="<<endl;
 
   total=(pln.tugas+ pln.uts+ pln.uas);
   cout<<"Total Nilai Anda : "<<total<<endl;
   rata=total/3;
   cout<<"Rata - Rata Anda : "<<rata<<endl;
   if ( rata >=90 )
   cout<< "Grade Anda : A ";
   else  if ( rata >=70 )
   cout<< "Grade Anda : B ";
   else if ( rata >=60 )
   cout<< "Grade Anda : C ";
   else  if ( rata >=50 )
   cout<< "Grade Anda : D ";
   else
   cout<< "Grade Anda : E ";
   cout<<endl;
   cout<<endl;
  }
 cout<<"********  Terima Kasih  *********"<<endl;
 system ("PAUSE");
 return 0;
 }

Jumat, 25 Januari 2013

Konvert infix ke posfix



PROGRAM KONVERSI INFIX KE POSTFIX



Di bawah ini salah satu tugas mata kuliah struktur data yang mengharuskan membuat program tentang konversi ekspresi infix ke ekspresi postfix.
Langsung aja ya bisa dilihat listingan programnya, ini dalam bahasa pemrograman C++, compilernya pake DEV C++ yang bisa konversiin progam ini ke bahasa C yah silahkan aja ya, namanya juga bagi-bagi ilmu..
nah selesai, saya kasih logikanya sedikit ya..
semua yang diawali sama tanda # merupakan library dalam bahasa pemrograman C++
seperti #include<iostream> merupakan library yang berisi tentang perintah input output (IO). Nah dalam program tersebut yang termasuk ke dalam library iostrem ini antara lain ada cout (dibaca : C out), dan cin (dibaca : C in). cout tersebut untuk menampilkan output ke layar, sedangkan cin untuk membaca inputan kita dari keyboard.
program ini merupakan program konversi dari ekspresi infix ke ekspresi postfix yang menggunakan operasi stack (tumpukan).
paham ngga sama cara pengoperasian stack dalam program ini?
ya, okee saya jelasin secara singkatnya ya..
pengertian dari stacknya terlebih dulu deh, stack merupakan bentuk khusus dari operasi single list, yang dianalogikan sebagai tumpukan baki/nampan, dimana operasi pemasukkannya hanya bisa dari satu arah, begitupun dengan operasi penghapusannya.
cara kerja dari stack bisa disebut LIFO (Last In Last Out) yang bermaksud elemen terakhir yang dimasukkan atau TOPelemen akan dikeluarkan pertama kali menjadi output.
macam-macam operasi pada stack ada CREATE, PUSH, POP, ISEMPTY.
baiklah, sekarang simak nih cara kerja dari program yang menggunakan cara pengeksekusian operasi stack.
pertama, progam ini akan membaca inputan yang kita masukkan. Jika inputan pertama berupa simbol “(” {kurung buka}maka simbol tersebut kita PUSH ke dalam stack.
kedua, jika bertemu dengan simbol “)” {kurung tutup} maka program akan menge-POP seluruh elemen yang berada dalam stack menjadi output sampai bertemu dengan simbol “(“ yang kita inputkan pertama tadi. [simbol "(" tidak menjadi output].
ketiga, jika inputan yang terbaca berupa simbol OPERAND, maka OPERAND tersebut langsung di POP menjadi output.
keempat, jika inputan merupakan simbol OPERATOR maka :
A. kita perhatikan dahulu level dari OPERATOR yang diinputkan, jika TOP stack berisi OPERATOR dengan level lebih tinggi atau sama dengan OPERATOR  yang diinputkan, maka TOP stack tersebut akan di POP menjadi output. Proses seperti ini akan terus berlanjut dan akan berakhir jika bertemu dengan OPERATOR dengan level lebih rendah atau jika bertemu dengan simbol “(“.
B. jika OPERATOR yang diinputkan memiliki level lebih tinggi dibanding dengan OPERATOR yang ada di dalam stack, maka OPERATOR tersebut ikut kita PUSH ke dalam stack.

*keterangan :

-CREATE = operasi pembuatan stack.

-PUSH = operasi memasukkan/menambah elemen ke dalam stack.

-POP = operasi penghapusan elemen dari stack.

-ISEMPTY =operasi stack yang memastikan stack kosong atau tidak, dan output datanyanya bertipe boolean.

-OPERAND = operand di sini merupakan simbol berupa abjad/alfabet (contoh : a,b,c,d…z).

-OPERATOR = merupakan simbol aritmatika (contoh: ^, *, /, +, -”(“, “)” ).

Dalam program ini, prioritas/level simbol OPERAND dianggap sama, dan huruf kapital atau kecil pun dianggap sama.
Namun urutan prioritas/level untuk OPERATOR sangat diperhatikan dalam menghasilkan output nanti.
Pendeklarasian prioritas untuk OPERATOR dapat dilihat sendiri dalam program di foto kedua (inpost2).
Lalu program untuk konversi ekspresi infix ke postfixnya dapat dilihat pada foto ketiga (inpost3).
Penasaran sama outputnya??
langsung aja deh nih check this out…..
setelah diinputkan “t” lalu kita tekan <enter> maka program langsung berakhir dan keluar.

Minggu, 20 Januari 2013

PENGGUNAAN WIRESHARK


Bagaimana cara penggunaan nya ?
Berikut saya akan berbagi ilmu mengenai penggunaan Wireshark, cekidot --->

1. klik pada icon Wireshark pada PC atau laptop anda untuk mulai menjalankan program
2. Akan masuk ke halaman utame seperti berikut
3. Untuk mulai mengcapture, pilik Capture --> interfaces
4. Lalu kita pilih interface yang akan kita capture, lalu klik Start.
5. Setelah itu Wireshark akan menampilkan packet packet yang telah tercaptue

Wireshark telah berhasil mengcapture packet packet data yang sedang diakses oleh pengguna jaringan. Salah satu hal yang bisa dilakukan dalam wireshark adalah untuk bisa mengetahui password seperti password email atau account account lain. Ini sekedar share ilmu, jangan dimanfaatkan untuk hal yang negatif yaa...
gini caranya -->

Buka situs apapun, dalam hal ini saya akan mencoba menggunakan facebook.com

Wireshark akan menangkap packet packet yang kita kirimkan pada situs tersebut, lalu login

setelah berhasil login, kita beralih lagi ke Wireshark. Wireshark akan mengetahui packet apa saja yang kita kirimkan ke facebook.com . Hentikan capture setelah berhasil menerima packet tersebut.
Mungkin akan terlalu banyak packet yang diterima, maka lakukan filter agar packet bisa lebih spesifik pada yang dikehendaki.
For example: 66.220.149.88 merupakan alamat IP untuk facebook.com, untuk mengetahiu alamat tersebut kita bisa melakukan koneksi ping lewat command prompt ---> ping www.facebook.com 
Setelah alamat IP terfilter akam muncul seperti berikut

Wireshark akan mengcapture password yang kita gunakan untuk login tadi. Mudah kan ?? ingat ini bukan mengajarkan untuk yang negatif. cuma sekedar ilmu... ^^v

Terima kasih ..

SIFFING PASSWORD DENGAN WIRESHARK

Siffing password dengan wireshark

Pada postingan sebelumnya saya telah bercerita sedikit tentang apa itu Sniffing (read: "Mencuri" Password lewat Sniffing ) dan beberapa manfaat yang bisa kita ambil. Sekarang saya akan memberikan contoh pada teman-teman untu melakukan Sniffing dan software yang saya gunakan kali ini adalah Wireshark. Berikut Cara Kerjanya, cekidot --->


1. Buka program WIreshark pada PC atau Laptop anda
2. Jalankan program dengan mengeklik Capture --> interface --> lalu pilih interface yang telah terhubung ke jaringan --> klik Start untuk memulai mengcapture.
 3. Setelah mulai mengcapture, paket-paket data yang ada di jaingan akan terlihat,
4. Sebagai contoh kita akan menSniffing password pada salah satu situs saat kita melakukan login.

5. pada saat seseorang melakukan login, paket-paket data yang dikirimkan akan tercapture oleh Wireshark
6.Pilih paket yang berisikan data POST untuk mengetahui username dan password yang tadi dimasukkan.

   NB: untuk keamanan, untuk isi password penulis blur.

Berhasil !! Sniffing username dan password telah berhasil dilakukan. Kita bisa tau password dari user yang telah mengakses situs tersebut. Ingat! artikel ini bukan mengajarkan untuk hal-hal yang negatif. Ada hal positif yang bisa kita ambil juga dari artikel ini.. Semoga bermanfaat ... :D


WIRESHARK

Tentang Wireshark dan Pemakaiannya
Wireshark merupakan sebuah software sniffer freeware yang dapat didownload dengan mudah di www.wireshark.org. Walaupun termasuk kategori software gratis, software yang sebelumnya dinamakan Ethereal memiliki banyak fitur powerful yang tidak kalah dengan software sejenis. Program sniffer adalah program yang dapat digunakan apabila kita ingin ‘mengintip/mengendus/sniff’ sebuah jaringan, baik Ethernet maupun non-ethernet. Hanya saja, sehari-hari rasanya kita lebih sering berkutat dengan jaringan Ethernet.
Mengapa kita perlu ‘mengintip/mengendus’ jaringan ? Salah satu alasan kuat yang sering ditemui oleh penulis adalah “paket tidak pernah berbohong”. Yang dimaksud di sini, pada saat customer mengatakan bahwa jaringan nya pelan, atau jaringan nya tidak responsive, atau jaringan nya kadang cepat kadang tidak bisa connect, dsb., maka cara paling mudah adalah ‘mengendus’ jaringan dengan langsung melihat isi-isi paket yang lewat di jaringan tersebut. Pernah ada satu kasus yang penulis temukan, pada saat customer mengeluh network nya bermasalah (dan mereka langsung menyalahkan switchnya), setelah paket diintip, kejadian sebenarnya adalah, ada satu mesin gateway, yang apabila mesin tersebut mendengar adanya paket request, maka mesin tersebut selalu menjawab untuk drop paket tersebut, sehingga jaringan seolah-olah tidak connect. Dari sini bisa kita pelajari, bahwa jaringan yang tidak lancar, bisa disebabkan oleh banyak sekali faktor yang harus diselidiki lebih lanjut.
Dahulu kala, semasa jaringan masih menggunakan hub, para pemakai jaringan amat mudah ‘mengintip’ isi percakapan dari para pemakai jaringan lainnya, karena teknologi hub memang masih bersifat shared. Shared yang dimaksud di sini adalah, walaupun komputer A hanya berbicara dengan komputer B, percakapan mereka dapat didengar oleh komputer C yang dicolokkan ke hub yang sama dengan A dan B. Masih teringat jelas saat bekerja di sebuah perusahaan yang memakai hub, dan di pagi hari penulis dapat meng-crack semua user password pada saat login ke NT Domain(yang memang tidak secure, atau bisa dicrack dengan dictionary attack) memakai software l0pthcrack.
Untunglah, dengan adanya switch, hal tersebut di atas tidak mungkin terjadi ( walaupun masih mungkin dilakukan dengan teknik-teknik seperti ARP poisoning dsb. ), karena teknologi switch membuat jalur virtual untuk komunikasi antar pemakainya. Lalu, apabila memang ingin meng-sniff jaringan di lingkungan switch, bagaimana caranya ?
Salah satu cara yang bisa dilakukan adalah melakukan proses port mirroring dari switch tersebut ke salah satu port di mana kita memasang software sniffer kita. Cuma saja, biasanya hanya product switch yang manage-able yang bisa melakukan hal ini. Jika switch kita memakai unmanaged, maka prosesnya akan lebih rumit J
Gambar di atas dapat dijadikan contoh kebanyakan jaringan yang ada, di mana biasanya network administrator menginginkan memonitor koneksi jaringan ke Internet. Maka yang dilakukan adalah melakukan ‘port mirroring’ pada link yang merah, dengan target mirror port adalah port tempat di mana wireshark dipasang. Tetapi, tentu saja untuk melakukan hal tersebut, network administrator harus mengkonfigurasi switch. ( Hampir sebagian besar switch yang ada di Allied Telesis, tempat penulis bekerja sudah mendukung port mirroring )
Bagaimana apabila tidak bisa mengotak-atik switch, atau switch tidak mendukung mirroring ? Salah satu jalan keluarnya adalah memasang hub. Memang sayangnya, tidak mudah mendapatkan hub di saat-saat sekarang, karena di pasaran kebanyakan sudah tidak diproduksi lagi. Kelemahan lain dari penggunaan hub adalah jenis koneksi nya half duplex, bukan full duplex seperti pada switch.
Ada juga solusi lain, seperti menggunakan network tap. Hanya saja, tidak banyak perusahaan yang mau membeli network tap untuk keperluan monitoring sesaat.
Wireshark dapat diinstall di berbagai operating system, seperti Windows (32 bit atau 64 bit), OS X , Ubuntu,dsb. Penulis sendiri banyak memakai Wireshark pada Windows, dan pada saat proses instalasi, juga akan diinstal aplikasi WinPCap, yang merupakan driver-driver khusus yang akan dipakai pada Wireshark. Apabila kita tidak menginstall WinPCap, maka Wireshark tidak akan bisa berfungsi untuk capture packet melalui jaringan.