Arsip: Pengelompokan data menggunakan Array

 
user image
more 16 years ago

telkom_1

halo.. semuanya... saya mau nanya neh... saya punya data seperti ini: --------------------- No. a b c d e ---------------------- 1. 1 2 1 1 1 2. 2 1 2 1 2 3. 2 1 1 3 1 4. 1 2 2 1 1 ---------------------- Data tersebut saya simpan dalam array data[x,y] --> dimana x adalah kolom dan y adalah baris. mis : Data[1,3] = 2; Data[4,3] = 3; saya ingin mengelompokkan nomor data tersebut perkolom : kolom a : (1,4),(2,3) . . kolom e; (1,3,4),(2) kira2 bagaimana cara yang paling tepat ya? mohon bantuannya.
user image
more 16 years ago

telkom_1

halo.. semuanya... saya mau nanya neh... saya punya data seperti ini: --------------------- No. a b c d e ---------------------- 1. 1 2 1 1 1 2. 2 1 2 1 2 3. 2 1 1 3 1 4. 1 2 2 1 1 ---------------------- Data tersebut saya simpan dalam array data[x,y] --> dimana x adalah kolom dan y adalah baris. mis : Data[1,3] = 2; Data[4,3] = 3; saya ingin mengelompokkan nomor data tersebut perkolom : kolom a : (1,4),(2,3) . . kolom e; (1,3,4),(2) kira2 bagaimana cara yang paling tepat ya? mohon bantuannya.
user image
more 16 years ago

betamax

mungkin kalo ga salah tangkep... Array 2 dimensi yah ? mungkin Pake looping dalam looping mas / Fungsi Recursif, bisa membantu

x:= 5
y:= 5
For a := 1 to x do
  begin
   For b := 1 to y do
     begin
        Data[a,b] := 'datake' + dateke;
        inc(datake);
     end;
  end;
catatan : Data di deklarasikan sebagai variabel array dynamic / 2 dimensi.
user image
more 16 years ago

telkom_1

Saya masih kurang mengerti mas, singkatnya, yang saya maksud adalah membuat group data per kolom, data dikelompokkan/ groupkan adalah nomor datanya berdasarkan nilainya: --------------------- No. a b c d e ---------------------- 1. 1 2 1 1 1 2. 2 1 2 1 2 3. 2 1 1 3 1 4. 1 2 2 1 1 ---------------------- kolom a : (1,4) dan (2,3) kolom b : (1,4) dan (2,3) kolom c : (1,3) dan (2,4) kolom d : (1,3,4) dan (2) kolom e : (1,3,4) dan (2) terima kasih.
user image
more 16 years ago

telkom_1

Saya masih kurang mengerti mas, singkatnya, yang saya maksud adalah membuat group data per kolom, data dikelompokkan/ groupkan adalah nomor datanya berdasarkan nilainya: --------------------- No. a b c d e ---------------------- 1. 1 2 1 1 1 2. 2 1 2 1 2 3. 2 1 1 3 1 4. 1 2 2 1 1 ---------------------- kolom a : (1,4) dan (2,3) kolom b : (1,4) dan (2,3) kolom c : (1,3) dan (2,4) kolom d : (1,2,4) dan (3) kolom e : (1,3,4) dan (2) terima kasih.
user image
more 16 years ago

betamax

