Tuesday, April 19, 2016

Insertion_Sort_for_Practice

#include <iostream>
#include <conio.h>

using namespace std ;
int data[10],data2[10];
int n;

void tukar(int a, int b)
{
 int t;
 t = data[b];
 data[b] = data[a];
 data[a] = t;
}

void insertion_sort()
{
 int temp,i,j;
 for(i=1;i<=n;i++)
 {
  temp = data[i];
  j = i -1;
  while(data[j]>temp && j>=0)
  {
   data[j+1] = data[j];
   j--;
  }
 data[j+1] = temp;
 }
}
int main()
{
 cout<<"\t\t\t===PROGRAM INSERTION SORT===\n\n"<<endl;

 //Input Data
 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 cout<<"\n";
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke "<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 insertion_sort();

 cout<<"\n\n";
 //tampilkan data
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }
 cout<<"\n\nSorting Selesai";
 getch();
}

would Read More..!

Monday, April 18, 2016

Merge_n_Insertion_sorting

// include file
#include <condefs.h>
#include <conio>
#include <iostream>
#include <fstream>

//dibatasi memori 52
#define MAXLIST 52
#define MAXINT (int) (2147483647)
using namespace std;
//struktur data kita tetap dan fleksible
typedef char item_type;
typedef struct node_tag;
{
  Item_type info;
  struct node_tag *next;
} Node_type;
typdedef struct list_ag
{
  Node_type *head;
  Node_type *tail;
} List_type;
//prototype fungsi operasi pada link list
void AddNode(List_type* ,Item_type , const int opt=0);
void DeleteNode(List_type , Item_type);
void Error (char*);
bool ExtractLine(Item_type& , Item_type);
void InitList(List_type* );
Node_type *MergeSort(Node_type *p);
List_type *InsertionSort (List_type *);
bool FindItem(const List_type* ,Item_type);
void Transverse(const List_type* ,void (*Visit) (ItemType));
void Visit(Item_type);
char Menu(void);
void CopyList(const List_type *, List_type *);
void BatchSort(List_type *list_ptr);
//var globaluntuk menghitng jumlah loop
int gloop1=0, gswap1=0, gcomp1=0;
int gloop2=0, gswap2=0, gcomp2=0;
//program utama
int main()
{   //variabel untuk list dan pointer ke list
    List_type list;List_type* list_ptr=&lst;
    List_type rlist;List_type* rlist_ptr=&rlist;
    List_type ilist, mlist;
    List_type *iSort=&ilist, *mSort=&mlist;
    int konter = 0; sring line; char ch='y';
    InitList(list_ptr); InitList(rlist_ptr);
    // ambil data dari file teks
    ifstream infile("bahasa.txt");
    //kita baca satu baris teks dari file
    while (getline(infile,line) && (konter < MAXLIST))
    {  //kita ambil karakter per karakter
      int i=0; //indeks karakter pada indeks dibaca
      //ambil satu karakter
      while ((i<line.length))) && (konter < MAXLIST))
      if (isalpha(line[i]))
         if (!FindItem(rlist_ptr,line[i])) //simpan ke list
              { konter++;AddNode(rlist_ptr,line[i]);
         i++; //ke karakter berikutnya
    }
}
Traverse(rlist_ptr,*Visit); //tampilkan daftar asli
//loop program utama
while (!(ch=='S' || ch =='\x1b'))
{  ch = Menu();     //tamplkan menu dan minta input
    switch (ch)
    {
      case '1': Traverse(rlist_ptr,*Visit);break;
      case '2': //sorting dengan insertion sort
         // kita kosongkan loop untuk perhitungan loop dll
         gswap1=0;gcomp1=0;gloop1=0; //nolkan variabel
         //the kita salin daftar asli le suatu dafta
         CopyList(rlist_ptr,list_ptr);
         //daftar hasil salinan ini yang kita urutkan
         iSort = InsertionSort(list_ptr); Transverse(iSort, *Visit);
         //dengan demikian daftar asli teta[ terjaga
         //tampilkan jumlah loop komparasi dan swap
         cout <<endl << :Insertion Sort -> ";
         cout << "Loop: " << gloop1 << "\tComp: " << gcomp1;
         cout << "tSwap:  << gswap1 << endl;break;
      case '3': //sortng dengan merge sort
         gswap2=0;gloop2=0;gcomp2;
         CopyList(rlist_ptr,list_ptr);
         mSort->head = MergeSort(list_ptr>head);
         cout << endl << "Merge Sort -> ";
         cout << "Loop: " << gloop2 << "\tComp: " << gcomp2;
         cout << "tSwap:  << gswap2 << endl;break;
      }
    }
    return(gethc());
}
char Menu(void)
{  // menampilkan menu
    char ch;
    cout << endl << "=== Metode Sorting --";
    cout << endl << "1 Telusur Daftar Asli "
    cout << endl << "2 Insertion Sort "
    cout << endl << "3 Merge Sort "
    cout << endl << "S Selesai <ESC> ";
    cout << endl << "MENU; "; ch=getch();cout << ch;
    return (ch);
}
void CopyList (const List_type *src, List_type *dat)
{  //menyalin daftar asli ke suaru daftar baru
    Node_type *q, *p, *r = src->head;
    InitList(dst);
    for (q=r;q;q=q->next)
    {  if ((p = (Node_type*) malloc(sizeof(Node_type))) == NULL)
             Error ("Memory kurang");
        else if ((dst->head == NULL) & (dst->tai == NULL))
        {  //head dan tail null menunjukan list masih kosong
            //karena itu penambahan terjadi utnuk head dan tail
            p->info =q->info;
            p->next = NULL;
            dst->tail=p;
            dst->head=p;
        }
        else  //sudah ada di node sebelumnya
        {  //kita tambahkan [adabagian be;akang list
            p->info =q->info;
            p->next = NULL;
            dst->tail=next = p;
            dst->tal = p;
        }
    }
}
/*Insertion sort : sorting list dengan insertionSort */
List_type *InsertionSort (List_type *list_ptr)
{  Node_type *head=list_ptr->head;
    Node_type *tail = head;
    Node_type *p, *q, *r;
    gcomp1++;
    if (head)
        while (tail->next)
        { gloop1++;
          q = tail->next;
          gcomp1++;
          if (q->info < head->info)
          {  gswap1++;
              tail->next = q->next;
              q->next = head;
              head =q;
          }
          else
          {  r = head;
              p = head->next;
              while (q->info > p->info)
              { gloop1++;
                 r = p;
                 p = p->next;
              }
              gcomp1++;
              if (q == p) tail = q;
              else
              { gswap1++;
                 tail->next = q->next;
                 q->next = p;
                 r->next = q
              }
          }
        }
        list_ptr->head = head;
    return list_ptr;
}
/*divide menmbagi dua dafar menajadi dua bagian...*/
Node_type *Divide(Node_type *p)
{  Node_type *q, *r;
    q = ;
    r = p->next->next;
    while(r)
    {  gloop2++;
        r = r->next;
        q = q->next;
        if (r)  r = r->next;
    }
    r = q->next;
    q->next  NULL;
    return r;
}

