Tuesday, October 9, 2012

Single Linked List Non Circular example (Continue)

#include <iostream>
  #include <stdlib.h>
  using namespace std;
struct Data {
  int nilai;
  Data *next;
  };
  Data *head;
void awal(){
  head=NULL;
  }
  bool isEmpty(){
  if (head==NULL)
  return true;
  return false;
  }
  void tambahDataDepan(int dataBaru) {
  Data *baru;
  baru=(Data*) malloc(sizeof(Data));
  baru->nilai=dataBaru;
  baru->next=baru;
  if (isEmpty()){
  head=baru;
  head->next=head;
  } else {
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  baru->next=head;
  head=baru;
  bantu->next=head;
  }
  }
  void tambahDataBelakang(int dataBaru){
  Data *baru;
  baru=(Data*) malloc(sizeof(Data));
  baru->nilai=dataBaru;
  baru->next=baru;
  if (isEmpty()){
  head=baru;
  head->next=head;
  } else {
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  bantu->next=baru;
  baru->next=head;
  //head=baru;
  //bantu->next=baru;
  }
  }
  void hapusDepan(){
  if(!isEmpty()){
  int tmp;
  if(head->next!=head){
  Data *hapus;
  hapus=head;
  tmp=head->nilai;
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  bantu->next=head->next;
  head=head->next;
  delete hapus;
  }
  else {
  tmp=head->nilai;
  awal();
  }
  cout<<tmp<<" dihapus"<<endl;
  } else {
  cout<<"Data kosong\n";
  }
  }
  void hapusBelakang(){
  Data *hapus,*bantu;
  int tmp;
  if (!isEmpty()){
  hapus=head;
  if (head->next==head)
  {
  tmp=head->nilai;
  head=NULL;
  }
  else {
  bantu=head;
  while (bantu->next->next!=head){
  bantu=bantu->next;
  }
  hapus=bantu->next;
  bantu->next=head;
  tmp=hapus->nilai;
  delete hapus;
  }
  cout<<tmp<<" dihapus"<<endl;
  } else cout<<"data kosong\n";
}
  void cetak(){
  if (!isEmpty()){
  Data *bantu;
  bantu=head;
  do {
  cout<<bantu->nilai<<" ";
  bantu=bantu->next;
  } while(bantu!=head);
  cout<<endl;
  }
  }
  int panjang(){
  int count=0;
  if(!isEmpty())
  {
  count=1;
  Data *bantu;
  bantu=head;
  if(bantu->next==head)
  {
  count=1;
  }
  else
  {
  do
  {
  count++;
  bantu=bantu->next;
  }while(bantu->next!=head);
  }
  }
  else
  {
  count=0;
  }
  return count;
  }
  void swapElement(Data *a, Data *b){
  Data *tmp;
  tmp=a;
  a=b;
  b=tmp;
  }
  int main(){
  awal();
  tambahDataBelakang(5);
  tambahDataDepan(7);
  tambahDataBelakang(17);
  tambahDataBelakang(1);
  tambahDataBelakang(27);
  tambahDataBelakang(10);
  hapusDepan();
  hapusBelakang();
  cetak();
  swapElement(head, head->next);
  cetak();
  cout<<endl<<panjang();
  return 0;
  }


Tugas: SLLC Insertion sort


(kelompok)
1. Buatlah penyisipan node setelah atau sebelum data tertentu.
2. Proses sorting dengan metode insertion sort menggunakan SLLC

data masuk 6

6

data masuk 7

6 7

data masuk 10

6 7 10

data masuk 2

2 6 7 10

data masuk 8

2 6 7 8 10  (menyisipkan)

Sunday, October 7, 2012

Frustasi: Komen bloggger hilang (belum ketemu obatnya)

Sudah 1 minggu ini obrak-abrik setingan blog karena tanpa disadari komen di blog ini hilang, sudah mencari solusi di beberapa blog yang menawarkan solusi dan sudah hampir semua cara dicoba tetapi hasilnya nihil.
Sampai sekarng pun walupun sudah ganti template tetap aja belum nongol kotak komentarnya. Duh... siapa yang bisa bantu ini...?? tolong yang punya solusi kirim email ke didikunila[at]yahoo.com
Ini ngetik sambil berharap ketika di publish komentar di blog ini nongol kembali.....

