Access Denied even if permission is given I have this module, as admin users I can access this module normally. But when I add permission to other roles (and it saved), other users who have the permimssion couldn't access it. Please help me.

This is the code.

include_once(drupal_get_path('module', 'tb') .'/tb.menu.inc');
include_once(drupal_get_path('module', 'tb') .'/tb.inc');

function tb_perm() {
  global $user;
  return array('trial_balance');
}

function tb_menu() {
  global $user;
  $items = array();

  $items['akuntansi/tb'] = array(
    'title' =&gt; 'Trial Balance',
  'type' =&gt; MENU_NORMAL_ITEM,
    'page callback' =&gt; 'tb_neracapage',
    'file' =&gt; 'tb.inc',
    'access arguments' =&gt; array('akuntansi'),
    'access callback' =&gt; TRUE,
    //'type' =&gt; MENU_CALLBACK,
  );

  $items['akuntansi/tb/pdf'] = array(
    'page callback' =&gt; 'tb_neracapage_pdf',
    'file' =&gt; 'tb.inc',
    'access arguments' =&gt; array('akuntansi'),
    'type' =&gt; MENU_CALLBACK,
  );
$items['akuntansi/tb/xls'] = array(
    'page callback' =&gt; 'tb_neracapage_xls',
    'file' =&gt; 'tb.inc',
    'access arguments' =&gt; array('akuntansi'),
    'type' =&gt; MENU_CALLBACK,
  );

  return $items;
}

?&gt;
Your implementation of hook_perm() (which is not valid for Drupal 7), only defines the trial_balance permission, not the akuntansi permission your code is trying to use.
The fact the user #1 has the permission to see those pages is just because the user #1 by-passes all the permissions; in fact, user_access() returns TRUE for that user.

  // User #1 has all privileges:
  if ($account-&gt;uid == 1) {
    return TRUE;
  } 


To make it clear, without explicitly setting an access callback, the access arguments are expected to be an array with the user permission string, which in your case would be trial_balance.  

If the module is for Drupal 7, then hook_perm() is not even used; instead, Drupal 7 uses hook_permission(), which is not a simple renaming of the previous hook. It is expected to return a differently structured array; using the same array as Drupal 6, will cause it to not properly work.