/*merge mengabbugkan dua subsit yg terurut
dan mengembalilakan pointer ke daftar hasil*/
Node_type *Merge(Node_type *p, Node_type *q)
{
  Node_type *head, *r;
  gcomp2++;
  if (!p || !q) Error("Daftar kosong"); gcomp2++;
  if (p->info <= q->info)
  {  gswap2++; head = p; p = p->next; }
  else
  {  gswap2++; head = q; q = q->next; }
  r = head;
  while (p && q)
  { gloop2++; gcomp2++;
     if (p->info <= q->info)
     {  gswap2++; r = r->next = p; p = p->next; }
     else
     {  gswap2++; r = r->next = q; q = q->next; }
  }
  gcomp2++;
  if (p) r->next = p; else r->next =q;
  return head;
}
/*MergeSort; mergeSort untukd aftar berakai lisklist*/
Node_type *MergeSort(Node_type *p)
{  Node_type *q, Node_type *head=p;
    gcomp2++;
    if (p && p->next)
    {  q = Divide(p); p = MergeSort(p);
        q = MergerSort(q); head=Merge(p,q);
    }
    retrn head;
}
void InitList(List_type* list_ptr)
{  list_ptr->head=NULL; list_ptr->tail=NULL;
}
void AddTail(List_type* list_ptr, Node_type* node_ptr)
{  node_ptr->next = NULL;
    list_ptr->tail->next = node_ptr;
    list_ptr->tail = node_ptr;
}
void AddHead(List_type* list_ptr, Node_type* node_ptr)
{  node_ptr->next = list_ptr->head;
    list_ptr->head = node_ptr;
}
void AddFirst(List_type* list_ptr, Node_type* node_ptr)
{  node_ptr->next = NULL;
    list_ptr->tail=node_ptr; list_ptr->tail->next=NULL;
    list_ptr->head=node_ptr; list_ptr->head->next=NULL;
    list_ptr->count++;
}
void AddNode(List_type* list_ptr, Item_type item, const int opt)
{  Node_ptr *p=NULL, *q=NULL;
    if ((p = (Node_type*) malloc(sizeof(Node_type))) == NULL)
      Error ("Memory kurang");
    else
    { p->info = item;
      if ((list_ptr->head == NULL) & (list_ptr->tail == NULL))
            AddFirst(list_ptr, p);
      else
         switch (opt)
         {  case 1: AddHeadlist_ptr, p);break;
             case 2: p->info = item;
                q = (Node_type*)list_ptr->head;
                if (q->next !=NULL)
                {  while ((q->next !=NULL && (item > q->next->info))
                        q=q->next;
                    if (q != NULL)
                    {  p->next = q->next; q->next = p;
                        list_ptr->count++;
                    }
                  else AddTail(list_ptr,p);break;
                }
             else AddTail(list_ptr,p);break;
          default: AddTail(list_ptr,p);
          }
     }
}
void DeleteNode(List_type* list_ptr, Item_type item)
{  Node_type *dp, *q;
   if (list_ptr->head == NULLL) Error ("List masih kosong");
   else if (ist_ptr->head->info == item)
   { dp = list_ptr->head; list_ptr->head = dp->next;
     free (dp);  list_ptr->count-=1;
   } else
   { q = list_ptr->head;
     while ((item != q->info) && !(q->next)) q=q->next;
     dp = q->next;
     if (dp)   
     { if (dp != list_ptr->tail) q->next = dp->next;
       else
       { list_ptr->tail = q;
         list_ptr->tail->next = NULL;
       }
       free (dp); list_ptr->count-=1;
     }
     else Error ("Item tidak ada !");
   }
}

