Rabu, Mei 29, 2013

C : Linked List Stack (Push & Pop)

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct LLNode
{
     int index;
     int data;
     struct LLNode *next;
};


void push(struct LLNode **t, int i)
{
 int value;
 struct LLNode *temp;
 temp = (struct LLNode *)malloc(sizeof(struct LLNode));
 printf("\n Push Data : ");
 scanf("%d",&value);
 temp->data=value;
 temp->index=i;
 temp->next = *t;
 *t = temp;

}

void pop(struct LLNode **t)
{
    struct LLNode *temp;
    if(*t == NULL)
        printf("\nStack is Empty\n");
    else
    {
        temp=*t;
        *t=temp->next;
    }
}

int main()
{
    int select, i=1;
    struct LLNode *head, *tail;
    head=NULL;

    printf("\n 1->Push \t\n 2->Pop \t\n 3->Exit\n Select :");
    scanf("%d",&select);

    while(select!=3)
    {
        switch(select)
        {
            case 1: push(&head,i);
                    i++;
                    tail=head;
                    printf("\nIndex | data\n");
                    printf("================\n");
                    while(tail!=NULL)
                    {
                        printf("%d | %d\n", tail->index, tail->data);
                        tail=tail->next;
                    }
                    break;

            case 2: pop(&head);
                    tail=head;
                    printf("\nIndex | data\n");
                    printf("================\n");
                    while(tail!=NULL)
                    {
                        printf("%d | %d\n", tail->index, tail->data);
                        tail=tail->next;
                    }
                    break;
            default: break;
        }
    printf("\n\n 1->Push \t\n 2->Pop \t\n 3->Exit\n Select :");
    scanf("%d",&select);
    }
    return 0;
}

C : Array Stack (Push & Pop)

#include <stdio.h>
typedef struct STACK
{
    int top;
    int list[3];
} stack;

void create(stack *t)
{
    t->top =-1;
}

int empty(stack *t)
{
    if(t->top == -1) return (1);
    else return(0);
}

void push(stack *t)
{
    int data;
    if (full(t) == 1)
        printf("\nStack is Full\n");
    else
    {
        printf("\nPush Data : ");
        scanf("%d",&data);
        t->top++;
        t->list[t->top] = data;
    }
}

void pop(stack *t)
{
    if(empty(t) == 1)
        printf("\nStack is Empty\n");
    else
        t->top--;
         printf("\nStack is pop!\n");
}

int full(stack *t)
{
    if (t->top == 3)
        return (1);
    else
        return (0);
}

int main()
{
    int select;
    stack t;
    create(&t);

    printf(" 1->Push \t\n 2->Pop \t\n 3->Exit\n Select :");
    scanf("%d",&select);

    while(select!=3)
    {
        switch(select)
        {
            case 1: push(&t);
                    break;

            case 2: pop(&t);
                    break;

            default:break;
        }
        printf(" 1->Push \t\n 2->Pop \t\n 3->Exit\n Select :");
        scanf("%d",&select);
    }

    return 0;
}

C: Linked List & Interchange (Swap)

Soalan :
Write a C program to create a linked list and interchange the elements to the list at position  'm' and 'n' and display contents of the list before and after interchanging the elements.

Jawapan:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

struct link
{
 int data;
 struct link *next;
};
struct link *start=NULL;

void create();
void display();
void swap();

void main()
{
 int ch;
 do
 {
  printf("\n\n--------Main Menu--------");
  printf("\n1. Create");
  printf("\n2. Swap");
  printf("\n3. Exit");
  printf("\n\nEnter Your Choice >>");
  scanf("%d",&ch);
  switch(ch)
  {
   case 1:
    create(); 
    display();
    break;
   case 2:
    swap();
    display();
    break;
   case 3:
    exit(0);
    break;
   default:
    printf("\nInvalid Choice... Try Again");
    getch();
  }/*End of switch*/
 }while(ch!=3);/*End of while loop*/
}/*End of void main()*/
void create()
{
 struct link *p,*node;
 printf("\nEnter Data >> ");
 p=(struct link*)malloc(sizeof(struct link));
 scanf("%d",&p->data);
 p->next=NULL;
 if(start==NULL)
 start=p;
 else
 {
  node=start;
  while(node->next!=NULL)
  node=node->next;
  node->next=p;
 }/*End of else*/
}/*End of void create()*/

