Arsip: Pengelompokan data menggunakan Array

more 15 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.

more 15 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.

more 15 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.
more 15 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.

more 15 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.

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

more 15 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

more 15 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).
more 15 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)
more 15 years ago
telkom_1
Thanx buat rekan2 yang udah reply,
saya coba dulu.
kalo sudah akan saya kabari lagi. :)
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago
Random Topic
- ada yang tau cara disable systemtime change?
by $tring in OOT more 13 years ago - print continous form supaya tidak lompat halaman
by felly in Kritik & Saran more 15 years ago - Program deadline <tanya>
by jerry in Tip n Trik Pemrograman more 15 years ago - mengatasi eror saat memasukkan data delphi 7 ke sql server
by willyalves in Tip n Trik Pemrograman more 13 years ago - Login password dgn ADO
by camp_sire in Tip n Trik Pemrograman more 15 years ago - [ASK] tanya masalah searching
by duro in Network, Files, I/O & System more 13 years ago - Gimana cara tampilkan button on custom preview fastreport3?
by yoebhe in Tip n Trik Pemrograman more 16 years ago - scan port tcp error trus
by indah_tcp in Hal umum tentang Pascal Indonesia more 17 years ago - Client gak bisa connect ke MySQL server
by rusli_chow in Tip n Trik Pemrograman more 14 years ago - Setup Dependencies.
by langithitam in Tip n Trik Pemrograman more 15 years ago