bool FindItem(const List_type *list_ptr, Item_type item)
{ Node_type *p= list_ptr->head;
  while (p)
  { if (p->info == item) return true;
    p=p->next;
  }
  return false;
}

void Traverse(const List_type* list_ptr, void (*Visit) (Item_type))
{  Item_type item; Node_type* p = list_ptr->head;
   cout << "\n";
   while (p)
   { item = p->info; (*Vsit) (item);
     cout << "\t"; p=p->next;
   }
   cout << "\n";
}
void Visit(Item_type item) { cout << item;}











would Read More..!

Tuesday, April 12, 2016

Tugas_for_Aplro_DivideNconquer

#include <cstdlib>
#include <iostream>

using namespace std;

void minmax2(int A[], int i, int j, int &min, int &max ){
     /*
     Mencari nilai maksimum dan minimum di dalam tabel A yang
     berukuran n elemen secara Divide and Conquer.
     Masukan: tabel A yang sudah terdefinisi elemen-elemennya
     Keluaran: nilai maksimum dan nilai minimum tabel
     */
     int min1, min2, max1, max2,k;
     if(i==j){
              min=A[i];
              max=A[i];
              }
     else if(i==j-1){
          if(A[i]<A[j]){
                        max=A[j];
                        min=A[i];
                        }
          else{
               max=A[i];
               min=A[j];
               }
          }
     else{
          k=(i+j)/2;
          minmax2(A,i,k,min1,max1);
          minmax2(A,(k+1),j,min2,max2);
          if(min1<min2)min=min1;
          else min=min2;
          if(max1<max2)max=max2;
          else max=max1;
          }
     }

int main(int argc, char *argv[])
{
    system("color f2");
    system("title MinMax - Selasa, 29 Mei 2012 - dyasprogramming.blogspot.com");
   
    int A[100],n,i,j,min,max;
    cout<<"Mauskkan banyak data : ";
    cin>>n;
    for(int a=1;a<=n;a++){
            cout<<"Data ke-"<<a<<" : "; //Masukan data sebanyak n elemen
            cin>>A[a];
            }
    i=1;
    j=n;
   
    minmax2(A,i,j,min,max);
   
    cout<<"\nNilai max = "<<max<<endl;
    cout<<"Nilai min = "<<min<<endl<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}


would Read More..!

Tuesday, March 08, 2016

Linked List--Menu

Well, here is example of Linked List for Student record...

#include <conio.h>
#include <iostream.h>
#include <malloc.h>
#include <stddef.h>
#include <string.h>
#include <stdio.h>

struct List{
    int NIM;
    char Nama[20];
    float IPK;
    List *Next;
    };