void display()
{
 struct link *node;
 if(start==NULL)
 {
  printf("\nList Is Empty");
  getch();
 }/*End of if*/
 node=start;
 while(node!=NULL)
 {
  printf("%d ",node->data);
  node=node->next;
 }/*End of while loop*/
 getch();
}/*End of void display()*/
void swap()
{
 int m,n,i;
 struct link *node1,*node2;
 if(start==NULL)
 {
  printf("\nList Is Empty");
 }/*End of if*/
 node1=start;
 printf("\nEnter Mth Position >> ");
 scanf("%d",&m);
 for(i=0;i< m;i++)
 {
  node1=node1->next;
  if(node1==NULL)
  {
   printf("\nWrong Location Enterred..");
  }/*End of if*/
 }/*End of i for loop*/
 printf("\nEnter Nth Position >> ");
 scanf("%d",&n);
 node2=start;
 for(i=0;i< n;i++)
 {
  node2=node2->next;
  if(node2==NULL)
  {
   printf("\nWrong Location Enterred..");
  }/*End of if*/
 }/*End of i for loop*/
 node1->data=(node1->data)+(node2->data)-((node2->data)=(node1->data));
 printf("\nElement Swapped\n");
}

C: Doubly Linked List

Soalan :
Write  a C program  to perform the  following  operations  on  a doubly linked  list:
i.  To create  a list  by adding each node  at the  front.
ii.  To display  all the  elements  in  the reverse order.

Jawapan :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

struct linkedlist
{
 int item;
 struct linkedlist *right,*left;
};

typedef struct linkedlist node;

void main()
{
 node *start,*end;
 int choice;
 int menu(void);
 node *create(node **lastnode);
 void display(node *first,node *last);
 void insert(node **first,node **last);
 void del(node **first,node **last);
 printf("\n DOUBLY LINKED LIST");
 printf("\n ******************");
 do
 {
  printf("\n\nMain menu");
  printf("\n\n1.Create \n2.Insert \n3.Delete \n4.Display \n5.Exit");
  choice =menu();

  switch(choice)
  {
   case 1:
   printf("\n Enter the data(-999 to stop):");
   start=create(&end);
   continue;

   case 2:
   insert(&start,&end);
   printf("\n");
   continue;

   case 3:
   del(&start,&end);
   printf("\n");
   continue;

   case 4:
   display(start,end);
   printf("\n");
   continue;

   case 5:
   exit(0);

   default:
   printf("\n\nINVALID CHOICE...");
  }
 }while(1);
}

int menu()
{
 int choice;
 do
 {
  printf("\n Enter your choice:");
  scanf("%d",&choice);
  if(choice<1||choice>5)
  printf("\n Wrong choice");
 }
  while(choice<1||choice>5);
  printf("\n");
  return(choice);
}

node *create(node **lastnode)
{
 node *temp,*firstnode;
 int info;
 *lastnode=NULL;
 firstnode=NULL;
 scanf("%d",&info);

 while(info!=-999)
 {
  temp=(node *)malloc(sizeof(node));
  temp->item=info;
  temp->right=NULL;
  if(firstnode==NULL)
  {
   temp->left=NULL;
   firstnode=temp;
  }
 else
 {
  temp->left=(*lastnode);
  (*lastnode)->right=temp;
 }
 (*lastnode)=temp;
 scanf("%d",&info);
 }
if(firstnode!=NULL)
(*lastnode)=temp;
return(firstnode);
}

