On Tue, Nov 30, 2004 at 07:47:02PM +0700, Arief Yudhawarman wrote:
>   kmk       'JPP-201  MNA-202  MNA-203           PPJ-201'
>   nilai     'B   C'
> 
...

> Saya bermaksud me-normalisasi-kan database ini dg
> script php yg saya buat.

Menormalisasikan dalam konteks database itu artinya mengurangi
duplikasi data (flat tables vs relational tables). Yang anda coba
lakukan saya rasa bukan normalisasi.

> PErtama script php harus tahu bagaiman
> korelasi antara field kmk dengan nilai:
> 
>   kmk       nilai asli   nilai baru
>   JPP-201     B            B
>   MNA-202                  T
>   MNA-203                  T
>   PPJ-201     C            C
> 
> untuk ini saya memakai fungsi preg_split, yg menjadi masalah bagaimana
> data kmk bisa dipecah shg bisa bersesuain isinya dg data nilai spt
> di atas. Data nilai bisa dipecah menjadi array nilai dg ini:
> 
> $arr_nilai = preg_split ('/[ ]/', $nilai);

Penggunaan '[..]' (set/class) di atas superfluous, cukup / /.

> Array 
> (
>     [0] => C
>     [1] => 
>     [2] => 
>     [3] => 
>     [4] => B
> )

Ini aja inputnya udah nggak bener. Bukannya mestinya array elementsnya
cuma 4, kok malah 5? Spasinya kelebihan satu?

> Tapi untuk data kmk dimana pembatasnya berupa 2 spasi, jika saya
> pakai analogi yg sama maka akan dihasilkan:
> 
> $arr_kmk = preg_split ('/[ ]{2}/', $kmk
> 
> Array
> (
>     [0] => JPP-201
>     [1] => MNA-202
>     [2] => MNA-203
>     [3] => 
>     [4] => 
>     [5] => 
>     [6] => 
>     [7] =>  PPJ-201
> )
> 
> Jadi terlalu banyak yg dihasilkan.

Datanya aja udah nggak bener. Antara MNA-203 dan PPJ-201 jumlah
spasinya ganjil, makanya di [7] itu ada satu spasi di depan PPJ-201.

Kalo anda mau suppress semua delimiter (2 spasi) yang tidak ada
datanya, tinggal pake repetition aja:

/(  )+/

Ini asumsinya nilai hanya terisi sejumlah mata kuliah yg ada isinya
jadi nilai yg di atas kalo bener 4 biji maka bisa disuppress yg null
delimitersnya (yg gak ada isinya).

Garbage In, Garbage Out. Kalo inputnya aja udah nggak bener mah udah
ngeselin kalo saya yg disuruh begini, hehe. Mending dikonfirmasi lagi
yg jelas itu datanya patternnya seperti apa, biar exact.

Anyway, ini mungkin lebih tepat ditanyakan di milis linux-programming,
banyak programmer jago2 yg mungkin nggak nongkrong di milis
tanya-jawab.

Ronny

Attachment: pgpiwdz9vsSKa.pgp
Description: PGP signature

Kirim email ke