List *Head, *Baru, *PNow, *PAkhir, *HNow, *HBfr;
int Pilih;

int main()
{
 Head = new(List);
 Head -> Next = NULL;

 do
 {
  //clrscr();
  cout<<"\n*************************\n";
  cout<<"*  M E N U   U T A M A           *\n";
  cout<<"* 1. Add Data (di akhir)         *\n";
  cout<<"* 2. Add Data (di awal)          *\n";      
  cout<<"* 3. View Data                   *\n";
  cout<<"* 4. Search Data                 *\n";
  cout<<"* 5. Delete Data                 *\n";
  cout<<"* 6. Min & Max Value             *\n";
  cout<<"* 7. Exit                        *\n";
  cout<<"**********************************\n";
  cout<<"Pilih Menu [1/2/3/4/5/6/7] : ";cin>>Pilih;

  switch(Pilih)
  {
   case 1 : // Add Data (di akhir)
           {
            char Lagi ='Y';

            do
            {
             Baru = new (List);
             cout<<"Masukan NIM              : ";cin>>Baru -> NIM;
             cout<<"Masukan Nama             : ";cin>>Baru -> Nama;
             cout<<"Masukan IPK             : ";cin>>Baru -> IPK;
             PAkhir = NULL;
             PNow = Head -> Next;
             if(PNow == NULL)
             {
               //List masih kosong
               Baru -> Next = PNow;
               Head -> Next = Baru;
             }
             else
             {
               //List sudah berisi data
               //Cari posisi elemen terakhir
               while ((PNow != NULL) && (PNow -> NIM != Baru -> NIM))
               {
                PAkhir = PNow;
                PNow = PNow -> Next;
               }
               //Tambahkan data di akhir list
               if (PAkhir == NULL)
               {
                Baru -> Next = PNow;
                Head -> Next = Baru;
               }
               else
               {
                Baru -> Next = PNow;
                PAkhir -> Next = Baru;
               }
             }
             cout<<"Input data Lagi [Y/T] : ";cin>>Lagi;
            }while (Lagi == 'Y' || Lagi == 'y');
            getch();break;
           }
   case 2 : // Add Data (di awal)
            {
           }         
   case 3 : // View Data
           {
            if (Head->Next == NULL)
             cout<<"List Kosong\n";
            else
            {
             PNow = Head -> Next;
             while (PNow != NULL)
             {
              cout<<"NIM               : "<<PNow -> NIM<<endl;
              cout<<"Nama              : "<<PNow -> Nama<<endl;
              cout<<"IPK         : "<<PNow -> IPK<<endl;
              PNow = PNow -> Next;
             }
            }
            getch();break;
           }
   case 4 : // Search Data
          {
            int count = 1;
            int NIM_Cari;

            cout<<"Masukan NIM yang dicari : ";cin>>NIM_Cari;
            PNow = Head -> Next;
            if (PNow == NULL) {
             cout<<"Data Tidak Ditemukan karena List Kosong";
            }    
            else
            {
             while ((PNow != NULL) && (PNow -> NIM != NIM_Cari)) {
              PNow = PNow -> Next;
              count++;
             }
             if (PNow == NULL || PNow->NIM != NIM_Cari) {
              cout<<"Data Tidak Ditemukan.";
             }   
             else {
              cout<<"NIM           : "<<PNow -> NIM<<endl;
              cout<<"Nama              : "<<PNow -> Nama<<endl;
              cout<<"IPK             : "<<PNow -> IPK<<endl;
              cout<<NIM_Cari<<" ditemukan di posisi ke-"<<count<<endl;
             }
            }   
            getch();break;
           }
   case 5 : // Delete Data
          {
            int NIM_Hapus;
            char Jawab;
            int found = 0;

            cout<<"Masukan NIM yang akan dihapus : ";cin>>NIM_Hapus;
            HNow = Head -> Next;
            HBfr = NULL;
            if (HNow == NULL)
             cout<<"Data Tidak bisa dihapus karena List Kosong";
            else
            {
             while (HNow != NULL && !found)
             {
                 if (HNow->NIM == NIM_Hapus)
                     found = 1;
                 else {   
                     HBfr = HNow;
                     HNow = HNow -> Next;
                 }   
             }
             if (!found)
              cout<<"Data Tidak Ditemukan.";
             else
              {
               cout<<"Yakin Nilai : "<<NIM_Hapus<<" Akan dihapus [Y/T] :";cin>>Jawab;
               if (Jawab == 'T' || Jawab == 't')
                cout<<"Proses Penghapusan Nilai "<<NIM_Hapus<<" dibatalkan"<<endl;
               else
               {
                if (Jawab == 'Y' || Jawab == 'y')
                {
                 if (HBfr == NULL)
                  Head -> Next = HNow -> Next;
                 else
                  HBfr -> Next = HNow -> Next;
                }
               }
             }
            }
            getch();break;
          
           }
   case 6 : // Min & Max Value
          {
           }
   case 7 : cout<<"End of Application!!!";getch();break;
   default : cout<<"Salah pilih !!!";getch();break;
  }

 }while (Pilih >= 1 && Pilih <= 5);
 return 0;
}