void display(node *first,node *last)
{
 printf("\n Forward traversal\n");
 while(first!=NULL)
 {
  printf("%d\t",first->item);
  first=first->right;
 }
  printf("\n Backward traversal\n");
  while(last!=NULL)
  {
   printf("%d\t",last->item);
   last=last->left;
  }
  return;
}

void insert(node **first,node **last)
{
 node *newnode;
 int newitem;
 int position;
 node *temp;
 int i;
 printf("\n New data item:");
 scanf("%d",&newitem);
 do
 {
  printf("\n Position of insertion:");
  scanf("%d",&position);
 }
 while(position<=0);
 if(((*first)==NULL)||(position==1))
 {
  newnode=(node *)malloc(sizeof(node));
  newnode->item=newitem;
  newnode->right=*first;
  newnode->left=NULL;
  if((*first)!=NULL)
  (*first)->left=newnode;
 else
 (*last)=newnode;
 *first=newnode;
 }
 else
 {
  i=1;
  temp=*first;
  while((i<position-1)&&(temp->right!=NULL))
  {
   i++;
   temp=temp->right;
  }
  newnode=(node *)malloc(sizeof(node));
  newnode->item=newitem;
  newnode->right=temp->right;
  if(temp->right!=NULL)
  temp->right->left=newnode;
  newnode->left=temp;
  temp->right=newnode;
 }
 if(newnode->right==NULL)
 *last=newnode;
}

void del(node **first,node **last)
{
 node *temp,*prev;
 int target;
 printf("\n Enter the data to be deleted:");
 scanf("%d",&target);

 if(*first==NULL)
  printf("\n List is empty");
 else if((*first)->item==target)
 {
  if((*first)->right==NULL)
  *first=*last=NULL;

  else
  {
   *first=(*first)->right;
   (*first)->left=NULL;
  }
 }
 else
 {
  temp=*first;
  prev=NULL;
  while((temp->right!=NULL)&&(temp->item!=target))
  {
   prev=temp;
   temp=temp->right;
  }
  if(temp->item!=target)
  printf("\n Element not found");
  else
  {
   if(temp==*last)
   *last=prev;
   else
   temp->right->left=temp->left;
   prev->right=temp->right;
  }
 }
}

C : Singly Linked List

Soalan :
Write a C program to simulate an ordinary queue using a singly linked list.

Jawapan:
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<stdlib.h>

struct node
{
 int data;
 struct node *link;
}; struct node *cur,*first,*last;

 void create();
 void insert_rear();
 void delete_front();
 void display();

void create()
{

 printf("\n Enter the first element: ");
 cur=(struct node *)malloc(sizeof(struct node));
 scanf("%d",&cur->data);
 cur->link=NULL;
 first=cur;
 last=cur;
}

void insert_rear()
{
 printf("\n Enter the next element: ");
 cur=(struct node *)malloc(sizeof(struct node));
 scanf("%d",&cur->data);
 cur->link=NULL;
 last->link=cur;
 last=cur;
}
void delete_front()
{
 if(first==NULL)
 {
  printf("\t\n Queue is empty\n");
 }
 else
 {
  cur=first;
  first=first->link;
  cur->link=NULL;
  printf("\n Deleted element is %d\n",cur->data);
  free(cur);
 }
}
void display()
{
 cur=first;
 printf("\n");
 while(cur!=NULL)
 {
  printf("\t%d",cur->data);
  cur=cur->link;
 }
}

void main()
{
 int ch;
 system("cls");
 create();
 display();
 while(1)
 {
  printf("\n--------------------------");
  printf("\n 1.INSERT \n 2.DELETE \n");
  printf("\n Enter your choice >> ");
  scanf("%d",&ch);

  switch(ch)
  {
   case 1:
    insert_rear();
    display();
    break;
   case 2:
    delete_front();
    display();
    break;
   default:
    exit(0);
  }
 }
}

C: Siapa yang loop dan berapa nilai x ?