Friday, October 5, 2012

J2ME: Program Agen Pulsa 0.0.1 (#1)

import javax.microedition.midlet.*;
  import javax.microedition.lcdui.*;
  /**
  * @author Didik Kurniawan
  * Jurusan Ilmu Komputer FMIPA Universitas Lampung
  */
  public class AgenPulsa extends MIDlet implements CommandListener{
  List namaOperator;
  List telkomsel, indosat,xl,three;
  Display display;
  Command ok =new Command("OK",Command.OK,0);
  Command exit =new Command("Exit",Command.EXIT,0);
  Command kembali =new Command("Back",Command.BACK,0);
  Command kirim = new Command("Kirim",Command.OK,0);
  Form form=new Form("No Tujuan");
  TextField noTujuan=new TextField(null,null,32,TextField.PHONENUMBER);
  public AgenPulsa(){
  namaOperator=new List("Operator",List.IMPLICIT);
  namaOperator.append("Telkomsel", null);
  namaOperator.append("Indosat", null);
  namaOperator.append("XL", null);
  namaOperator.append("Three", null);
  namaOperator.addCommand(ok);
  namaOperator.addCommand(exit);
  namaOperator.setCommandListener(this);
  
  telkomsel=new List("Telkomsel",List.IMPLICIT);
  telkomsel.append("5K",null);
  telkomsel.append("10K",null);
  telkomsel.append("20K",null);
  telkomsel.append("25K",null);
  telkomsel.append("50K",null);
  telkomsel.append("100K",null);
  telkomsel.addCommand(ok);
  telkomsel.addCommand(exit);
  telkomsel.addCommand(kembali);
  telkomsel.setCommandListener(this);
  
  indosat=new List("Indosat",List.IMPLICIT);
  indosat.append("2K",null);
  indosat.append("5K",null);
  indosat.append("10K",null);
  indosat.append("25K",null);
  indosat.append("50K",null);
  indosat.append("100K",null);
  indosat.addCommand(ok);
  indosat.addCommand(exit);
  indosat.addCommand(kembali);
  indosat.setCommandListener(this);
  
  xl=new List("XL",List.IMPLICIT);
  xl.append("1K",null);
  xl.append("5K",null);
  xl.append("10K",null);
  xl.append("25K",null);
  xl.append("50K",null);
  xl.append("100K",null);
  xl.addCommand(ok);
  xl.addCommand(exit);
  xl.addCommand(kembali);
  xl.setCommandListener(this);
  
  three=new List("Three",List.IMPLICIT);
  three.append("1K",null);
  three.append("2K",null);
  three.append("3K",null);
  three.append("4K",null);
  three.append("5K",null);
  three.append("10K",null);
  three.append("20K",null);
  three.append("30K",null);
  three.append("50K",null);
  three.append("100K",null);
  three.addCommand(ok);
  three.addCommand(exit);
  three.addCommand(kembali);
  three.setCommandListener(this);
  
  form.append("Isi Pulsa");
  form.append(noTujuan);
  form.addCommand(ok);
  form.addCommand(kembali);
  form.addCommand(kirim);
  form.addCommand(exit);
  form.setCommandListener(this);
  
  }
  public void startApp() {
  if (display==null){
  display=Display.getDisplay(this);
  display.setCurrent(namaOperator);
  }
  }
  
  public void pauseApp() {
  }
  
  public void destroyApp(boolean unconditional) {
  }
  public void commandAction(Command c, Displayable d ){
  if (c==exit) {
  destroyApp(true);
  notifyDestroyed();
  } 
  else if(c==ok && d==namaOperator){
  if (namaOperator.getSelectedIndex()==0) {
  display.setCurrent(telkomsel);
  } 
  else if (namaOperator.getSelectedIndex()==1){
  display.setCurrent(indosat);
  }
  else if (namaOperator.getSelectedIndex()==2){
  display.setCurrent(xl);
  }
  else if (namaOperator.getSelectedIndex()==3){
  display.setCurrent(three);
  }
  } 
  else if(c==kembali && (d==telkomsel || d==indosat || d==xl || d==three)){
  display.setCurrent(namaOperator);
  }
  else if(c==kembali && d==form){
  display.setCurrent(namaOperator);
  }
  else if (c==ok && (d==telkomsel || d==indosat || d==xl || d==three)){
  display.setCurrent(form); 
  }
  
  }
  }

Thursday, October 4, 2012

Struktur Data: Single Linked List Non Circular (Final Version) Example

/*
@author: Didik Kurniawan
**** Ilmu Komputer FMIPA Universitas Lampung *****
*/
#include <iostream>
  #include <stdlib.h>
  #include <string.h>
  using namespace std;
  struct produk {
  int kode;
  char nama_produk[100];
  produk *next;
  };
  produk *head;
void awal(){
  head=NULL;
  }
bool isEmpty(){
  if (head==NULL)
  return true;
  return false;
  }
  void tambahDataDepan(int kode, char nama_produk[100]){
  produk *baru;
  baru= (produk*) malloc (sizeof(produk));
  baru->kode=kode;
  strcpy(baru->nama_produk,nama_produk);
  baru->next=NULL;
  if (isEmpty()){
  head=baru;
  } else {
  baru->next=head;
  head=baru;
  }
  }
  void tambahDataBelakang(int kode, char nama_produk[100]){
  produk *baru;
  produk *bantu;
  baru= (produk*) malloc (sizeof(produk));
  baru->kode=kode;
  strcpy(baru->nama_produk,nama_produk);
  baru->next=NULL;
 if (isEmpty()){
  head=baru;
  } else {
  bantu=head;
  while(bantu->next!=NULL){
  bantu=bantu->next;
  }
  bantu->next=baru;
  }
}
  void hapusDepan(){
  if (!isEmpty()){
  produk *hapus;
  hapus=head;
  if (head->next!=NULL){
  head=head->next;
  delete hapus;
  } else {
  head=NULL;
  }
  } else {
  cout<<"Data masih kosong";
  }
  }
  void hapusBelakang(){
  if (!isEmpty()){
  produk *hapus;
  if (head->next!=NULL){
  produk *bantu;
  while(bantu->next->next!=NULL){
  bantu=bantu->next;
  }
  hapus=bantu->next;
  bantu->next=NULL;
  delete hapus;
  } else {
  head=NULL;
  }
  } else {
  cout<<"Data masih kosong";
  }
  }
void cetak(){
  if (!isEmpty()){
  produk *bantu;
  bantu=head;
  while(bantu!=NULL){
  cout<<bantu->kode<<"\t"<<bantu->nama_produk<<"\n";
  bantu=bantu->next;
  }
  } else{
  cout<<"Data masih kosong";
  }
  }
  int main(){
  awal();
 tambahDataDepan(1,"Netbook Asus eeepc 1215");
  tambahDataBelakang(2,"Netbook Asus eeepc 1210");
  tambahDataDepan(3,"Netbook Asus eeepc 1010");
  tambahDataBelakang(4,"Printer Canon Pixma MP 258");
  hapusBelakang();
  hapusDepan();
  cetak();
  return 0;
  }

Tuesday, October 2, 2012

Sytruktur Data: SIngle Linked List Circular

  #include <iostream>
  #include <stdlib.h>
  using namespace std;
struct Data {
  int nilai;
  Data *next;
  };
  Data *head;
void awal(){
  head=NULL;
  }
  bool isEmpty(){
  if (head==NULL)
  return true;
  return false;
  }
  void tambahDataDepan(int dataBaru) {
  Data *baru;
  baru=(Data*) malloc(sizeof(Data));
  baru->nilai=dataBaru;
  baru->next=baru;
  if (isEmpty()){
  head=baru;
  head->next=head;
  } else {
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  baru->next=head;
  head=baru;
  bantu->next=head;
  }
  }
  void tambahDataBelakang(int dataBaru){
  Data *baru;
  baru=(Data*) malloc(sizeof(Data));
  baru->nilai=dataBaru;
  baru->next=baru;
  if (isEmpty()){
  head=baru;
  head->next=head;
  } else {
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  bantu->next=baru;
  baru->next=head;
  //head=baru;
  //bantu->next=baru;
  }
  }
  void hapusDepan(){
  if(!isEmpty()){
  if(head->next!=head){
  Data *hapus;
  hapus=head;
  Data *bantu;
  bantu=head;
  while (bantu->next!=head){
  bantu=bantu->next;
  }
  bantu->next=head->next;
  head=head->next;
  delete hapus;
  }
  else {
  awal();
  }
  }
  }
  void hapusBelakang(){/* 
  tambah kode program di sini.... 
*/
}
  void cetak(){
  if (!isEmpty()){
  Data *bantu;
  bantu=head;
  do {
  cout<<bantu->nilai<<" ";
  bantu=bantu->next;
  } while(bantu!=head);
 }
  }
  int main(){
  awal();
  tambahDataBelakang(5);
  tambahDataDepan(7);
  tambahDataBelakang(17);
  hapusDepan();
  hapusDepan();
  cetak();
  return 0;
  }


Monday, October 1, 2012

Tugas Struktur Data SLLNC

tugas Struktur Data
Sub pokok bahasan: Single linked non circular

Pada pertemuan terakhir sudah dibahas konsep linked list non circular untuk penambahan data dari depan. Dengan konsep ini setiap data yang masuk akan berada diposisi depan dari data sebelumnya dan data terakhir yang masuk akan menjadi head dr linked list.
Tugas anda sekarang memodifikasi linked list sebelumnya sehingga data yang baru masuk selalu menjadi data diposisi terakhir, Anda boleh menggunakan variabel baru untuk mengidentifikasi data terakhir (misal: tail) atau cukup dengan variabel bantu untuk mencari elemen terakhir dari linked list (untuk SLLNC node terakhir memiliki nilai null untuk element pointer next) lalu arahkan elemen next ke data baru. Program yang dibuat jg harus dapat menampilkan isi linked list.

skema prosesnya sbb:

1. data msh kosong

null

2. masuk data 10
-------
| 10 |: --> null
-------

3. masuk data 20
-------         -------
| 10 |  --> | 20  | --> null
-------         -------
4. dan seterusnya

1. Tugas kelompok (max 3 org tdk boleh 1)

2. Dokumen tugas:
- file cpp program c++ untuk menyelesaikan masalah.
- file ppt berupa penjelasan proses pd program

3. file dicetak dan file dikirim ke email: didikunila@gmail.com dengan subject: Tugas Struktur SLLNC

4. Deadline tugas hari Selasa 2 Okt 2012 pkl 11:30

Tuesday, September 25, 2012

Struktur Data: Single Linked List Non Circular Example


/*
  Single Linked List Non Circullar
  author: Didik Kurniawan
  */
  #include <iostream>
  #include <stdlib.h>
  using namespace std;
struct Data {
  int nilai;
  char nama[100];
  Data *next;
  };
  Data  *head;
  void awal(){
  head=NULL;
  }
  bool isEmpty(){
  if (head==NULL) return true;
  return false;
  }
  void cetak(){
  if (!isEmpty()){
  Data *bantu;
  bantu=head;
  while(bantu!=NULL){
  cout<<bantu->nama<<"  "<<bantu->nilai<<endl;
  bantu=bantu->next;
  }
 } else {
  cout<<"List Kosong";
  }
  }
  int main() {
  Data *baru;
  char lagi='y';
  while (lagi=='y') {
  baru=(Data*) malloc(sizeof(Data));
 cout<<"Nama : ";
  cin.getline(baru->nama,100);
  cout <<"Nilai : ";
  cin>>baru->nilai;
 if (isEmpty()) {
  baru->next=NULL;
  head=baru;
  } else {
  baru->next=head;
  head=baru;
  }
  cout<<"Masukan data lagi (y/n)? ";
  cin>>lagi;
  cin.ignore(1000, '\n');
  }
  cetak();
  return 0;
  }


Monday, September 24, 2012

Algoritma & Struktur Data: Selection Sort

/*
file: selection_sort.cpp
@author Didik Kurniawan
*/
#include <iostream>
  using namespace std;
  int data[]={12,34,21,23,12,32,56,21,42,21,21,41,11,53,22};
  int panjang=sizeof(data)/sizeof(data[0]);
void swap(int &a, int &b) {
  int temp;
  temp=a;
  a=b;
  b=temp;
  }
  int max(int i){
  int besar = data[0],idx_besar=0;
  for (int j=0;j<panjang-i;j++) {
  if (data[j]>besar) {
  besar=data[j];
  idx_besar=j;
  }
  }
 return idx_besar;
  }
  int main(){
 for (int i=0;i<panjang; i++){
  cout<<data[i]<<", ";
  }
  cout<<endl<<"Sort with Selection" <<endl;
 for (int k=0;k<panjang; k++){
  int besar=max(k);
  swap(data[besar],data[panjang-k-1]);
  }
 for (int i=0;i<panjang; i++){
  cout<<data[i]<<", ";
  }
return 0;
  }


Friday, September 21, 2012

J2ME: Contoh TextField dalam Form

/*
 * File name: FormMidlet.java 
 */


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
 * @author Daniel Siagian
 */
public class FormMidlet extends MIDlet implements CommandListener{
    Display display;
    public Command keluar=new Command("Keluar",Command.EXIT,0);
    public Form form=new Form("Contoh form");
    public TextField tf1=new TextField(null,null,32,TextField.ANY);
    public void startApp() {
        if (display==null)
                display=Display.getDisplay(this);
        
        form.append("Aplikasi mobile");
        form.append("dibuat dengan java");
        form.append("\noleh :");
        form.append("\nDaniel Siagian");
        form.append("-------------");
        form.append("Nama :");
        form.append(tf1);
 TextField tf2=new TextField(null,null,32,TextField.EMAILADDR);
        form.append("Email :");
        form.append(tf2);
        
 TextField tf3=new TextField(null,null,32,TextField.NUMERIC);
        form.append("Umur :");
        form.append(tf3);
 
 TextField tf4=new TextField(null,null,32,TextField.PHONENUMBER);
        form.append("Telpon :");
        form.append(tf4);
        
 TextField tf5=new TextField(null,null,32,TextField.URL);
        form.append("Alamat Web :");
        form.append(tf5);
 
TextField tf6=new TextField(null,null,32,TextField.DECIMAL);
        form.append("DECIMAL :");
        form.append(tf6);
        
        form.addCommand(keluar);
        form.setCommandListener(this);
        display.setCurrent(form);
    }
    public void commandAction(Command cmd, Displayable d){
        System.out.print(cmd.toString());
        if (cmd==keluar) {
            destroyApp(true);
            notifyDestroyed();
        }
    }
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
}

Tuesday, September 18, 2012

Struktur Data: Insertion Sort Example

#include <iostream>
  using namespace std;
  struct product{
  int product_id;
  string nama_product;
  string kategori;
  string satuan;
  float harga;
  string nama_perusahaan;
  };
  int main() {
  product pd[100];
  int jml_data,i;
  int cari;
  cin>>jml_data;
  for (i=0;i<jml_data;i++){
  cin>>pd[i].product_id;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_product,'\n');
  getline(cin,pd[i].kategori,'\n');
  getline(cin,pd[i].satuan,'\n');
  cin>>pd[i].harga;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_perusahaan,'\n');
  }
 //proses sort dengan metode insertion sort
  product pd_sort[100];
  pd_sort[0] = pd[0];
 for (int j = 1;j<jml_data;j++)
  {
  i = j - 1;
  while ((0 <= i) and ( pd[j].product_id  < pd_sort[i].product_id))
  i = i - 1;
  for (int k = j;k>=i+2;k--)
  pd_sort[k] = pd_sort[k-1];
  pd_sort[i+1] = pd[j];
  }
  //akhir proses sort dengan metode insertion sort
  //cetak data
  for (i=0;i<jml_data;i++){
 cout<<pd_sort[i].product_id<<"\t";
  cout<<pd_sort[i].nama_product<<"\t"<<pd_sort[i].kategori<<"\t"<<pd_sort[i].satuan<<"\t";
  cout<<pd_sort[i].harga<<"\t"<<pd_sort[i].nama_perusahaan<<endl;
 }
 return 0;
  }