remember to always write the code...,do not copy and paste,"practice makes perfect..".

would Read More..!

Wednesday, February 17, 2016

Join to OOP_IF group

Salam, Hi Students., here is I share the link to join on OOP_IF  group

OOP_IF link

would Read More..!

Thursday, February 11, 2016

Well, here is the sample of TicTac game developed in Java, Ok, try to develop in C++.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TicTac2 implements ActionListener {
    private int[][] winCombinations = new int[][] { { 0, 1, 2 }, { 3, 4, 5 },{ 6, 7, 8 },
            { 0, 3, 6 },{ 1, 4, 7 }, { 2, 5, 8 },{ 0, 4, 8 }, { 2, 4, 6 }};
    private JFrame window = new JFrame("Catur Jawa");
    private JButton buttons[] = new JButton[9];
    private int count = 0;
    private String letter = "";
    private boolean win = false;
    private static int startCount = 0;
    JMenuBar menu = new JMenuBar();
    JMenuItem newGame = new JMenuItem("New Game"), instr = new JMenuItem(
            "Instructions"), exit = new JMenuItem("Exit"),
            name = new JMenuItem("Change Name");
    static String x = "X";
    static String y = "Y";

    public TicTac2() { //bangun windows
        window.setSize(370, 370);
        window.setLocationRelativeTo(null);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setLayout(new GridLayout(3, 3));

        for (int i = 0; i <= 8; i++) {
            buttons[i] = new JButton();
            window.add(buttons[i]);
            buttons[i].addActionListener(this);    }

        menu.add(newGame);
        menu.add(name);
        menu.add(instr);
        menu.add(exit);

        name.addActionListener(this);
        newGame.addActionListener(this);
        exit.addActionListener(this);
        instr.addActionListener(this);
        window.setJMenuBar(menu);
        window.setVisible(true);}

    public void setName() {
        x = JOptionPane
                .showInputDialog(null, "Masukan nama pemain X: ", "", 1);
        y = JOptionPane
                .showInputDialog(null, "Masukan nama pemain O: ", "", 1);
        if (x == null) {
            x = "X";
        }
        if (y == null) {
            y = "O";
        }
        if (x.length() == 0) {
            x = "X";
        }
        if (y.length() == 0) {
            y = "O";
        }
        JOptionPane.showMessageDialog(
                        null,
                        "Nama anda telah terganti, jika ingin mengganti nama terdapat pada menu bar",
                        "Nama terubah!!!!", JOptionPane.INFORMATION_MESSAGE);}
    public void actionPerformed(ActionEvent a) {
        Object source = a.getSource();
        if (source == newGame) {
            int answer = JOptionPane
                    .showConfirmDialog(
                            null,
                            "Game anda tidak tersimpan, lanjutkan???",
                            "Apakah ingin mulai permainan baru?",
                            JOptionPane.YES_NO_OPTION);

            if (answer == JOptionPane.YES_OPTION) {
                this.clearIt();
            }

        } else if (source == name) {
            this.setName();

        } else if (source == instr) {
            JOptionPane
                    .showMessageDialog(
                            null,
                            "Anda akan menang jika terbentuk 3 (X) atau (O) secara vertikal, horizontal, ataupun diagonal",
                            "Instructions", JOptionPane.INFORMATION_MESSAGE);
        } else if (source == exit) {
            int answer = JOptionPane.showConfirmDialog(null, "EXIT",
                    "Anda yakin akan keluar??",
                    JOptionPane.YES_NO_OPTION);

            if (answer == JOptionPane.YES_OPTION) {
                JOptionPane.showMessageDialog(null, "Thank you " + x + " and "
                        + y + " for playing");
                System.exit(0);
            }
        } else {
            count++;

            if (count % 2 == 0) {
                letter = "O";
            } else {
                letter = "X";
            }

            JButton pressedButton = (JButton) source;
            pressedButton.setText(letter);
            pressedButton.setEnabled(false);

            for (int i = 0; i <= 7; i++) {
                if (buttons[winCombinations[i][0]].getText().equals(
                        buttons[winCombinations[i][1]].getText())
                        && buttons[winCombinations[i][1]].getText().equals(
                                buttons[winCombinations[i][2]].getText())
                        && buttons[winCombinations[i][0]].getText() != "") {
                    win = true;
                }
            }
            if (win == true) {
                if (letter.equals("X"))
                    letter = x;
                else
                    letter = y;
                JOptionPane.showMessageDialog(null, letter + " wins the game!");
                int answer = JOptionPane.showConfirmDialog(null, "Start",
                        "Mulai permainan baru?",
                        JOptionPane.YES_NO_OPTION);

                if (answer == JOptionPane.YES_OPTION) {
                    this.clearIt();
                } else {
                    JOptionPane.showMessageDialog(null, "Thank you " + x
                            + " and " + y + " for playing");
                    System.exit(0);
                }
            }
            else if (count == 9 && win == false) {
                JOptionPane.showMessageDialog(null, "The game was tie!");
                int answer = JOptionPane.showConfirmDialog(null, "Start",
                        "Mulai permainan baru?",
                        JOptionPane.YES_NO_OPTION);
                if (answer == JOptionPane.YES_OPTION) {
                    this.clearIt();
                } else {
                    JOptionPane.showMessageDialog(null, "Thank you " + x
                            + " and " + y + " for playing");
                    System.exit(0);
                }
            }
        }
    }
    public void clearIt() {

        window.setVisible(false);
        this.startIt();
    }
    public void startIt() {
        new TicTac2();
    }
    public static void main(String[] args) {
        TicTac2 starter = new TicTac2();
        starter.setName();
    }
}