Assalamualaikum dan salam sejahtera, aturcara ringkas yang aku tulis untuk memudahkan beginner memahami teknik asas looping. Semoga aturcara ini dapat membantu mereka yang ingin / mula berjinak dalam bidang pengaturcaraan. Yosh!
#include <stdio.h>
int main()
{
 int big = 10, x=1;
 printf("start = %d\n",x);
 for (x=2;x<3;x++)
 {
  printf("inner = %d\n",x );
 }
 printf("outer = %d\n",x);
    return 0;
}

8086 : Convert String Number To Binary

name "str2bin"
; convert string number to binary!
; this program written in 8086 assembly language to
; convert string value to binary form.
; this example is copied with major modifications
; from macro "scan_num" taken from c:\emu8086\inc\emu8086.inc
;
; the original "scan_num" not only converts the string number
; but also reads the string from the keyboard and supports
; backspace key, this example is a shorten version
; of original "scan_num" macro.
; here we assume that the string number is already given,
; and the string number does not contain non-digit chars
; and it cannot cause buffer overflow (number is in word range
; and/or has only 4 digits).
; negative values are allowed in this example.
; the original "scan_num" does not allow to enter non-digits
; and it also checks for buffer overflow.
; you can the original file with other macro definitions
; in c:\emu8086\inc\emu8086.inc
org 100h
jmp start
; text data:
msg1 db 0Dh,0Ah, " enter any number from -32768 to 65535 inclusive, or zero to stop: $"
msg2 db 0Dh,0Ah, " binary form: $"
; buffer for int 21h/0ah
; fist byte is buffer size,
; second byte is number of chars actually read (set by int 21h/0ah).
buffer db 7,?, 5 dup (0), 0, 0
; for result:
binary dw ?
start:
; print welcome message:
mov dx, offset msg1
mov ah, 9
int 21h
; input string:
mov dx, offset buffer
mov ah, 0ah
int 21h
; make sure the string is zero terminated:
mov bx, 0
mov bl, buffer[1]
mov buffer[bx+2], 0
lea si, buffer + 2 ; buffer starts from third byte.
call tobin
; the number is in cx register.
; for '-1234' it's 0fb2eh
mov binary, cx
jcxz stop
; print pre-result message:
mov dx, offset msg2
mov ah, 9
int 21h
; print result in binary:
mov bx, binary
mov cx, 16
print: mov ah, 2 ; print function.
mov dl, '0'
test bx, 1000000000000000b ; test first bit.
jz zero
mov dl, '1'
zero: int 21h
shl bx, 1
loop print
; print binary suffix:
mov dl, 'b'
int 21h
jmp start ; loop
stop:
ret ; return control to the operating system.
; this procedure converts string number to
; binary number. number can have a sign ('-').
; the result is stored in cx register.
; parameters:
; si - address of string number (zero terminated).
tobin proc near
push dx
push ax
push si
jmp process
;==== local variables ====
make_minus db ? ; used as a flag.
ten dw 10 ; used as multiplier.
;=========================
process:
; reset the accumulator:
mov cx, 0
; reset flag:
mov cs:make_minus, 0
next_digit:
; read char to al and
; point to next byte:
mov al, [si]
inc si
; check for end of string:
cmp al, 0 ; end of string?
jne not_end
jmp stop_input
not_end:
; check for minus:
cmp al, '-'
jne ok_digit
mov cs:make_minus, 1 ; set flag!
jmp next_digit
ok_digit:
; multiply cx by 10 (first time the result is zero)
push ax
mov ax, cx
mul cs:ten ; dx:ax = ax*10
mov cx, ax
pop ax
; it is assumed that dx is zero - overflow not checked!
; convert from ascii code:
sub al, 30h
; add al to cx:
mov ah, 0
mov dx, cx ; backup, in case the result will be too big.
add cx, ax
; add - overflow not checked!
jmp next_digit
stop_input:
; check flag, if string number had '-'
; make sure the result is negative:
cmp cs:make_minus, 0
je not_minus
neg cx
not_minus:
pop si
pop ax
pop dx
ret
tobin endp
view raw gistfile1.asm hosted with ❤ by GitHub

