Non-Primitive data type adalah tipe data yang tidak terdefinisi secara
default (supported) oleh suatu bahasa pemrograman melainkan
didefinisikan sendiri oleh programmer tersebut atau biasannya juga disebut
sebagai references object. Contoh dari non primitive data type ini adalah
array.
a. Array
Ketika menyimpan data maupun referensi objek dalam jumlah banyak dan
terindeks.
b. Linked List
Digunakan sebagai dasar implementasi Stacks dan Queue.
c. Stack
Ketika ingin penambahan item baru serta penghapusan, selalu terjadi pada tempat
atau ujung yang sama.
d. Queue
Ketika ingin penambahan itemnya terjadi pada sebuah ujung yang biasa disebut sebagai
“ekor” atau (rear) dan untuk penghapusannya, terjadi pada ujung yang satunya.
e. Tree
Ketika ingin membuat bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen.
f. Graph
Ketika ingin menghubungkan dengan berbagai garis tertentu. Garis tersebut memiliki
dua macam. ada yang memiliki arah dan ada yang tidak memiliki arah. Nah, tipe graph
ini sering digunakan dalam kehidupan sehari-hari.