would Read More..!

Thursday, December 10, 2015

Ending Perkuliahan; clue for Final Test of Mobile Programming

Bismilahirohmanirohiim

Salam teman-teman Mahasiswa,

Tanggal 15/12/15 insyaAllah kita UAS serentak, IFA kls pagi (7.00 - 8.30) disatukan langsung; tidak jadi dipisah, Kls IFB ja, 8.40 - 10.20

Mohon maaf semester ini banyak Tugas Besar setidaknya ada 2 Tugas Besar kelompok dan 3 nilai Live Codding sebagai pengganti Quiz, sedikit berbeda dengan pengajaran di mobile porgramming semester lalu dimana saya mengacu pada SAP; diajarkan mulai asrsitektur, widget, listView, Spinner, Array  dan Database baru TUBES, kenapa dilakukan hal seperti ini karena anda mahasiswa PTN dan saya sudah assesment anda semua mampu, apalagi di praktikum ada Pak. Aldi, di komunitas ada Android komunitas.

---Notes :
-Semua hasil dai tugas besar 2 di burning dalam 1 CD include (Dokumen SKPL, Produk program Android yang anda buat dan Team; About Team programmer yang develop aplikasi tersebut,  PDF cara instalasi dan menggunakannya) Sehingga bisa bermanfaat untuk orang lain, dikumpul hari selasa tgl. 15/12/15.

Ketentuan  UAS :
- Sifat closed book
- Penilai Excellent : 3 modul
-            Good : 2 modul
-            Fair   : 1 modul

--Final test of Mobile Programming based on this class diagram below :




kisi-kisi UAS :
berdasarkan class diagram diatas, buat aplikasi Android dengan database di SQLite untuk "Simple Scoring Nilai Sidang Mahasiswa"
perhatikan properties dan method dari tiap class masing-masing (mahasiswa_sidang, Dosen dan Nilai_Sidang) untuk codingan yang akan anda buat

Berlatihlah dengan cara membuat aplikasinya secara langsung di Android (Eclipse or Android Studio).


Salam,

Ade Rahmat

would Read More..!

Monday, September 28, 2015

E-Learning Class for Tuesday, September 29, 2015

Please call on to the Group of https://groups.google.com/forum/#!forum/mobiprog,
there is lesson and task to do...

the task will be scored insyaAllah on October 6, 2015.

would Read More..!

Thursday, September 17, 2015

Donwload Pro_Pegawai Project in Visual Basic.Net and SQL Server

Here is the link, the code is built in Visual Studio 2010 but you can build in other version.
Download the source


would Read More..!

  © Blogger template 'External' by Ourblogtemplates.com 2008

Back to TOP