ISU MENGENAI SIKAP PELAJAR UTHM

Assalamualaikum dan salam sejahtera, Hari ini aku menulis sesuatu yang agak peribadi dan menyentuh tentang sikap kemanusian di kalangan mahasiswa tempatan. Secara terus terang dan telus aku letakkan tajuk mengenai UTHM, berharap agak penulisan ini akan menjadi bahan bacaan agak kita semua dapat membaiki kelemahan yang sudah lama wujud ini. Sebuah artikel yang akan menyentuh satu belah pihak sahaja iaitu pelajar. secara asasnya kandungan intipati Universiti Tun Hussein Onn Malaysia ini adalah terdiri daripada pelajar mengerakkan hala tuju universiti ini.

Bermula mengenai pemikiran logik dan membuat keputusan kritikal, saya perhatikan ramai mahasiswa lemah dan tak mampu untuk memahami sesuatu situasi dengan baik. Sekaligus ramai membuat keputusan secara suka-suka dan melulu. Tanpa memikirkan mengenai kesan yang mungkin timbul serta spekulasi yang wujud. Sebagai contoh mudah, saya cuba terang mengenai perkara ini melalui situasi di mana terdapat sekumpulan mahasiswa yang terdiri daripada 5 orang ahli kumpulan sedang berkumpul sebagai persediaan penyampaian projek mereka. Dalam perbincangan tersebut, mereka memilih untuk membuat undi melalui teknik "kotak beracun", maka sesiapa yang terpilih akan membuat penyampaian. Di sini kita dapat lihat, berlaku tidak keberkesanan dalam membuat keputusan. Mereka sepatutnya berkumpul dan berbincang dan meletakkan stategi yang sesuai untuk membuat penyampaian yang berkesan. Mereka juga haruslah bersikap adil. Tindakan tanpa menitik beratkan kesan yang mungkin berlaku menunjukkan pemikiran logik adalah amat rendah dan berlakulah keputusan kritikal yang lemah.

Pembaziran masa berbincang, daripada pandangan saya. Perbincang kerja dalam berkumpulan sudah menjadi tidak berkesan. Komunikasi telah menjadi kurang efektif. Terlalu ramai yang pandai bercakap, namun sayangnya hanya tin kosong yang kuat berbunyi. Perbincangan yang sepatutnya membawa kepada penyelesaian masalah tidak lagi sesuai. Mereka yang pandai mengunakan kata-kata telah menabur banyak janji manis dan palsu. Kebanyakan masih lagi tidak mampu untuk bertindak. Akhirnya perbincangan hanya tinggal perbincangan. Kerja langsung tak terjalan, masalah tiada penyelesaian dan masa terhakis dibazir oleh waktu perbincangan yang terlalu panjang. Para mahasiswa harus meletakan bom masa dalam perbincangan. Perhatikan siapa yang berkaliber dan mampu untuk membawa penyelesaian. Pastikan bukan mereka yang hanya pandai bercakap sahaja tetapi mampu bertindak.

Adab serta tatasusila juga penting bagi seseorang yang bergelar mahasiswa. Bukalah mata dan lihatlah ke dunia sebenar. Hormatilah mereka yang patut dihormati. Berbeza pula dengan hormatilah mereka yang tua. Pada dasarnya, kita berada di universiti yang dipacu oleh staff dan pensyarah. Namun mereka bukannya sempurna, ada kalanya perasaaan ego dan cuba mengambil kesempatan datang di godaan syaitan yang di rejam. Jangan takut bersuara dan bertindak. Perjuangkanlah hak kamu. Jangan terikat atas adab dan adat. Jangan biarkan kesilapan orang atasan di letakkan atas bahu kita dan dipersalahkan atas silap yang tidak kita lakukan. Hormatilah mereka yang memahami erti hormat antara satu sama lain dan jagalah tatasusila dalam perjuangan kamu. Jangan pula terlalu ikutkan darah muda dan pengalaman yang cetek kamu. Realisasikan pandangan dan wawasan yang jauh kehadapan.