Technorati Profile

Struktur Data: Sequential Search

#include <iostream>
  using namespace std;
  struct product{
  int product_id;
  string nama_product;
  string kategori;
  string satuan;
  float harga;
  string nama_perusahaan;
  };
  int main() {
  product pd[100];
  int jml_data,i;
  int cari;
  cin>>jml_data;
  for (i=0;i<jml_data;i++){
  cin>>pd[i].product_id;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_product,'\n');
  getline(cin,pd[i].kategori,'\n');
  getline(cin,pd[i].satuan,'\n');
  cin>>pd[i].harga;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_perusahaan,'\n');
  }
  cout<<"Kode produk :";
  cin>>cari;
 for (i=0;i<jml_data;i++){
  if (pd[i].product_id==cari) {
  cout<<pd[i].product_id<<"\t";
  cout<<pd[i].nama_product<<"\t"<<pd[i].kategori<<"\t"<<pd[i].satuan<<"\t";
  cout<<pd[i].harga<<"\t"<<pd[i].nama_perusahaan<<endl;
  }
  }
 return 0;
  }

Friday, September 14, 2012

Pemrograman Mobile: Membuat Form J2ME

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ContohForm extends MIDlet {
    Display display;
    Form myForm;
    TextField tfEmail;
    TextField tfNama;
    DateField strTtl;
    public void inisialisasi() {
       myForm=new Form("Form pertama"); 
       tfEmail=new TextField("Email :","",10,TextField.EMAILADDR);
       tfNama=new TextField("Nama :","",10,TextField.ANY);
       strTtl=new DateField("TTL :",DateField.DATE);
       myForm.append(tfNama);
       myForm.append(tfEmail);
       myForm.append(strTtl);
    }
    public void startApp() {
        inisialisasi();
        if (display==null){
           display=Display.getDisplay(this);
           display.setCurrent(myForm);
           
        }
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
}

Type your summary here Type rest of the post here Technorati Profile

Thursday, September 13, 2012

Struktur Data: Contoh membuat ADT dengan C++

#include <iostream>
using namespace std;
struct product{
string nama_product;
string kategori;
string satuan;
float harga;
string nama_perusahaan;
};
int main() {
product pd[100];
int jml_data,i;
cout<<"Banyak Data : ";
cin>>jml_data;
cin.ignore(1000, '\n');
for (i=0;i<jml_data;i++){
cout<<"Product ke "<<(i+1)<<endl;
cout<<"Nama Product : ";
getline(cin,pd[i].nama_product,'\n');
cout<<"Kategori product : ";
getline(cin,pd[i].kategori,'\n');
cout<<"Satuan : ";
getline(cin,pd[i].satuan,'\n');
cout<<"Harga : ";
cin>>pd[i].harga;
cin.ignore(1000, '\n');
cout<<"Nama perusahaan : ";
getline(cin,pd[i].nama_perusahaan,'\n');
}
for (i=0;i<jml_data;i++){
cout<<pd[i].nama_product<<"\t"<<pd[i].kategori<<"\t"<<pd[i].satuan<<"\t";
cout<<pd[i].harga<<"\t"<<pd[i].nama_perusahaan<<endl;
}
return 0;
}
Type your summary here Type rest of the post here Technorati Profile

Thursday, May 3, 2012

Seminar Nasional MIPA dan Aplikasi (SNSMAP) 2012 FMIPA Universitas Lampung

Kepada Yth.
Bapak dan Ibu Peneliti dan Praktisi IPTEK
Di tempat

Dengan hormat,

Dalam rangka memberikan media bagi para peneliti untuk memparkan hasil
penelitiannya yang pada akhirnya dapat meningkatkan peran ilmu dasar
dan terapannya serta mendorong terciptanya budaya ilmiah di
masyarakat, maka Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Lampung kembali melaksanakan kegiatan Seminar Nasional
Sains, Matematika, Informatika dan Aplikasinya III (SN-SMAIP III)
2012.


Kegiatan Seminar akan dilaksanakan pada:

Hari/Tanggal : Kamis-Jumat, 28-29 Juni 2012
Tempat : Gedung Dekanat FMIPA Unversitas Lampung
             (Jl. sumantri Brojonegoro no 1 Bandar Lampung)
Kontribusi : Rp 275.000(Dosen/umum), Rp 250.000 (mahasiswa), Rp 150.000
                 (peserta non pemakalah)
Fasilitas : Seminar kit, materi seminar, konsumsi, sertifikat dan
prosiding(cetak bagi yang memesan)

Pembicara  Utama:

(1) Prof. Dr. Achmad Jazidie (Direktur Kelembagaan dan Kerjasama Dikti)
(2) Prof. Mikrajudin Abdullah (Guru Besar ITB)
(3) Prof. Drs. Suharno, M.S.,M.Sc.,Ph.D (Guru Besar UNILA)
(4) Prof. Sutopo Hadi, Ph.D(Guru Besar UNILA)

Kehadiran dan partisipasi Bapak dan Ibu dalam kegiatan tersebut sangat
kami harapkan. Pendaftaran dapat dilakukan via email
smap.unila@gmail.com atau menghubungi panitia SN-SMAIP III Tel.
085216391087 (Dr. Sumardi, M.Si) ,08156715067(Dian Septiani Pratama,
M.Si.).

Informasi lebih lengkap mengenai program kegiatan ini akan disajikan dalam
brosur (terlampir) dan dapat diperoleh secara langsung dengan menghubungi
kami di alamat email di atas atau kontak nomor telepon seluler tersebut diatas.

Atas perhatian dan partisipasinya kami ucapkan terima kasih.

Panitia SN-SMAIP III
Web: http://fmipa.unila.ac.id/smap2012/
  Download Poster
Type your summary here Type rest of the post here Technorati Profile

Thursday, April 12, 2012

Ternary Operator

Ternary operator dalam ilmu komputer merupakan operator untuk bahasa pemrograman yang memiliki 3 argumen yang dipisahkan oleh karakter '?' dan ':'. Operator ini merepresentasikan operasi asignment suatu variabel berdasarkan kondisi argumen sebelum '?'. Bentuk umum dari operator ini adalah:
(kondisi)?ekspresi_pertama:ekspresi_kedua;
ekspresi_pertama dijalankan jika kondisi bernilai true, jika kondisi bernilai false maka ekspresi_kedua yang akan dijalankan.
Lihat contoh statemen operator ternary berikut:
No C++/Java PHP
1 max=(a>b):a:b; $max=($a>$b)?$a:$b;
2 n=(n%2==0)?n/2:3*n+1; $n=($n%2==0)?$n/2:3*$n+1;

Statement pada tabel di atas jika dituliskan dengan struktur kontrol kondisi if sebagai berikut:
No C++/Java PHP
1
if (a>b) {
  max=a;
  } else {
  max=b;
  } 
if ($a>$b) { 
  $max=$a; 
  }else {
  $max=:$b; 
  } 
2
if (n%2==0) { 
    n=n/2; 
    } else {
    n=3*n+1;
    }
if ($n%2==0) { 
    $n=$n/2; 
    } else {
    $n=3*$n+1;
    }
Lalu bagaimana jika kondisi yang dapat dipenuhi lebih dari 2, misal untuk menentukan bilangan terbesar dari 3 bilangan, perhatikan pseudocode berikut:
if a>b 
  if a>c
   max=a
  else
   max=c
else
  if b>c
   max=b
  else
   max=c

Implementasi operator ternary dari pseudocode lihat contoh script lengkap dalam C++ berikut:
#include <iostream>

using namespace std;
int main()
{
   int a=90,b=80,c=530,max;
   max=(a>b)?(a>c)?a:c:(b>c)?b:c; //menentukan nilai max
   cout<<max;
   return 0;
 }

Dari pemaparan contoh-contoh di atas, operator ternary dapat digunakan sebagai pengganti statement if sehingga kode yang dibuat dapat menjadi lebih pendek sehingga dapat mengurangi code of line yang efeknya adalah ukuran file code yang dihasilkan akan lebih kecil.
Technorati Profile

Sunday, April 8, 2012

C++ Operator: Increment-decrement Operator

Operator increment merupakan operator yang digunakan untuk menambah 1 nilai suatu variabel bertipe bilangan dan operator decrement merupakan kebalikan dari operator increment, yaitu mengurangi 1 nilai dari suatu variabel.

Operator increment dalam C++ dinyatakan dengan:
++nama_varibel atau dengan nama_variabel++   
StatementBentuk Lain
i++; atau ++i; i=i+1;
i+=1;
i--; atau --i;i=i-1;
i-=1;
Tanda ++ atau -- sesudah dan sebelum variabel memberikan pengaruh yang berbeda jika operator ini digunakan pada proses assigment variabel lain. Misal:
StatementBentuk LainHasil
i=15;
A=i++;
i=15;
A=i;
i++;
A=15;
i=16;
i=20;
A=--i;
i=20;
i--;
A=i;
A=19;
i=19;

Perhatikan statement berikut:
int a=10,b=12,c=-7,hasil=0;
hasil = a++ + ++b - c++;

Statement ini akan menghasilkan nilai-nilai:
hasil = 30, a=11, b=12, dan c=-6;

Kenapa nilai Hasil=30 ??
Statement di atas mewakili :
b=b+1;
hasil=a + b - c; //10 +13 - (-7) = 30
a=a+1;
c=c+1;

Untuk lebih jelasnya anda jalankan code program berikut:
#include <iostream>
  using namespace std;
  int main() {
  int a=5,b=6,c=2,result=2;
  cout<<a<<" "<<b<<" "<<c<<" "<<result<<endl;
  result += a++ + --b - --c + ++a - b++;
  cout<<a<<" "<<b<<" "<<c<<" "<<result;
  return 0;
  }
Kode ini akan memberikan output:
5 6 2 2
7 6 1 12

Technorati Profile

Tuesday, April 3, 2012

Site Detik Finance diblokir Google


Pagi-pagi mau baca berita di detik kok tiba-tiba waktu klik berita di detik finance ada peringatan bahwa situs ini dilaporkan sebagai web penyerang yang berbahaya bagi informasi data-data pribadi di komputer.
Jika di klik button Mengapa situs ini diblokir akan diarahkan ke halaman diagnostic google di http://safebrowsing.clients.google.com/safebrowsing/diagnostic?client=Firefox&hl=id&site=http://finance.detik.com/read/2012/04/02/104523/1882576/1034/wah-tak-hanya-alphard-fortuner-sampai-jaguar-juga-minum-premium?991104topnews, yang berisi:





Apa status cantuman terbaru untuk finance.detik.com?

Situs tercantum sebagai mencurigakan - mengunjungi situs web ini dapat membahayakan komputer Anda.

Sebagian dari situs ini tercantum karena kegiatan mencurigakan sebanyak 4 kali selama 90 hari terakhir.

Apa yang terjadi saat Google mengunjungi situs ini?

Dari 876 laman yang kami uji pada situs tersebut selama 90 hari terakhir, 13 laman menyebabkan perangkat lunak berbahaya terunduh dan terpasang tanpa persetujuan pengguna. Google terakhir kali mengunjungi situs ini pada 2012-04-02 dan konten yang mencurigakan terakhir kali ditemukan di situs ini pada 2012-04-02.

Perangkat lunak berbahaya mencakup 2 scripting exploit(s), 1 trojan(s). Infeksi yang berhasil menyebabkan rata-rata 5 proses baru pada mesin target.

Perangkat lunak berbahaya diinangi pada 1 domain, termasuk jhcgqjwhegorqtg.co.cc/.

Situs ini diinangi pada 2 jaringan, termasuk AS27357 (RACKSPACE), AS24211 (DETIK).

Apakah situs ini telah bertindak sebagai perantara yang menyebabkan penyebaran perangkat lunak jahat lebih lanjut?

Selama 90 hari terakhir, finance.detik.com tidak tampak berfungsi sebagai perantara terinfeksinya situs mana pun.

Apakah situs ini telah menginangi perangkat lunak jahat?

Tidak, situs ini tidak menginangi perangkat lunak berbahaya selama 90 hari terakhir.

Bagaimana hal ini bisa terjadi?

Dalam beberapa kasus, pihak ketiga dapat menambahkan kode berbahaya pada situs yang sah, yang akan memicu kami untuk menampilkan pesan peringatan.

Langkah berikutnya:




Apa ada kemungkinan situs detik di hack ?

Type your summary hereType rest of the post hereTechnorati Profile