weks. ada yg mudeng ga maksud te mas telkom_1 ? bahasa planet mode on :( om delojik kae.. :D
user image
more 16 years ago

MrLee

contoh nya ; ngak ngerti; kolompok dan kolom ngak nyambung; mohn di perjelas; klu dr table yg saya lihat kolom a itu grup nya 1,2,2,1 b itu grup nya 2,1,1,2 nah yg bener itu yg mana :D
user image
more 16 years ago

_lmz

Maksudnya mungkin seperti ini: --------------------- No. a b c d e ---------------------- 1. 1 2 1 1 1 2. 2 1 2 1 2 3. 2 1 1 3 1 4. 1 2 2 1 1 ---------------------- kolom a : (1,4) dan (2,3) kolom b : (1,4) dan (2,3) kolom c : (1,3) dan (2,4) kolom d : (1,2,4) dan (3) kolom e : (1,3,4) dan (2) Kita anggap dimasukkan ke tabel database SQL seperti:

Kolom Baris Isi
'a', 1, 1
'a', 2, 2
'a', 3, 2
'a', 4, 1
'b', 1, 2
dst...
Maka: yang diminta adalah melakukan SELECT kolom, isi, GROUP_CONCAT(baris ORDER BY baris) GROUP BY kolom, isi ORDER BY kolom, isi jadi hasilnya: 'a', 1, '1,4' 'a', 2, '2,3' 'b', 1, '2,3' 'b', 2, '1,4' dst. makanya kolom a -> (1,4) dan (2,3), kolom b -> (2, 3) dan (1, 4).
user image
more 16 years ago

_lmz

Karena nganggur pada malam minggu...

type
t_c = 'a'..'e'; t_r = 1..4;
t_a = array [t_c, t_r] of integer;
t_srt = record
  orig_r : t_r;
  isi : integer;
end;
t_a_tmp = array [t_c, t_r] of t_srt;
function cmp_tmp(const a, b : t_srt) : integer;
begin
  if a.isi < b.isi then begin
    cmp_tmp := -1;
  end
  else if a.isi > b.isi then begin
    cmp_tmp := 1;
  end
  else begin
    if a.orig_r < b.orig_r then begin
      cmp_tmp := -1;
    end
    else if a.orig_r > b.orig_r then begin
      cmp_tmp := 1;
    end
    else begin
      cmp_tmp := 0;
    end;
  end;
end;
procedure group(const a: t_a; var tmp : t_a_tmp);
var c : t_c; r, r2 : t_r; tmp_srt : t_srt;
begin
  for c := Low(t_c) to High(t_c) do begin
    for r := Low(t_r) to High(t_r) do begin
      tmp[c,r].orig_r := r;
      tmp[c,r].isi := a[c,r];
    end;
  end;
  {sort tmp bds isi, orig_r}
  for c := Low(t_c) to High(t_c) do begin
    for r := Low(t_r) to High(t_r) do begin
      for r2 := Low(t_r) to High(t_r)  - 1 do begin
        if cmp_tmp(tmp[c,r2], tmp[c,r2+1]) > 0 then begin
          tmp_srt := tmp[c,r2];
          tmp[c,r2] := tmp[c,r2+1];
          tmp[c,r2+1] := tmp_srt;
        end;
      end;
    end;
  end;
end;
procedure print_tmp(const tmp : t_a_tmp);
var c : t_c; r : t_r; n : boolean; p: integer;
begin
  p := -1;
  for c := Low(t_c) to High(t_c) do begin
    write('Kolom ', c, ': (');
    for r := Low(t_r) to High(t_r) do begin
      if (r <> Low(t_r)) and (p <> tmp[c,r].isi) then begin
        write('), (');
      end;
      if (r = Low(t_r)) or (p <> tmp[c,r].isi) then begin
        write(tmp[c,r].orig_r);
      end
      else begin
        write(', ', tmp[c,r].orig_r);
      end;
      p := tmp[c,r].isi;
    end;
    writeln(')');
  end;
end;
var
  arr : t_a;
  tmp : t_a_tmp;
begin
  arr['a', 1] := 1;
  arr['a', 2] := 2;
  arr['a', 3] := 2;
  arr['a', 4] := 1;
  arr['b', 1] := 2;
  arr['b', 2] := 1;
  arr['b', 3] := 1;
  arr['b', 4] := 2;
  arr['c', 1] := 1;
  arr['c', 2] := 2;
  arr['c', 3] := 1;
  arr['c', 4] := 2;
  arr['d', 1] := 1;
  arr['d', 2] := 1;
  arr['d', 3] := 3;
  arr['d', 4] := 1;
  arr['e', 1] := 1;
  arr['e', 2] := 2;
  arr['e', 3] := 1;
  arr['e', 4] := 1;
  group(arr, tmp);
  print_tmp(tmp);
end.
Outputnya: Kolom a: (1, 4), (2, 3) Kolom b: (2, 3), (1, 4) Kolom c: (1, 3), (2, 4) Kolom d: (1, 2, 4), (3) Kolom e: (1, 3, 4), (2)
user image
more 16 years ago

telkom_1

Thanx buat rekan2 yang udah reply, saya coba dulu. kalo sudah akan saya kabari lagi. :)
more ...
  • Pages:
  • 1
  • 2
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com