Rabu, Mei 22, 2013

C: Tahun Lompat

#include<stdio.h>
int main(){
    int year;
    printf("Masukkan tahun: ");
    scanf("%d",&year);
    if(((year%4==0)&&(year%100!=0))||(year%400==0))
         printf("%d adalah tahun lompat\n",year);
    else
         printf("%d bukan tahun lompat\n",year);
    return 0;
}

C: Kira berapa bilangan huruf dan patah perkataan

#include<stdio.h>
#include<conio.h>
int main()
{
 int count_words=0,count_char=0,i;
 char str[20];
 printf("Masukkan teks : ");
 gets(str);
 for(i=0; str[i]!=NULL; i++)
 {
   count_char++;
   if(str[i]==' ')
      count_words++;
 }
 printf("\nBil huruf     : %d",count_char);
 printf("\nBil perkataan : %d",count_words+1);
 getch();
 return 0;
}

Selasa, Mei 21, 2013

Cara membaiki root:x:0:0:root:/root:/bin/bash^M

Masalah ni muncul apabila tak dapat untuk akses SSH ke server dan bila disemak pada bahagian /etc/passwd dihujungnya menjadi ^M . Contohnya :

root:x:0:0:root:/root:/bin/bash^M

Cara untuk membaiki masalah tersebut:

==============================
1) run as single user
2) fix vi /etc/passwd remove ^M
3) boot up

Sekian dan wassalam ~
Sumber : https://www.facebook.com/LowKey88/posts/4799118298324

Isnin, Mei 20, 2013

C : Fungsi perpustakaan atoi()

Assalamualaikum & salam sejahtera.. Hari ni aku jumpa 1 fungsi yang sangat menarik untuk dikongsikan berkaitan pengaturcaraan bahasa C. Terdapat satu fungsi terbina daripada fail perpustakaan <stdlib.h> yang boleh manipulasikan string dan integer. Bertindak untuk menapis parameter yang di hantar kepadanya kepada nilai integer sahaja.Fungsi yang dimaksudkan ialah atoi() , juga dikenali sebagai ASCII to Integer.

Fungsi int atoi(const char *str) akan menukar parameter str kepada integer (int). Fungsi ini akan membuang whitespace yang terkandung dalam parameter yang dihantar kepadanya terlebih dahulu. Sekiranya fungsi ini tidak memenuhi kehendak, maka ia akan memulangkan nilai 0.

Contoh aturcara :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int val;
   char str[20];

   strcpy(str, "1234567890");
   val = atoi(str);
   printf("String value = %s, Int value = %d\n", str, val);

   strcpy(str, "0x2013.blogspot.com");
   val = atoi(str);
   printf("String value = %s, Int value = %d\n", str, val);

   return(0);
}

Hasil :
String value = 1234567890, Int value = 1234567890
String value = 0x2013.blogspot.com, Int value = 0

Itu sahaja daripada saya. Semoga bermanfaat. Sekian terima kasih. Wassalam ~

Sabtu, Mei 18, 2013

JAVA : Menghubungkan Pangkalan Data Oracle Melalui JDBC

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
 
/**
 * Simple Java Program to connect Oracle database by using Oracle JDBC thin driver
 * Make sure you have Oracle JDBC thin driver in your classpath before running this program
 * @author
 */
public class OracleJdbcExample {
 
    public static void main(String args[]) throws SQLException {
        //URL of Oracle database server
        String url = "jdbc:oracle:thin:@localhost:1632:DEVROOT32";
 
        //properties for creating connection to Oracle database
        Properties props = new Properties();
        props.setProperty("user", "scott");
        props.setProperty("password", "tiger");
 
        //creating connection to Oracle database using JDBC
        Connection conn = DriverManager.getConnection(url,props);
 
        String sql ="select sysdate as current_day from dual";
 
        //creating PreparedStatement object to execute query
        PreparedStatement preStatement = conn.prepareStatement(sql);
 
        ResultSet result = preStatement.executeQuery();
 
        while(result.next()){
            System.out.println("Current Date from Oracle : " +result.getString("current_day"));
        }
        System.out.println("done");
 
    }
}

