This study aims to explain the way of native teacher and non-native teachers do code switch during classroom interaction, to describe the types of code-switching, to explain the factors that cause the occurrence of code-switching, and to explain the functions of code-switching in English teaching learning process used by native teacher and non-native teacher. This study uses descriptive qualitative since this study is to analyze and find the social phenomena which are running naturally based on Hoffman theory to describe code-switching in English teaching learning process. There are three types of code-switching: inter-sentential, intra-sentential, and emblematic-switching. The result shows that all of the three types found in this study used by native teacher and non-native teacher. Furthermore, the most type used by native teacher and non-native teacher is intra-sentential code-switching. Besides, the most dominant factors that cause the occurrence of code-switching is talking about particular topic since to help the learners understand the meaning of the topic. Moreover, the most significant functions of code-switching to teachers is affective function since the teacher wanted to build intimate relations with the students and the most dominant function to students is conflict-control since the students used code-switching to avoid misunderstanding of teachers’ explanation.