C++ : Menukar Nilai Decimal Kepada Binari

#include <iostream>
using namespace std;
int main()
{
    long dec,rem,i=1,sum=0;
    cout<<"Enter the decimal to be converted:";
    cin>>dec;
    do
    {
        rem=dec%2;
        sum=sum + (i*rem);
        dec=dec/2;
        i=i*10;
    }while(dec>0);
    cout<<"The binary of the given number is:"<<sum<<endl;
    cin.get();
    cin.get();
    return 0;
}

C++ : Menukar Nilai Heximal Kepada Binari

#include<stdio.h>
#include<conio.h>

int main()
{
    int d,n,i,j,a[50];

    printf("Enter a number:");
    scanf("%d",&n);

    if(n==0)
        printf("\nThe binary conversion of 0 is 0");
    else
        {
            printf("\nThe binary conversion of %d is 1",n);

        for(i=1;n!=1;++i)
        {
            d=n%2;
            a[i]=d;
            n=n/2;
        }
        for(j=i-1;j>0;--j)
            printf("%d",a[j]);
        }
        getch();
    return (0);
}

Jumaat, Mei 17, 2013

8086 : Programming Tahap Otai! (Emu8086)

Menggunakan Emulator-8086
Kod Aturcara :
TITLE DISPLAY(EXE) STRING USING 09 FUNCTION
.MODEL SMALL
.STACK 64
.DATA
STRING DB 'PROGRAMMING TAHAP OTAI!$'
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
CALL DISPLAY
MOV AX,4C00H
INT 21H
MAIN ENDP
DISPLAY PROC NEAR
LEA DX,STRING
MOV AH,09H
INT 21H
RET
DISPLAY ENDP
END MAIN
view raw otai.asm hosted with ❤ by GitHub

Khamis, Mei 16, 2013

C : Caesar Cipher

#include <stdio.h>

void encrypt(int shift);

int main(void)
{
 int shift;
 int decOrEnc;
 
 printf("Amount of shifts: ");
 scanf("%d", &shift);
 if (shift < 0)
 {
  printf("Bad Input.");
  return 0;
 }
 printf("Type 1 to encrypt or 0 to decrypt: ");
 scanf("%d", &decOrEnc);
 if (decOrEnc != 0 && decOrEnc !=1)
 {
  printf("Bad Input.");
  return 0;
 }
 while(getchar() != '\n');
 if (decOrEnc == 1)
  encrypt(shift);
 else
 {
  shift = -1 * shift;
  encrypt(shift);
 }
 return 0;
}

void encrypt(int shift)
{
 char ch;
 printf("Please enter a string: ");
 ch = getchar();
 while(ch != '\n')
 {
  if (ch == ' ')
   putchar(ch);
  else
  {
   if(shift == 1)
    putchar(ch + shift);
   else
    putchar(ch - shift);
  }
  ch = getchar();
 }
 putchar(ch);
}

Rabu, Mei 15, 2013

Berita Harian - Risiko kemalangan jalan raya di Parit Raja semakin tinggi (Khamis - 24.3.2011])

Selasa, Mei 14, 2013

Kemalangan Bas Sikun Jaya UTHM ( 14 Mei 2013 )

Assalamualaikum & salam sejahtera, Seperti biasa ada sahaja berlaku kemalangan di jalan raya hadapan kawasan Universiti Tun Hussein Onn. Hari ini, berlaku kemalangan membabitkan pengangkutan awam universiti iaitu perkhidmatan bas ulang-alik. Kemalangan melibatkan sebuah bas Sikun melanggar jentera berat backhole ditepi jalan. Kemalangan ini berlaku kira-kira jam 10 pagi, 14 Mei 2013.

Berdasarkan sumber yang diperolehi kemalangan berlaku adalah daripada kesilapan pemandu bas Sikun Jaya kerana merempuh belakang jentera berat backhole yang berada di tepi jalan raya tersebut. 

Berdasarkan gambar di atas, papan tanda awas telah diletakkan di tepi jalan. Namun malang tidak berbau. Untuk kupasan, laluan lurus daripada Parit Raja sehingga hadapan Universiti Tun Hussein Onn menuju ke bandar Batu Pahat adalah antara jalan yang paling sibuk di Malaysia. Kebanyakkan pemandu tidak membawa kenderaan secara selamat dan berhemah. Ramai pemandu memecut dengan laju ketika membawa kenderaan masing-masing. Keadaan jalan yang berlubang dan bumping juga salah satu faktor yang menyumbang kepada kemalangan. Suasana bertambah sibuk dan berbahaya pada waktu kemuncak. 

Pejalan kaki juga sangat risau untuk melintas jalan raya dihadapan UTHM. Ramai pemandu dan pembonceng yang melanggar lampu isyarat tanpa memikirkan keselamatan pengguna jalan raya yang lain. 

Sikap penduduk kampung yang keluar masuk simpang perkampungan (parit-parit) dengan kenderaan masing-masing  secara mengejut juga adalah amat tidak wajar.   Pesanan saya, sama-samalah kita menjaga keselamatan diri dan orang lain. Wassalam ~





Sabtu, Mei 11, 2013

Kehidupan Pelajar Universiti

Semakin hari semakin membosankan
Assalamualaikum & salam sejahtera kepada pembaca blog ini. Dengan pantas masa berlalu, hanya tinggal 29 hari sahaja sebelum peperiksaan akhir semester sewaktu artikel ini ditulis. Banyak kerja yang perlu disiapkan. Coretan kehidupan mahasiswa semakin membebankan.

Kadang-kadang aku tertanya, adakah memang menjadi tali ukur seseorang mahasiswa melalui pencapaian akademiknya sahaja. ? Bagaimana pula dengan pensyarah? Dalam semester ini, ada beberapa kelas aku hadiri mempunyai tenaga pengajar yang entah apa-apa. Mengajar pun tak reti, tapi demand dengan pelajarnya. Masalah sungguh kalau macam ni. Macam mana lah pensyarah macam ni boleh ada kat Universiti Tun Hussein Onn ni. 

Banyak subjek aku kena ulang kaji sendiri. Datang kelas langsung aku tak dapat apa-apa input. Pensyarah asyik baca slide je. Oh, ya.. slide tu pun pensyarah ambil daripada sumber internet (slide yang dah siap). Kreadit hasil kerja asal pun dipadam dan pensyarah tersebut meletakkan nama dia. Bukankah itu plagiat ? Disebabkan adanya slide yang "siap untuk digunakan" yang boleh dimuat-turun dari internet membuatkan pensyarah kurang bersedia. Mereka datang mengajar pelajar untuk membaca sahaja. Bukan menurunkan ilmu. Oh, ya aku agak menyampah bila pensyarah mengeluarkan kata-kata "kami dulu belajar cari nota sendiri". Yelah tu, kamu buat nota pun "cari sendiri" kan?

Berbalik pula kepada pelajar. Dalam aktiviti berkumpulan untuk menyiapkan tugasan atau projek. Mahasiswa patutnya mempunyai stategi untuk menang dan berjaya. Tapi malangnya pelbagai masalah yang timbul. Terutamanya sleeping-partner yang memang membuatkan aku rasa geram sangat. Ada juga sikap sesetengah pelajar yang ambil lewa. Maklumlah dah rasa diri tu terlalu pandai.

Sampai disini sahaja aku menulis. Sekadar meluahkan pada yang tak senang dihati ini. Wassalam~